Palm OS Jeremy Etzkorn Paul Rutschky Adam Lee Amit Bhatia Tony Picarazzi.

Slides:



Advertisements
Similar presentations
Palm OS Frederick Penrose, Kevin Wong, and Hoan Do.
Advertisements

An Overview of Palm OS n Designed for special hardware –small screen ( 160 x 160 ) –less processing power than desktop PCs –quick turnaround expected –limited.
Process Description and Control Module 1.0. Major Requirements of an Operating System Interleave the execution of several processes to maximize processor.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
1 Computer System Overview OS-1 Course AA
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Memory Organization.
1 CSIT431 Introduction to Operating Systems Welcome to CSIT431 Introduction to Operating Systems In this course we learn about the design and structure.
Computer System Overview
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Chapter 11 Operating Systems
Computer Organization and Architecture
OPERATING SYSTEMS Introduction
Computer System Overview Chapter 1. Basic computer structure CPU Memory memory bus I/O bus diskNet interface.
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
1 Course Outline Processes & Threads CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Networks, Protection and Security.
Threads CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Virtual Memory Chantha Thoeun. Overview  Purpose:  Use the hard disk as an extension of RAM.  Increase the available address space of a process. 
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
CSC 501 Lecture 2: Processes. Process Process is a running program a program in execution an “instantiation” of a program Program is a bunch of instructions.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Threads Many software packages are multi-threaded Web browser: one thread display images, another thread retrieves data from the network Word processor:
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 1 Computer System Overview.
The Structure of Processes (Chap 6 in the book “The Design of the UNIX Operating System”)
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
Programming of Mobile and Handheld Devices Lecture 9: Memory, databases and files on Palm OS Rob Pooley
Palm OS Christine Jones CS 550 Section 1 Fall 2005.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Processes and Threads.
Memory Management OS Fazal Rehman Shamil. swapping Swapping concept comes in terms of process scheduling. Swapping is basically implemented by Medium.
Palm OS CS 450 Section 3 Jason Kelske Matthew Jennings Stephen Jou Allan Topp Graham Kerster.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Virtual Memory Pranav Shah CS147 - Sin Min Lee. Concept of Virtual Memory Purpose of Virtual Memory - to use hard disk as an extension of RAM. Personal.
Kernel Expanded version of Kodak’s AMX kernel Features –Uses Preemptive Priority Scheduling –Multithreading –Multitasking.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
1 Computer System Overview Chapter 1. 2 Operating System Exploits the hardware resources of one or more processors Provides a set of services to system.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Introduction to Operating Systems Concepts
Introduction to Systems Programming (CS 0449)
Lesson Objectives Aims Key Words Paging, Segmentation, Virtual Memory
Memory Management.
Processes and threads.
Memory COMPUTER ARCHITECTURE
CS 6560: Operating Systems Design
Intro to Processes CSSE 332 Operating Systems
KERNEL ARCHITECTURE.
CSCI206 - Computer Organization & Programming
Mobile and Desktop Memory Management
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Chapter 2: System Structures
Mid Term review CSC345.
Operating Systems.
BeOS, the Be Operating System
Process Description and Control
Lecture Topics: 11/1 General Operating System Concepts Processes
Threads Chapter 4.
CSE 153 Design of Operating Systems Winter 2019
COMP755 Advanced Operating Systems
Mr. M. D. Jamadar Assistant Professor
Presentation transcript:

Palm OS Jeremy Etzkorn Paul Rutschky Adam Lee Amit Bhatia Tony Picarazzi

History & Facts Palm OS was originally developed by Jeff Hawkins The first Palm Pilot to launch commercially was in march of 1996 Currently used by 80% of all mobile devices Partners with Sony, Samsung, Garmin….

Features CPU Scheduling: Single task, Event driven Files & Resources: Stored in databases Memory Management: Auto-Defragmentation Battery Management: Power Modes Graphical Interface: Ease of Use Built in applications

