Report On Palm OS - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Report On Palm OS

Description:

Graffiti power writing software allows users to quickly and accurately enter ... that includes ROM has a header with the manufacturer, name, a 4 byte signature, ... – PowerPoint PPT presentation

Number of Views:911
Avg rating:3.0/5.0
Slides: 30
Provided by: algersa
Learn more at: http://www.cs.iit.edu
Category:
Tags: graffiti | in | my | name | palm | report | write

less

Transcript and Presenter's Notes

Title: Report On Palm OS


1
Report On Palm OS 
  • Ancita J.Vaz
  • ID999291975
  • EMAILvazanci_at_iit.edu
  •  
  •  

2
1. INTRODUCTION
  • The Palm OS is the standard for handheld
    computing, a new form of computing focused on
    helping you manage and access all the information
    in your life, at any time, in any location.
  • Palm Powered handhelds are the way that everyone
    can manage personal information, work with
    corporate applications and data, and mine the
    richness of the web.
  • They have by far the most users, the most
    software programs, the most hardware options, and
    the most manufacturers and yet are still the
    simplest handhelds to learn and use.

3
The reasons for the popularity of the Palm OS
are
  • The most software
  • One of the best features of this is the huge
    range of software programs you can run on them.
  • The most hardware optionsThey are designed to
    be wearable , small and lightweight and can be
    easily expandable
  • The most manufacturers
  • The Palm OS is an open standard, licensed to
    many manufacturers like Handspring, Motorola,
    IBM, Kyocera, Nokia, Samsung, Sony, Symbol,
    Franklin Covey, and TRG.

4
2.THE PALM OS PLATFORM
5
The Palm OS platform consists of five primary
components
  • 1.Palm OS software
  • 2.Reference hardware design
  • 3.HotSync conduit data synchronization
    technology for one-button synchronization
  • 4.Platform component tools including an API
    that enables developers to write applications
  • 5.Software interface capabilities to support
    hardware add-ons

6
In Depth
  • Device applications such as HTML-based web
    clipping applications allow websites to deliver
    compressed information to users in under 10
    seconds, on average.
  • Graffiti power writing software allows users to
    quickly and accurately enter information into
    their handheld devices.
  • System libraries let developers easily extend the
    functionality of the Palm OS.
  • An internal software map of how the hardware
    works, the hardware abstraction layer gives
    developers the flexibility to modify the Palm OS
    without having to rewrite code each time a change
    is made.
  • Localization architecture makes it easy to
    localize an application by putting all
    localizable data into an overlay file.
  • The application interface makes it easy to access
    a function or launch an application by pushing a
    clearly labeled onscreen button instead of
    navigating through a menu.
  • Intelligent compression formats the most
    important information for display on a single
    screen, visible without scrolling

7
2.OVERVIEW OF OS
  • PalmOS actually includes a preemptive
    multitasking microkernel . Each PalmOS
    application has one PilotMain which receives all
    events for the application, and decides how to
    route them. One task runs the user interface.
    Other tasks handle things like monitoring input
    from the tablet. The user interface permits only
    one application to be open at a time.In the
    following sections we discuss the OS in detail.

8
The Memory Architecture
  • Hardware Overview
  • The Memory Manager
  • The Dynamic Heap
  • The Data Manager
  • The Storage Heap(S)
  • Preferences
  • File Streams
  • Features
  • Memory Reset
  • Storing Data

9
 Hardware Overview 
  • All Palm OS memory is considered part of
    a card. RAM and ROM coexist on the same card.The
    OS can support multiple cards in a device,
    theoretically up to 256 cards
  • ROM -- Contains the operating system,
    built in applications, and default databases. ROM
    sizes to date vary from 512K to 2M.
  • RAM -- Contains add-on applications,
    system preferences, user data, and run time
    storage. RAM sizes to date vary from 128K to 2M.
    Palm OS can currently support up to 12M of RAM on
    a single memory card

10
Memory Cards
  • Each card that includes ROM has a header with the
    manufacturer, name, a 4 byte signature, a
    version, and a list of the size and offset of
    each block of RAM or ROM on the card.
  • All RAM is considered one store, and ROM is
    considered another store, and the OS assumes a
    maximum of 2 stores per card. A store is a
    largely invisible abstraction that is simply a
    container for an identifier, a list of heaps, and
    a database directory. The store header helps
    determines the validity of RAM on a given card.
  • Macintosh Simulator has a second card which
    contains the application code and resources. This
    second card aids in simulating the separation of
    RAM and ROM of an actual device.