Version History Version 1.0 : Very basic, B/W screen, 128k memory Versions 3x: Color, new processors, expansion ports Version 4.0: Virtual File System (VFS) API Version 5.0 (Garnet): P.A.C.E. Version 6.0 (Cobalt): 68k API  Palm OS Protein API

Memory Management Palm OS is designed to run applications on low-cost, low-power handhelds. Therefore it must be efficient in both memory and processing resources.

Memory Structure designed around a 32-bit architecture. The system uses 32-bit addresses, and its basic data types are 8, 16, and 32 bits long. Palm OS divides the total available RAM into two logical areas: dynamic RAM and storage RAM.

Memory Structure The entire dynamic area of RAM is used to implement a single heap. (Dynamic Heap) The 1 st Heap in RAM is the Dynamic Heap, then the rest of memory is used for Storage Heaps (for non-volatile data).

Memory Structure In the Palm OS environment, all data are stored in Memory Manager chunks. Chunk < 64 kb Chunk = 8-byte header  data Flags, size, lock, owner, offset

Walk Through MemHandleNew (size) – allocates a movable chunk. Returns a pointer to the Memory Pointer table. MemHandleLock – return a pointer to the chunk, and increments lock. MemHandleUnlock – unlocks chunk, allows Memory Manager to move the chunk. MemHandleFree – Releases the chunk When application terminates the memory manager checks the owner ids of the chunks and releases chunks that had been associated with that application.

File Management Palm OS File Management Differs from that of a traditional desktop because: –Limited amount of Dynamic RAM –Uses SRAM instead of actual Disk Space –Little DRAM means little room for OS Overhead –Uses database structure to store all files

File Management Database Header: Record List: Database Header Field:

File Management 3 ways Applications can store/retrieve data: –Data Manager –File Streaming API –Virtual File System

File Management Data Manager –manages user data in the storage heap. –It was specifically designed to make the most of the limited dynamic RAM and the nonvolatile RAM used instead of disk storage on most handhelds. –Use the Data Manager to store and retrieve Palm OS user data when storage on the handheld is all that is needed, or when efficient access to data is paramount

File Management File Streaming API –a layer on top of the Data Manager that provides file functionality with all data being read from or written to a database in the storage heap. –Most applications have no need for the File Streaming APIs This API is primarily used by applications that need to work with large blocks of data.

File Management Virtual File System (VFS) –Designed specifically to support many types of expansion memory as secondary storage. –VFS Manager APIs present a consistent interface to many different types of file systems on many types of external media. –Applications that use the VFS APIs can support the widest variety of file systems. Use the VFS Manager when your application needs to read and write data stored on external media.

Process Information The system enforces restrictions on access to memory and other resources between processes. It is not, by default, possible for a thread in one process to access the resources in another process, although such access may be granted if requested. Palm OS Cobalt provides for shared memory areas that are accessible to multiple processes. Application process vs. Background Process Source:

Thread states StateDescription RUNNINGThe thread is running. That is, it is currently executing code. READYThe thread is ready to run, but because it is not the highest priority thread it is queued on the ready list. WAITINGThe thread is blocked, waiting for some condition to clear or resource to become available. A thread can wait on one or more other threads by calling SysThreadGroupWait(). SUSPENDEDThe thread is suspended. A suspended thread does not resume execution until it has been resumed. You suspend a thread by calling SysThreadSuspend() and resume a suspended thread by calling SysThreadResume(). WAIT-SUSPENDThe thread is both waiting and suspended. DORMANTThe thread has been created but not yet started. FAULTEDDuring execution of the thread's code, a fault occurred. FAULT-SUSPENDThe thread is both faulted and suspended. Source:

Summary Palm OS is strictly tied to the hardware it runs on. Portable devices have low resources (cpu & memory), therefore Palm OS needs to be simple and efficient. As mobile devices get more powerful, so does the Palm OS. The new Cobalt version holds a lot of promises, and could quite possibly be the portable OS of the future for many years.