11
Memory Partitioning
  • The RAM and ROM are further divided into
    heaps, with a small amount of RAM that is not in
    any heap reserved for low memory globals, store
    headers, and the like. The memory is used for
    various OS subsystems and also contains the trap
    dispatch table. Applications should not read or
    write this memory directly. Palm OS instead
    provides documented APIs to access many of these
    values.
  •  

12
The Memory Manager 
  • The subsystem that is responsible for managing
    allocations from a heap is called the Memory
    Manager. All three heaps dynamic, storage, and
    ROM, are controlled by the same memory manager.
    Memory manager structures are described in
    MemoryPrvNew.h. The applications typically only
    use the Memory Manager APIs directly to access
    the dynamic heap. The Data Manager APIs provide
    high level access to the storage heap data, and
    the ROM heaps are not normally used directly by
    an application.

13
Heap Allocations
  • The Memory Manager allows clients to allocate two
    types of memory, movable chunks and fixed chunks,
    more commonly called handles and pointers.
  • The terms "pointer" and "handle" normally refer
    to the 4-byte variable that references memory,
    rather than to memory itself. One main
    distinction between pointers and handles is that
    pointers stay at a fixed address as long as they
    exist.
  • Handles can be moved in the heap at virtually any
    time, and so must be locked down before they can
    be used. The memory manager is free to move
    unlocked handles around in memory, which is may
    do to reduce fragmentation and service other
    allocation requests.
  • By convention, movable chunks are kept near the
    beginning of the heap, at lower addresses. Fixed
    chunks are kept at the end of the heap, at higher
    addresses. This is done to facilitate heap
    compaction.

14
Heap Structure
  • Header. Each heap has a header with a heap ID,
    status flags, the heap size, and the master
    pointer table..
  • Master Pointer Table. The master pointer table is
    a dynamically-built table of persistent handles
    which map to the location for each chunk.
  • Chunks. The remainder of the heap consists of the
    three kinds of chunks (free, movable, and fixed.)
  • Terminator. Essentially a zero-length chunk, only
    4 bytes wide, used to detect the end of the heap
    when iterating through chunk by chunk. 

15
  • The chunk header always contains the size of the
    chunk, in bytes, and a flag that identify a chunk
    as free or allocated, and an owner ID. For
    allocated chunks, a size adjust may be stored
    which defines "pad" bytes at the end of the chunk
    which are not considered part of the allocation.
    This allows the memory manager to keep track of
    very small runs of bytes which could not
    otherwise be used. Chunks are always immediately
    next to each other, so every chunk in the heap
    can be found by starting at the first chunk and
    offsetting by the chunks size to find the next
    chunk. Chunks can be split and combined as
    necessary to accommodate memory manager
    operations.

16
  • Allocating and Managing The Free List
  • When an allocation is made, a large enough free
    chunk is located by walking the heap from the
    beginning. If the chunk is large enough to
    accommodate the request and still have free space
    left over, it is split and a new smaller free
    chunk is created. If it is not large enouh for
    this extra chunk, the whole free chunk is used.
    When a chunk is released, it is simply marked as
    free.
  • Heap Compaction
  • The goal of compaction is to coalesce all the
    free memory into a single contiguous chunk so
    that a large allocation can be made. The memory
    manager compacts the heap by moving unlocked
    movable chunks down (to lower addresses) to fill
    in the free spaces. When a fixed or locked chunk
    is encountered, the memory manager searches the
    rest of the heap for the largest unlocked movable
    chunk that can fit into the space remaining below
    the fixed or locked chunk.
  • Memory Manager Protection
  • Write protection is in effect on the storage
    heap(s) and is enforced by setting the hardware
    chip selects to mark that memory as read only. In
    order to write to a protected heap, the memory
    manager first acquires the semaphore to ensure
    that no other task is modifying memory manager
    structures. It then disables task switching and
    enables hardware write permission to the
    protected area.

17
The Dynamic Heap
  • On a card with RAM, the first RAM heap,
    (typically heap 0,) is used as the dynamic heap.
    The size of the dynamic heap varies from device
    to device, and in general has gotten larger as
    newer devices are introduced. Dynamic heap space
    is possibly the most valuable resource for Palm
    OS developers, and should be used sparingly. The
    devices that run the 1.0 release have only 32K of
    dynamic heap. Devices that run 2.0 have either
    32K or 64K of dynamic heap, however on the 64K
    devices 32K is reserved for TCP/IP use, so the
    space available for other purposes is still only
    32K. 3.0 devices to date have 96K of dynamic
    heap, still with 32K reserved for TCP/IP. The
    dynamic heap is intended to be used as temporary
    storage for all run time operations on a given
    device. Data in the dynamic heap is not preserved
    across reset.

18
Dynamic Heap Contents
  • Global data for the operating system This
    includes things like font tables, kernel data,
    event queues, kernel and interrupt stacks, kernel
    structures, and everything necessary to maintain
    operating system services.
  • TCP/IP stack When TCP/IP was added, an
    additional 32K of dynamic heap was made available
    to accommodate the TCP/IP stack.
  • Library data Like the TCP/PI stack, the serial,
    IR, and other libraries use some dynamic heap
    memory for their buffers and state when they are
    in use.  
  • Application UI data structures Things like
    windows, forms, fields, tables, bitmaps behind
    windows, etc. created by the various Palm OS
    services at the request of a running application.
  • Buffers Space for pen strokes, key presses,
    system events, serial manager data, video memory,
    etc.
  • Application global variables These are loaded
    when application is loaded. By convention they
    are based on the A5 register and can not move or
    change size while the application is running. 
  • Application constant data Most compilers by
    default generate code to store things like
    strings and array initializers with the globals.
  • Application stack Used for parameters and return
    addresses for both application functions and
    called system functions.

19
Memory Ownership
  • Each chunk in the dynamic heap has an owner.
    When a chunk is allocated, the memory manager
    assigns that chunk the ownerID of the running
    application. The ownerID does not uniquely
    identify any application, rather it is assigned
    from a small pool (currently 16) when an app
    starts, and the ID is reclaimed and reused when
    the app exits. This owner ID is primarily used to
    clean up any left over chunks when an application
    exits. On app exit, the system frees all chunks
    with the owner ID of the (no longer) running
    application.

20
The Data Manager 
  • Palm OS Databases
  • Palm OS divides databases
    into two major categories record and resource
    databases.. Record databases access records by an
    index or a unique ID, can sort records by a key
    field, and data can be retrieved either directly
    using the index or via a search on the unique ID
    or key. Resource databases index resources by a
    4-byte resource type and a 2-byte resource ID,
    and resources are retrieved using the type/id
    combination.
  • Records and Record Databases
  • Record databases are most
    common for data storage, as they are more
    structured than resource databases. The system
    provides more management functionality for record
    databases than for resource databases.The system
    can spread records among all storage heaps on the
    same store
  • Resources and Resource Databases
  • Resource databases can be
    used for free-form storage. The system provides
    management of resource ID's and of resource types
    but nothing beyond that, so resource databases
    have lower overhead than record databases. They
    provide a natural way for storing static
    heterogeneous data

21
  • The Storage Heap(s)
  • The storage heap is used for persistent storage.
    Unlike the dynamic heap, storage heap memory is
    not cleared when the device is reset, and has
    additional protections against inadvertent
    overwriting. All persistent user applications and
    data is kept in the storage heap, in one form or
    another.
  • Preferences
  • The OS provides two databases that can be used to
    store small amounts of data for an application
    that is not associated with a particular
    application database. These provide good places
    to store things like user display choices, high
    score..
  • File Streams
  • New in the 3.0 release is an API to access data
    using streaming operations such as open, close,
    read, write, and seek. This API allows access to
    data streams larger than 64K in size. The data
    streams can be temporary or permanent.
  • Features
  • The OS provides an API for storing and retrieving
    small (4 byte) amounts of data that do not
    persist across resets, called features. Each
    feature is identified by a 4 byte creatorID and a
    2 byte index. Features were intended to allow the
    OS, libraries, and extensions to "publish"
    information about what they support and their
    version

22
  • Memory Reset
  • A reset is normally performed by sticking a
    bent-open paper clip or equivalent poking device
    into a small hole in the back of the device and
    pressing a button known as the "reset switch." A
    soft reset clears all of the low memory globals
    and dynamic heap. A hard reset is performed by
    pressing the reset switch while holding down the
    power key. A confirmation message is displayed,
    asking the user to confirm the deletion of all
    data.
  • Storing Data
  • The data can be stored in
  • Global Variables
  • Stack
  • Dynamic Heap
  • Application Resources
  • Record Databases
  • AppInfo Data in a Database
  • Unsaved Preferences Database
  • Saved Preferences Database
  • File Streams
  • Features and Feature Pointers

23
  • EVENTS
  • A Palm OS application is
    event-driven. Events arrive, like pen down or key
    down, and your application responds to them. Some
    events are handled by your application others
    are handled by the operating system. Once your
    application begins, it enters an event loop,
    repeatedly getting, then handling an event.
  • FORMS AND
    CONTROLS
  • The Palm OS has built-in support
    for various controls and for managing forms.
    Forms are similar to windows on a desktop
    operating system. Because of the simpler user
    interface on the Palm OS, only one form is active
    even though several forms may be displayed. The
    Palm OS provides a rich API for forms that
    includes many user-interface elements.

  • COMMUNICATIONS 
  • The Palm OS supports a variety
    of communication methods. Current communication
    protocols are
  • Serial communication.
  • TCP/IP with a socket interface.
  • Infrared. Low-level infrared support is via IrDA
    (Infrared Data Assocation).

24
4.THE HANDHELD DEVICE 
  • The handheld device is one part of the Palm
    application.Some of its prominent parts are
  • Screen The touch sensitive screen is 160 by 160
    pixels.
  • Writing Area Here ís where you will enter text
    using either GraffitiÆ, a simplified script, or
    an on-screen keyboard. Hardware Buttons These
    buttons launch the four main applications.
  •  Scroll Buttons These buttons page up or down.
  • Power This button turns your Palm device on or
    off. Holding it down for at least two seconds
    toggles the backlighting.
  • Silkscreen Buttons Tap these buttons to use
    them.

25
5. OVERVIEW OF CONDUITS
  • The second part of the Palm application is the
    desktop connection. Because Palm devices act as
    an extension of the desktop, it is crucial that
    information be easily exchanged. Conduits are the
    mechanism for doing this.A conduit is code on the
    desktop that is called during a HotSync
    synchronization to manage the flow of information
    to and from databases on the handheld. Conduits
    register the database or databases for which they
    are responsible . Each database should have only
    one conduit responsible for it.Conduits) are
    created using Conduit Development Kits for
    Windows (C/C), Mac OS (C/C), or Java.

26
6.HANDHELD DEVELOPMENT
  • For the development of the handheld portion of
    your Palm application, you can write code on
    Windows 95/98/NT, Unix, or Macintosh platforms.
    Palm's official development environment,
    CodeWarrior, is available for both Windows and
    Macintosh. POSE is the application which is a
    further development of Copilot. It serves as a
    replacement for an actual Palm OS device while
    you do development. Because it can load a ROM
    image from disk, it usefully emulates different
    versions of the Palm OS

27
7.The features of Palm OS version 4.0
  • The newest Palm OS operating system, version
    4.0, supports the growing expansion opportunities
    and includes convenient new features such as
  • Enhanced Security You can put an automatic lock
    on your handheld, assign a password and encrypt
    sensitive data to keep information safe
  • View and Clear Multiple Alarms - Go to one place
    to view all the Alarms you have set. Clear
    multiple alarms with a single tap.
  • Set Silent Alarms - If you're in meetings you can
    set vibrating or LED/flashing light alarms on
    your m500 or m505 handheld. You can still choose
    to play a tune if that's your preference.
  • 65,000 Color Support - View email, spreadsheets,
    eBooks, video clips and photos in brilliant color
     
  • Easier Data Entry - You can now use the on-screen
    keyboard and Graffiti writing at the same
    time.Switch back and forth without changing
    screens.
  • Wireless Internet and eMail access You can
    install the included Mobile Connectivity Software
    on your Palm m500 or m505 handheld and use it to
  • get information from your favorite websites
  • send and receive email
  • send short messages to other Palm handheld users
    or GSM phones worldwide.

28
8.USES OF PALM OS 
  • Early applications included an address book, a
    date book, to-do list and memo pad. This
    information can be transferred directly from/to
    your desktop databases by synchronizing.  
  • Further advances included development
    environments for creating your own
    applications. 
  • Then came the development of enterprise database
    applications, spreadsheets, text and word
    processors.  
  • Recent hard and software additions allow
    reliable, secure, and cost effective enterprise
    wireless wired communications using a Palm.
    communication using radio frequency (Palm VII
    and web clipping).
  • Data entry on the Palm is not simply entering
    character by character in a field (although it
    can be), but tends to be pick from a menu list,
    click on an icon, enter the first few characters
    and the rest fills itself in etc.
  • A lot of the power of the Web with its point and
    click methodology applies here.
  • The business case must be analyzed carefully or
    you may end up with another novelty application
    (or worse, an application slower and more complex
    than the desktop version).

29
9.What Palm OS Devices Don't Have and Why?
  • Almost more important than what Palm OS devices
    have is what they lack. No Palm OS device has
  • A keyboard
  • Full text recognition
  • An industry-standard PC card slot
  • A powerful processor
  • Adding any of these features requires changing
    the magic combination of speed, size, and price
    that has made the Palm devices so popular. By
    removing both the keyboard and any real way of
    handling text input in quantity, Palm Computing
    kept its focus on what kind of device it was
    providing. Palm devices don't have a card slot,
    because they couldn't do it and keep the device
    small and cheap. Palm did install a nonstandard
    memory card to give users the ability to upgrade
    the functionality.
Write a Comment
User Comments (0)
About PowerShow.com