22842381 symbian os word documentation

Upload: say-shyong

Post on 09-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 22842381 Symbian OS Word Documentation

    1/22

    Adamson University900 San Marcelino st., Ermita, Manila 1000

    SYMBIAN OSEmbedded Operating System

    Operating SystemsProf. Antonette Daligdig

    Atienza, Lemuel JayBacarra, Dan Paolo

    Dulatre, Michael AngeloJimenez, John Edward

    Llorca, Bryalle

    November 2009Table of Contents

    I Introduction

  • 8/8/2019 22842381 Symbian OS Word Documentation

    2/22

    II Origin/History

    III Characteristics

    III.a. Processing

    III.b. Memory Management

    III.c. I/O : Input/Output

    IV Features

    V Strengths

    VI Weakness

    VII ExampleofApplicationswheretheOSisbeingused

    VIII Screenshots

  • 8/8/2019 22842381 Symbian OS Word Documentation

    3/22

  • 8/8/2019 22842381 Symbian OS Word Documentation

    4/22

    first handheld computerand one that would quickly support a simple-to-use database programming language, OPL.

    The collaborative support from the industry for the growingpower of the Psion software base led to the historic formation in 1998

    of Symbian, a joint venture between Psion and phonemanufacturers Ericsson, Motorola, and Nokia. Over the next few yearsSymbian helped bring forth the explosion of mobile device innovationwith Symbian software at the base of more than 100 million phones by2006.

    In 2008, the next step of Symbian evolution took place, withNokia purchasing all Symbian assets and starting the software downthe path to open source. As the Symbian Foundation and all itsmembers look to the future and the billions of forthcominginterconnected mobile devices, it will be innovative collaboration

    working together that will help make people more productive, morecreative and more entertained than ever before.

    Symbian OS Roots: Psion and EPOC The heritage of Symbian OS begins with some of the first

    handheld devices. Handheld devices evolved in the late 1980s as ameans to capture the usefulness of a desktop device in a small, mobilepackage. The first attempts at a handheld computer did not meet withmuch excitement; the Apple Newton was a welldesigned device thatwas popular with only a few users. Despite this slow start, thehandheld computers developed by the mid-1990s were better tailored

    to the user and the way that people used mobile devices.

    Handheld computers were originally designed as PDAspersonaldigital assistants that were essentially electronic plannersbutevolved to embrace many types of functionality. As they developed,they began to function like desktop computers and they started tohave the same needs as desktop computers. They needed tomultitask; they added storage capabilities in multiple forms; theyneeded to be flexible in areas of input and output.

    Handheld devices also grew to embrace communication. As

    these personal devices grew, personal communication was alsodeveloping. Mobile phones saw a dramatic increase in use in the late1990s. Thus, it was natural to merge handheld devices with mobilephones to form smartphones. The operating systems that ran handhelddevices had to develop as this merger took place.

    In the 1990s, Psion Computers manufactured devices that werePDAs. In 1991, Psion produced the Series 3: a small computer with a

  • 8/8/2019 22842381 Symbian OS Word Documentation

    5/22

    half-VGA, monochrome screen that could fit into a pocket. The Series 3was followed by the Series 3c in 1996, with additional infraredcapability, and the Series 3mx in 1998, with a faster processor andmore memory. Each of these devices was a great success, primarilybecause of good power management and interoperability with other

    computers, including PCs and other handheld devices. Programmingwas based in the language C, had an object-oriented design, andemployed application engines, a signature part of Symbian OSdevelopment. This engine approach was a powerful feature. Itborrowed from microkernel design to focus functionality in engineswhich functioned like serversthat managed functions in response torequests from applications. This approach made it possible tostandardize an API and to use object abstraction to remove theapplication programmer from worrying about tedious details like dataformats.

    In 1996, Psion started to design a new 32-bit operating systemthat supported pointing devices on a touch screen, used multimediaand was more communication rich. The new system was also moreobject-oriented, and was to be portable to different architectures anddevice designs. The result of Psions effort was the introduction of thesystem as EPOC Release 1. EPOC was programmed in C++ and wasdesigned to be object-oriented from the ground up. It again used theengine approach and expanded this design idea into a series of serversthat coordinated access to system services and peripheral devices.EPOC expanded the communication possibilities, opened up theoperating system to multimedia, introduced new platforms for

    interface items like touch screens, and generalized the hardwareinterface.

    EPOC was further developed into two more releases: EPOCRelease 3 (ER3) and EPOC Release 5 (ER5). These ran on newplatforms like the Psion Series 5 and Series 7 computers. Psion alsolooked to emphasize the ways that its operating system could beadapted to other hardware platforms. Around the year 2000, the mostopportunities for new handheld development were in the mobile phonebusiness, where manufacturers were already searching for a new,advanced operating system for its next generation of devices. To take

    advantage of these opportunities, Psion and the leaders in the mobilephone industry, including Nokia, Ericsson, Motorola, and Matsushita(Panasonic), formed a joint venture, called Symbian, which was to takeownership of and further develop the EPOC operating system core. Thisnew core design was now called Symbian OS.

    Symbian OS Version 6

  • 8/8/2019 22842381 Symbian OS Word Documentation

    6/22

    Since EPOCs last version was ER5, Symbian OS debuted atversion 6 in 2001. It took advantage of the flexible properties of EPOCand was targeted at several different generalized platforms. It wasdesigned to be flexible enough to meet the requirements fordeveloping a variety of advanced mobile devices and phones, while

    allowing manufacturers the opportunity to differentiate their products.It was also decided that Symbian OS would actively adopt current,state-of-the-art key technologies as they became available. Thisdecision reinforced the design choices of object orientation and aclient-server architecture. Symbian OS version 6 was called "open" byits designers. This was different than the "open source" propertiesoften attributed to UNIX and Linux. By open, Symbian OS designersmeant that the structure of the operating system was published andavailable to all. In addition, all system interfaces were published tofoster third-party software design.

    Symbian OS Version 7Symbian OS version 6 looked very much like its EPOC and

    version 6 predecessors in design and function. The design focus hadbeen to embrace mobile telephony. However, as more and moremanufacturers designed mobile phones, it became obvious that eventhe flexibility of EPOC, a handheld operating system, would not be ableto address the plethora of new phones that needed to use Symbian OS.

    Symbian OS version 7 kept the desktop functionality of EPOC butmost system internals were rewritten to embrace many kinds ofsmartphone functionality. The operating system kernel and operating

    system services were separated from the user interface. The sameoperating system could now be run on many different smartphoneplatforms, each of which using a different user interface system.Symbian OS could now be extended to address new and unpredictedmessaging formats, for example, or could be used on differentsmartphones that used different phone technologies. Symbian OSversion 7 was released in 2003.

    Symbian OS TodaySymbian OS version 7 was a very important release because it

    built abstraction and flexibility into the operating system. However,

    this abstraction came at a price. The performance of the operatingsystem soon became an issue that needed to be addressed.

    A project was undertaken to completely rewrite the operatingsystem again, this time focusing on performance. The new operatingsystem design was to retain the flexibility of Symbian OS version 7while enhancing performance and making the system more secure.Symbian OS version 8, released in 2004, enhanced the performance of

  • 8/8/2019 22842381 Symbian OS Word Documentation

    7/22

    Symbian OS, particularly for its real-time functions. Symbian OSversion 9, released in 2005, added concepts of capability-basedsecurity and gatekeeping installation; Symbian OS version 9 alsoadded the flexibility for hardware that Symbian OS version 7 added forsoftware. A new binary model was developed that allowed hardware

    developers to use Symbian OS without redesigned the hardware to fit aspecific architectural model.

    1980 : Psion founded by David Potter1984 : Psion Organiser launched1986 : the "vastly improved" Psion Organiser II launches, with a

    simple-to-usedatabase programming language, OPL.

    1987 : Psion begins development of its "SIBO" ("SIxteen BitOrganiser") family of

    devices and its own new multitasking operating system

    called EPOC to run its PDA products.1989 : First EPOC16 devices, the MC400 and MC200, ship with a

    primarily 1-bit,keyboard-operated graphical interface.

    1997 : The first version of EPOC32 Release 1 appeared on thePsion Series

    5 ROM v1.0. The EPOC32 operating system, at the timesimply referred to as EPOC, was later renamed SymbianOS. EPOC32 was a pre-emptive multitasking, single useroperating system with memory protection, whichencourages the application developer to separate their

    program into an engine and an interface.1998 : In June Psion Software became Symbian, a major jointventure between

    Psion and phone manufacturers Ericsson, Motorola, andNokia. As of Release 6, EPOC became known simply asSymbian OS.

    1999 : The Psion Series 5mx, Psion Series 7, Psion Revo, DiamondMako, Psion

    netBook, netPad, GeoFox One, and Ericsson MC218 werereleased using ER5. A phone project was announced atCeBIT, the Phillips Illium/Accent, but did not achieve a

    commercial release.2000 : The first phone, the Ericsson R380 was released using

    ER5u in November.2001 : The first 'open' Symbian OS phone, the Nokia 9210Communicator, was

    released in June 2001. Bluetooth support was added.Almost 500,000 Symbian phones were shipped in 2001,rising to 2.1 million the following year.

  • 8/8/2019 22842381 Symbian OS Word Documentation

    8/22

    2003 : First shipment of Symbian OS 7.0 and 7.0s, an importantSymbian release

    which appeared with all contemporary user interfacesincluding UIQ (Sony Ericsson P800, P900, P910, MotorolaA925, A1000), Series 80 (Nokia 9300, 9500), Series 90

    (Nokia 7710), Series 60 (Nokia 3230, 6260, 6600, 6670,7610) as well as several FOMA phones in Japan. It alsoadded EDGE support and IPv6. One million Symbianphones were shipped in Q1 2003, with the rate increasingto one million a month by the end of 2003.

    2004 : Psion sells its stake in Symbian.2006 : 100 millionth phone with Symbian OS is shipped.2008 : Symbian acquired by Nokia; Symbian Foundation formed.

    III Characteristics

    III.a. Processing

    Symbian OS is a multitasking operating system that usesthe concepts of processes and threads much like other operatingsystems do. However, the structure of the Symbian OS kerneland the way it approaches the possible scarcity of resourcesinfluences the way that it views these multitasking objects.

    Threads and NanothreadsInstead of processes as the basis for multitasking, Symbian

    OS favors threads and is built around the thread concept.Threads form the central unit of multitasking. A process is simplyseen by the operating system as a collection of threads with aprocess control block and some memory space. Thread supportin Symbian OS is based in the nanokernel with nanothreads.The nanokernel provides only simple thread support; each threadis supported by a nanokernel-based nanothread. The nanokernelprovides for nanothread scheduling, synchronization (interthreadcommunication) and timing services.

    Nanothreads run in privileged mode and need a stack to

    store their runtime environment data. Nanothreads cannot run inuser mode. This fact means that the operating system can keepclose, tight control over each one. Each nanothread needs a veryminimal set of data to run: basically, the location of its stack andhow big that stack is. The operating system keeps control ofeverything else, e.g., the code each thread uses, and stores athreads context on its runtime stack. Nanothreads have threadstates like processes have states. The model used by the

  • 8/8/2019 22842381 Symbian OS Word Documentation

    9/22

  • 8/8/2019 22842381 Symbian OS Word Documentation

    10/22

    nanothread implementation. Because Symbian OS threads addsome functionality to the minimal nanothread implementation,the new states reflect the new ideas built into Symbian OSthreads. Symbian OS adds seven new states that Symbian OSthreads can be in, focused on special blocking conditions that

    can happen to a Symbian OS thread. These special states includewaiting and suspending on (normal) semaphores, mutexvariables and condition variables. Remember that, because ofthe implementation of Symbian OS threads on top ofnanothreads, these states are implemented in terms ofnanothread states, mostly by using the suspended nanothreadstate in various ways.

    ProcessesProcesses in Symbian OS, then, are Symbian OS threads

    grouped together under a single process control block structure

    with a single memory space. There may be only a single threadof execution or there may be many threads less than oneprocess control block. Concepts of process state and processscheduling have already been defined by Symbian OS threadsand nanothreads. Scheduling a process, then, is reallyimplemented by scheduling a thread and initializing the rightprocess control block to use for its data needs. Symbian OSthreads organized under a single process work together inseveral ways. First, there is a single main thread that is markedas the starting point for the process. Second, threads sharescheduling parameters. Changing parameters, that is, the

    method of scheduling, for the process changes the parametersfor all threads. Third, threads share memory space objects,including device and other object descriptors. Finally, when aprocess is terminated, the kernel terminates all threads in theprocess.

    III.b. Memory Management

    Symbian OS must also provide a memory management

    model. However, since storage on smartphones is usually quitelimited, the memory model is restricted and does not use avirtual memory/swap space model for its memory management.It does, however, use most other mechanisms that we havediscussed for managing memory, including hardware MMUs.

    Systems with No Virtual Memory

  • 8/8/2019 22842381 Symbian OS Word Documentation

    11/22

    Many computer systems do not have the facilities toprovide full-blown virtual memory with demand paging. The onlystorage available to the operating system on these platforms ismemory; they do not come with a disk drive. Because of this,smaller systems, from PDAs to smartphones to higher level

    handheld devices, do not support a demand paged virtualmemory. Consider the memory space used in most smallplatform devices. Typically, these systems have two types ofstorage: RAM and flash memory. RAM stores the operatingsystem code (to be used when the system boots); flash memoryis used for both operating memory and permanent (file) storage.Often, it is possible to add extra flash memory to a device (suchas a Secure Digital card), and this memory is used exclusively forpermanent storage.

    The absence of demand-paged virtual memory does not

    mean the absence of memory management. In fact, smallerplatforms are built on hardware that includes many of themanagement features of larger systems. This includes featuressuch as paging, address translation, and virtual /physical addressabstraction. The absence of virtual memory simply means thatpages cannot be swapped from memory and stored in externalstorage, but the abstraction of memory pages is still used. Pagesare replaced, but the page being replaced is just discarded. Thismeans that only code pages can be replaced since only they arebacked on the flash memory.

    Memory management consists of the following tasks:Management of application sizeThe size of an applicationboth code and data has a strongeffect on how memory is used. It requires skill and discipline tocreate small software. The push to use object-oriented designcan be an obstacle here (more objects means more dynamicmemory allocation which means larger heap sizes). Mostoperating systems for smaller platforms heavily discourage staticlinking of any modules.

    Heap management

    The heapthe space for dynamic memory allocationmust bemanaged very tightly on a smaller platform. Heap space istypically bounded on smaller platforms to force programmers toreclaim and reuse heap space as much as possible. Venturingbeyond the boundaries resulting in errors in memory allocation.

    Execution in-place

  • 8/8/2019 22842381 Symbian OS Word Documentation

    12/22

    Platforms with no disk drives usually support execution in-place.What this means is that the flash memory is mapped into thevirtual address space and programs can be executed directlyfrom flash memory, without copying them into RAM first. Doingso reduces load time to zero, allowing applications to start

    instantly, and also does not require tying up scarce RAM.

    Loading DLLs The choice of when to load DLLs can affect system theperception of system performance. Loading all DLLs when anapplication is first loaded into memory, for example, is moreacceptable than loading them at sporadic times duringexecution. Users will better accept lag time in loading anapplication than delays in execution. Note that DLLs may notneed to be loaded. This might be the case if (a) they are alreadyin memory or (b) they are contained on external flash storage (in

    which case, they can be executed in place).

    Offload memory management to hardwareIf there is an available MMU, it is used to its fullest extent. In fact,the more functionality that can be put into an MMU, the betteroff system performance will be.

    Even with the execution in-place rule, small platforms stillneed memory that is reserved for operating system operation.This memory is shared with permanent storage and is typicallymanaged in one of two ways. First, a very simple approach is

    taken by some operating systems and memory is not paged atall. In these types of systems, context switching means allocatingoperating space, heap space, for instance, and sharing thisoperating space between all processes. This method uses little tono protection between process memory areas and trustsprocesses to function well together. Palm OS takes this simpleapproach to memory management. The second method takes amore disciplined approach. In this method, memory is sectionedinto pages and these pages are allocated to operating needs.Pages are kept in a free list managed by the operating systemand are allocated as needed to both the operating system and

    user processes. In this approach, because there is no virtualmemory, when the free list of pages is exhausted, the system isout of memory and no more allocation can take place. SymbianOS is an example of this second method.

    How Symbian OS Addresses MemorySince Symbian OS is a 32-bit operating system, addresses

    can range up to 4 GB. It employs the same abstractions as larger

  • 8/8/2019 22842381 Symbian OS Word Documentation

    13/22

    systems: programs must use virtual addresses, which getmapped by the operating system to physical addresses. As withmost systems, Symbian OS divides memory into virtual pagesand physical frames. Frame size is usually 4 KB, but can bevariable. Since there can be up to 4 GB of memory, a frame size

    of 4 KB means a page table with over a million entries. Withlimited sizes of memory, Symbian OS cannot dedicate 1 MB tothe page table. In addition, the search and access times for sucha large table would be a burden to the system. To solve this,Symbian OS adopts a two-level page table strategy, as shown inFig. 12-2. The first level, called the page directory, provides alink to the second level and is indexed by a portion of the virtualaddress (first 12 bits). This directory is kept in memory and ispointed to by the TTBR (translation table base register). Apage directory entry points into the second level, which is acollection of page tables. These tables provide a link to a specific

    page in memory and are indexed by a portion of the virtualaddress (middle 8 bits). Finally, the word in the page referencedis indexed by the low-order 12 bits of the virtual address.Hardware assists in this virtual-to-physical address mappingcalculation. While Symbian OS cannot assume the existence ofany kind of hardware assistance, most of the architectures it isimplemented for have MMUs. The ARM processor, for example,has an extensive MMU, with a translation lookaside buffer toassist in address computation. When a page is not in memory, anerror condition occurs because all application memory pagesshould be loaded when the application is started (no demand

    paging).

    III.c. I/O : Input/Output

    Symbian OSs input/output structure mirrors that of otheroperating system designs. This section will point out some of theunique characteristics that Symbian OS uses to focus on itstarget platform.

    Device DriversIn Symbian OS, device drivers execute as kernel-privileged

    code to give user-level code access to system-protectedresources. As with Linux and Windows, device drivers representsoftware access to hardware. A device driver in Symbian OS issplit into two levels: a logical device driver (LDD) and a physicaldevice driver (PDD). The LDD presents an interface to upperlayers of software while the PDD interacts directly with hardware.In this model, the LDD can use the same implementation for aspecific class of devices, while the PDD changes with each

  • 8/8/2019 22842381 Symbian OS Word Documentation

    14/22

    device. Symbian OS supplies many standard LDDs. Sometimes, ifthe hardware is fairly standard or common, Symbian OS will alsosupply a PDD.

    Kernel ExtensionsKernel extensions are device drivers that are loaded by

    Symbian OS at boot time. Because they are loaded at boot time,they are special cases that need to be treated differently thannormal device drivers. Kernel extensions are different fromnormal device drivers. Most device drivers are implemented asLDDs, paired with PDDs, and are loaded when needed by user-space applications. Kernel extensions are loaded at boot timeand are specifically targeted at certain devices, typically notpaired with PDDs. Kernel extensions are built into the boot

    procedure. These special device drivers are loaded and startedafter the scheduler starts. These implement functions that arecrucial to operating systems: DMA services, displaymanagement, bus control to peripheral devices (e.g., the USBbus). These are provided for two reasons. First, it matches theobject-oriented design abstractions we have come to see ascharacteristic of microkernel design. Second, it allows theseparate platforms that Symbian OS runs on to run specializeddevice drivers that enable the hardware for each platformwithout recompiling the kernel.

    Direct Memory AccessDevice drivers frequently make use of DMA and Symbian

    OS supports the use of DMA hardware. DMA hardware consists ofa controller that controls a set of DMA channels. Each channelprovides a single direction of communication between memoryand a device; therefore, bidirectional transmission of datarequires two DMA channels. At least one pair of DMA channels isdedicated to the screen LCD controller. In addition, mostplatforms provide a certain number of general DMA channels.

    Once a device has transmitted data to memory, a system

    interrupt is triggered. The DMA service provided by DMAhardware is used by the PDD for the transmitting devicethepart of the device driver that interfaces with the hardware.Between the PDD and the DMA controller, Symbian OSimplements two layers of software: a software DMA layer and akernel extension that interfaces with the DMA hardware. TheDMA layer is itself split up into a platform independent layer andplatform dependent layer. As a kernel extension, the DMA layer

  • 8/8/2019 22842381 Symbian OS Word Documentation

    15/22

    is one of the first device drivers to be started by kernel duringthe boot procedure.

    Support for DMA is complicated for a special reason.Symbian OS supports many difference hardware configurations

    and no single DMA configuration can be assumed. The interfaceto the DMA hardware is standardized across platforms, and issupplied in the platform independent layer. The platformdependent layer and the kernel extension are supplied by themanufacturer, thus treating the DMA hardware like Symbian OStreats any other device: with a device driver in LDD and PDDcomponents. Since the DMA hardware is viewed as a device in itsown right, this way of implementing support makes sensebecause it parallels the way Symbian OS supports all devices.

    Special Case: Storage Media

    Media drivers are a special form of PDD in Symbian OS thatare used exclusively by the file server to implement access tostorage media devices.Because smartphones can contain bothfixed and removable media, the media drivers must recognizeand support a variety of storage. Symbian OS support formediaincludes a standard LDD and an interface API for users.The fileserver in Symbian OS can support up to 26 different drives at thesame time. Local drives are distinguished by their drive letter, asin Windows.

    Blocking I/O

    Symbian OS deals with blocking I/O through active objects.The designers realized that the weight of all threads waiting onI/O event affects the other threads in the system. Active objectsallow blocking I/O calls to be handled by the operating systemrather than the process itself. Active objects are coordinated by asingle scheduler and implemented in a single thread. When theactive object uses a blocking I/O call, it signals the operatingsystem and suspends itself. When the blocking call completes,the operating system wakes up the suspended process and thatprocess continues execution as if it a function had returned withdata. The difference is one of perspective for the active object. It

    cannot call a function and expect a return value. It must call aspecial function and let that function set up the blocking I/O, butreturn immediately. The operating system takes over thewaiting.

    Removable MediaRemovable media poses an interesting dilemma for

    operating system designers. When a Secure Digital card is

  • 8/8/2019 22842381 Symbian OS Word Documentation

    16/22

    inserted in its reader slot, it is a device just like all others. Itneeds a controller, a driver, a bus structure, and will probablycommunicate to the CPU through DMA. However, the fact thatyou remove the media is a serious problem to this device model:how does the operating system detect insertion and removal and

    how should the model accommodate the absence of a mediacard? To get even more complicated, some device slots canaccommodate more than one kind of device. For example, an SDcard, a miniSD card (with an adapter), and a MultiMediaCard alluse the same kind of slot. Symbian OS starts its implementationof removable media with their similarities.

    Each type of removable media have features common to all ofthem:

    1. All devices must be inserted and removed.2. All removable media can be removed hot,, that is,

    while being used.3. Each medium can report its capabilities.4. Incompatible cards must be rejected.5. Each card needs power.

    To support removable media, Symbian OS providessoftware controllers that control each supported card. Thecontrollers work with device drivers for each card, also insoftware. There is a socket object created when a card isinserted and this object forms the channel over which data flows.To accommodate the changes in the cards state, Symbian OS

    provides a series of events that occur when state changeshappen. Device drivers are configured like active objects to listenfor and respond to these events.

    IV Features

    Client-Server ArchitectureThe power of the client-server framework is widely acknowledged

    in the software community. In Symbian OS, clients are programs thathave user interfaces, and servers are programs that can only beaccessed via a well defined interface from other programs. The role of

    a client is to serve the user, while servers ensure timely response to allthe clients while controlling the access to the resources of the actualsystem. Additionally, in practice, one server will often have many extraservers relying on the original server.

    Event Management

  • 8/8/2019 22842381 Symbian OS Word Documentation

    17/22

    Event management has long been considered core strength ofSymbian OS - reflecting the fact that Symbian OS was designed fromthe start to have event based time sharing in a single thread. Ratherthan more conventional methods of having multi threadedapplications, Symbian OS enables the developer to think in terms of

    interactions and behaviors as the main artifacts. Enabling this shiftfrom procedural to interactive designs have been one of the mainchallenges of modern software engineering, and this is one reason whySymbian OS has earned its reputation for advanced design.

    Object Oriented DesignBecause Symbian OS has an object oriented design, it is easy to

    configure for different sorts of hardware, and being component based,it allows manufacturers to add or remove components. This id crucialin enabling manufacturers to make devices that best suit theircustomers needs. This flexibility extends even to the user interface -

    again allowing a variety of different device designs to work from thesame operating system. For Symbian itself, the design allows newtechnology to be slotted into an already stable platform. This willprovide a stable base as the telecommunications industry moves from2G to 2.5G to 3G to 4G, with the further introduction of newtechnologies such as SyncML, BlueTooth, and Multimedia Messagingamongst many. The picture will grow ever more complicated,especially when technologies are used in combination, but Symbian OSis ready!. For application developers, this separation of componentsallows them to program far richer applications - getting into the middleof the operating system.

    Power ManagementSymbian OS users are used to the performance of mobile phones

    - and so demand similar performance in terms of weight and operatingtimes when they adopt new devices. Power management is built intothe kernel of Symbian OS and is designed to make efficient use of theprocessors and peripherals and so minimize power usage. Whenperipherals are not being used they are switched off by the system. This lowers battery consumption, prolonging usage and allows forsmaller batteries.

    This meets the requirement to work on stand alone portabledevices, enabling manufacturers to make phones that capture theoptimum combination of size and weight for their target market.

    Robust and DependableSymbian OS users will have experienced the performance levels

    achieved in this area by mobile phones. Devices should not lose userdata, crash or require rebooting.

  • 8/8/2019 22842381 Symbian OS Word Documentation

    18/22

    Symbian achieves this in two ways:Each process runs in a protected address space, thus it is notpossible for one application to overwrite anothers addressspace. The kernel also runs in a protected address space, so that

    a bug in one application cannot overwrite the kernels stack orheap.

    The client-server architecture of Symbian OS allows applicationsto exchange data without compromising overall system integrity. This meets the requirement to work on stand alone portabledevices, even though Symbian devices offer greatly enhancedfunctionality over standard mobile phones.

    Memory ManagementFor stand alone portable devices, memory management is

    important. The need to minimize weight, device size and cost meansthe amount of memory available on a Symbian OS device is often quitelimited. Symbian OS always assumes that the memory available islimited, and minimizes consumption at every turn. Consequently, lessmemory is actually required by the system. Also having less memoryhelps to keep down power consumption.

    Full MultitaskingSymbian OS runs each application as a separate process,

    allowing multiple applications to run concurrently. For instance, if auser is checking the calendar, and receives a call, the system must

    allow the user to switch between applications instantaneously. Equally,should the phone call result in an appointment, the user must be ableto check the calendar - and still maintain the phone call. As phonesbecome more data enabled, this ability will become ever moreimportant.

    An Open Operating SystemSymbian OS is an open OS. The different aspects of this

    statement are explained below.

    1) Open to anyone to license

    All manufacturers are treated equally - licensing SymbianOS is open to all on fair and equal terms.

    2) Open to anyone to develop application The even-handed approach adopted towardsmanufacturers extends towards developers. API's are madeavailable as a matter of course. Support for 3rd partydevelopers is a key tenet of Symbian OS so full of SDKs

  • 8/8/2019 22842381 Symbian OS Word Documentation

    19/22

  • 8/8/2019 22842381 Symbian OS Word Documentation

    20/22

    No Virtual MemoryMany computer systems do not have the facilities to provide full-

    blown virtual memory with demand paging. The only storage availableto the operating system on these platforms is memory; they do notcome with a disk drive. Because of this, smaller systems, from PDAs to

    smartphones to higher level handheld devices, do not support ademand paged virtual memory. Consider the memory space used inmost small platform devices. Typically, these systems have two typesof storage: RAM and flash memory. RAM stores the operating systemcode (to be used when the system boots); flash memory is used forboth operating memory and permanent (file) storage. Often, it ispossible to add extra flash memory to a device (such as a SecureDigital card), and this memory is used exclusively for permanentstorage.

    VII Example of Applications where the OS is being used

    On 16 November 2006, the 100 millionth smartphone running the OSwas shipped.

    Nokia Series 80 interface:Nokia 9210 Communicator smartphone (32-bit 66 MHz ARM9-based RISCCPU) (2001), 9300(2004), 9500 Communicator(2004) using the Nokia Series 80 interface

    UIQ interface:Used for PDAs such as Sony Ericsson P800

    (2002), P900 (2003), P910 (2004), P990 (2005), W950 (2006), M600 (2006), P1 (2007),W960 (2007), G700 (2008), G900 (2008), G702 (2008), Motorola A920, A925, A1000, RIZR Z8, RIZR Z10,DoCoMo M1000, BenQ P30, P31 and Nokia 6708 using thisinterface.

    NokiaS60 (2002) interface:Nokia S60 is used in various phones, the first being the Nokia7650, then the Nokia 3650, followed by the Nokia3620/3660, Nokia 6600,Nokia 7610, Nokia 6670 and Nokia 3230.The Nokia N-Gage and Nokia N-Gage QD gaming/smartphone

    combos are also S60 platform devices. It was also used on othermanufacturers' phones such as the SiemensSX1, Sendo X, Panasonic X700, Panasonic X800,Samsung SGH-D730, SGH-D720 and the Samsung SGH-Z600. Recent, moreadvanced devices using S60 include the Nokia 6620,Nokia 6630,the Nokia 6680, Nokia 6681 and Nokia 6682, Nokia 6120classic, Nokia 6121 classic, Nokia 6220,a next generationNseries,including the Nokia N70, Nokia N71, Nokia N72, Nokia N73, Nokia

    http://en.wikipedia.org/wiki/Smartphonehttp://en.wikipedia.org/wiki/Nokia_Series_80http://en.wikipedia.org/wiki/Nokia_9210http://en.wikipedia.org/wiki/ARM9http://en.wikipedia.org/wiki/RISChttp://en.wikipedia.org/wiki/Central_processing_unithttp://en.wikipedia.org/wiki/Nokia_9300http://en.wikipedia.org/wiki/Nokia_9500http://en.wikipedia.org/wiki/Nokia_Series_80http://en.wikipedia.org/wiki/UIQhttp://en.wikipedia.org/wiki/Sony_Ericssonhttp://en.wikipedia.org/wiki/Sony_Ericsson_P900http://en.wikipedia.org/wiki/Sony_Ericsson_P910http://en.wikipedia.org/wiki/Sony_Ericsson_P990http://en.wikipedia.org/wiki/Sony_Ericsson_W950http://en.wikipedia.org/wiki/Sony_Ericsson_M600http://en.wikipedia.org/wiki/Sony_Ericsson_M600http://en.wikipedia.org/wiki/Sony_Ericsson_P1http://en.wikipedia.org/wiki/Sony_Ericsson_W960http://en.wikipedia.org/wiki/Sony_Ericsson_G700http://en.wikipedia.org/wiki/Sony_Ericsson_G900http://en.wikipedia.org/w/index.php?title=Sony_Ericsson_G702&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Sony_Ericsson_G702&action=edit&redlink=1http://en.wikipedia.org/wiki/Motorola_A925http://en.wikipedia.org/wiki/Motorola_A1000http://en.wikipedia.org/wiki/Motorola_Z8http://en.wikipedia.org/wiki/Motorola_Z10http://en.wikipedia.org/w/index.php?title=Nokia_6708&action=edit&redlink=1http://en.wikipedia.org/wiki/Nokiahttp://en.wikipedia.org/wiki/S60_(software_platform)http://en.wikipedia.org/wiki/Nokia_7650http://en.wikipedia.org/wiki/Nokia_7650http://en.wikipedia.org/wiki/Nokia_3650http://en.wikipedia.org/wiki/Nokia_3620/3660http://en.wikipedia.org/wiki/Nokia_3620/3660http://en.wikipedia.org/wiki/Nokia_6600http://en.wikipedia.org/wiki/Nokia_7610http://en.wikipedia.org/wiki/Nokia_6670http://en.wikipedia.org/wiki/Nokia_3230http://en.wikipedia.org/wiki/Nokia_N-Gagehttp://en.wikipedia.org/wiki/Nokia_N-Gage_QDhttp://en.wikipedia.org/wiki/Siemens_SX1http://en.wikipedia.org/wiki/Siemens_SX1http://en.wikipedia.org/wiki/Sendohttp://en.wikipedia.org/w/index.php?title=Panasonic_X700&action=edit&redlink=1http://en.wikipedia.org/wiki/Panasonichttp://en.wikipedia.org/wiki/Samsunghttp://en.wikipedia.org/wiki/Samsunghttp://en.wikipedia.org/wiki/Nokia_6620http://en.wikipedia.org/wiki/Nokia_6630http://en.wikipedia.org/wiki/Nokia_6680http://en.wikipedia.org/wiki/Nokia_6681http://en.wikipedia.org/wiki/Nokia_6682http://en.wikipedia.org/wiki/Nokia_6120_classichttp://en.wikipedia.org/wiki/Nokia_6120_classichttp://en.wikipedia.org/wiki/Nokia_6121_classichttp://en.wikipedia.org/wiki/Nokia_6220http://en.wikipedia.org/wiki/Nokia_Nserieshttp://en.wikipedia.org/wiki/Nokia_N70http://en.wikipedia.org/wiki/Nokia_N71http://en.wikipedia.org/wiki/Nokia_N72http://en.wikipedia.org/wiki/Nokia_N73http://en.wikipedia.org/wiki/Nokia_N75http://en.wikipedia.org/wiki/Nokia_Series_80http://en.wikipedia.org/wiki/Nokia_9210http://en.wikipedia.org/wiki/ARM9http://en.wikipedia.org/wiki/RISChttp://en.wikipedia.org/wiki/Central_processing_unithttp://en.wikipedia.org/wiki/Nokia_9300http://en.wikipedia.org/wiki/Nokia_9500http://en.wikipedia.org/wiki/Nokia_Series_80http://en.wikipedia.org/wiki/UIQhttp://en.wikipedia.org/wiki/Sony_Ericssonhttp://en.wikipedia.org/wiki/Sony_Ericsson_P900http://en.wikipedia.org/wiki/Sony_Ericsson_P910http://en.wikipedia.org/wiki/Sony_Ericsson_P990http://en.wikipedia.org/wiki/Sony_Ericsson_W950http://en.wikipedia.org/wiki/Sony_Ericsson_M600http://en.wikipedia.org/wiki/Sony_Ericsson_M600http://en.wikipedia.org/wiki/Sony_Ericsson_P1http://en.wikipedia.org/wiki/Sony_Ericsson_W960http://en.wikipedia.org/wiki/Sony_Ericsson_G700http://en.wikipedia.org/wiki/Sony_Ericsson_G900http://en.wikipedia.org/w/index.php?title=Sony_Ericsson_G702&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Sony_Ericsson_G702&action=edit&redlink=1http://en.wikipedia.org/wiki/Motorola_A925http://en.wikipedia.org/wiki/Motorola_A1000http://en.wikipedia.org/wiki/Motorola_Z8http://en.wikipedia.org/wiki/Motorola_Z10http://en.wikipedia.org/w/index.php?title=Nokia_6708&action=edit&redlink=1http://en.wikipedia.org/wiki/Nokiahttp://en.wikipedia.org/wiki/S60_(software_platform)http://en.wikipedia.org/wiki/Nokia_7650http://en.wikipedia.org/wiki/Nokia_7650http://en.wikipedia.org/wiki/Nokia_3650http://en.wikipedia.org/wiki/Nokia_3620/3660http://en.wikipedia.org/wiki/Nokia_3620/3660http://en.wikipedia.org/wiki/Nokia_6600http://en.wikipedia.org/wiki/Nokia_7610http://en.wikipedia.org/wiki/Nokia_6670http://en.wikipedia.org/wiki/Nokia_3230http://en.wikipedia.org/wiki/Nokia_N-Gagehttp://en.wikipedia.org/wiki/Nokia_N-Gage_QDhttp://en.wikipedia.org/wiki/Siemens_SX1http://en.wikipedia.org/wiki/Siemens_SX1http://en.wikipedia.org/wiki/Sendohttp://en.wikipedia.org/w/index.php?title=Panasonic_X700&action=edit&redlink=1http://en.wikipedia.org/wiki/Panasonichttp://en.wikipedia.org/wiki/Samsunghttp://en.wikipedia.org/wiki/Samsunghttp://en.wikipedia.org/wiki/Nokia_6620http://en.wikipedia.org/wiki/Nokia_6630http://en.wikipedia.org/wiki/Nokia_6680http://en.wikipedia.org/wiki/Nokia_6681http://en.wikipedia.org/wiki/Nokia_6682http://en.wikipedia.org/wiki/Nokia_6120_classichttp://en.wikipedia.org/wiki/Nokia_6120_classichttp://en.wikipedia.org/wiki/Nokia_6121_classichttp://en.wikipedia.org/wiki/Nokia_6220http://en.wikipedia.org/wiki/Nokia_Nserieshttp://en.wikipedia.org/wiki/Nokia_N70http://en.wikipedia.org/wiki/Nokia_N71http://en.wikipedia.org/wiki/Nokia_N72http://en.wikipedia.org/wiki/Nokia_N73http://en.wikipedia.org/wiki/Nokia_N75http://en.wikipedia.org/wiki/Smartphone
  • 8/8/2019 22842381 Symbian OS Word Documentation

    21/22

    N75, Nokia N76, Nokia N77, Nokia N78, Nokia N79, NokiaN80, Nokia N81, Nokia N82, Nokia N85, Nokia N90, NokiaN91, Nokia N92, Nokia N93, Nokia N95, Nokia N96 and NokiaN97. The enterprise (i.e. business) model Eseries, includingthe Nokia E50, Nokia E51, Nokia E60, Nokia E61, Nokia

    E62, Nokia E63, Nokia E65,Nokia E66, Nokia E70, NokiaE71, Nokia E71x, Nokia E78, and Nokia E90 and some of themodels of Nokia Xpress music mobiles likeNokia 5320, Nokia5700, Nokia 5800 and Nokia 5530 XpressMusic.

    Nokia Series 90 interface:Nokia 7710 (2004) using the Nokia Series 90 interface.

    http://en.wikipedia.org/wiki/Nokia_N75http://en.wikipedia.org/wiki/Nokia_N76http://en.wikipedia.org/w/index.php?title=Nokia_N77&action=edit&redlink=1http://en.wikipedia.org/wiki/Nokia_N78http://en.wikipedia.org/wiki/Nokia_N79http://en.wikipedia.org/wiki/Nokia_N80http://en.wikipedia.org/wiki/Nokia_N80http://en.wikipedia.org/wiki/Nokia_N81http://en.wikipedia.org/wiki/Nokia_N82http://en.wikipedia.org/wiki/Nokia_N85http://en.wikipedia.org/wiki/Nokia_N90http://en.wikipedia.org/wiki/Nokia_N91http://en.wikipedia.org/wiki/Nokia_N91http://en.wikipedia.org/wiki/Nokia_N92http://en.wikipedia.org/wiki/Nokia_N93http://en.wikipedia.org/wiki/Nokia_N95http://en.wikipedia.org/wiki/Nokia_N96http://en.wikipedia.org/wiki/Nokia_N97http://en.wikipedia.org/wiki/Nokia_N97http://en.wikipedia.org/wiki/Nokia_Eserieshttp://en.wikipedia.org/wiki/Nokia_E50http://en.wikipedia.org/wiki/Nokia_E51http://en.wikipedia.org/wiki/Nokia_E60http://en.wikipedia.org/wiki/Nokia_E61http://en.wikipedia.org/wiki/Nokia_E62http://en.wikipedia.org/wiki/Nokia_E62http://en.wikipedia.org/wiki/Nokia_E63http://en.wikipedia.org/wiki/Nokia_E65http://en.wikipedia.org/wiki/Nokia_E66http://en.wikipedia.org/wiki/Nokia_E70http://en.wikipedia.org/wiki/Nokia_E71http://en.wikipedia.org/wiki/Nokia_E71http://en.wikipedia.org/w/index.php?title=Nokia_E71x&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Nokia_E78&action=edit&redlink=1http://en.wikipedia.org/wiki/Nokia_E90http://en.wikipedia.org/wiki/Nokia_5320http://en.wikipedia.org/wiki/Nokia_5700http://en.wikipedia.org/wiki/Nokia_5700http://en.wikipedia.org/wiki/Nokia_5800http://en.wikipedia.org/wiki/Nokia_5530http://en.wikipedia.org/wiki/Nokia_Series_90http://en.wikipedia.org/wiki/Nokia_7710http://en.wikipedia.org/wiki/Nokia_Series_90http://en.wikipedia.org/wiki/Nokia_N75http://en.wikipedia.org/wiki/Nokia_N76http://en.wikipedia.org/w/index.php?title=Nokia_N77&action=edit&redlink=1http://en.wikipedia.org/wiki/Nokia_N78http://en.wikipedia.org/wiki/Nokia_N79http://en.wikipedia.org/wiki/Nokia_N80http://en.wikipedia.org/wiki/Nokia_N80http://en.wikipedia.org/wiki/Nokia_N81http://en.wikipedia.org/wiki/Nokia_N82http://en.wikipedia.org/wiki/Nokia_N85http://en.wikipedia.org/wiki/Nokia_N90http://en.wikipedia.org/wiki/Nokia_N91http://en.wikipedia.org/wiki/Nokia_N91http://en.wikipedia.org/wiki/Nokia_N92http://en.wikipedia.org/wiki/Nokia_N93http://en.wikipedia.org/wiki/Nokia_N95http://en.wikipedia.org/wiki/Nokia_N96http://en.wikipedia.org/wiki/Nokia_N97http://en.wikipedia.org/wiki/Nokia_N97http://en.wikipedia.org/wiki/Nokia_Eserieshttp://en.wikipedia.org/wiki/Nokia_E50http://en.wikipedia.org/wiki/Nokia_E51http://en.wikipedia.org/wiki/Nokia_E60http://en.wikipedia.org/wiki/Nokia_E61http://en.wikipedia.org/wiki/Nokia_E62http://en.wikipedia.org/wiki/Nokia_E62http://en.wikipedia.org/wiki/Nokia_E63http://en.wikipedia.org/wiki/Nokia_E65http://en.wikipedia.org/wiki/Nokia_E66http://en.wikipedia.org/wiki/Nokia_E70http://en.wikipedia.org/wiki/Nokia_E71http://en.wikipedia.org/wiki/Nokia_E71http://en.wikipedia.org/w/index.php?title=Nokia_E71x&action=edit&redlink=1http://en.wikipedia.org/w/index.php?title=Nokia_E78&action=edit&redlink=1http://en.wikipedia.org/wiki/Nokia_E90http://en.wikipedia.org/wiki/Nokia_5320http://en.wikipedia.org/wiki/Nokia_5700http://en.wikipedia.org/wiki/Nokia_5700http://en.wikipedia.org/wiki/Nokia_5800http://en.wikipedia.org/wiki/Nokia_5530http://en.wikipedia.org/wiki/Nokia_Series_90http://en.wikipedia.org/wiki/Nokia_7710http://en.wikipedia.org/wiki/Nokia_Series_90
  • 8/8/2019 22842381 Symbian OS Word Documentation

    22/22

    VIII Screenshots

    Symbian OS Logo

    Historic Formation of Industry forSymbian

    A screenshot of theUIQ 3 pen-based

    interface on the P990Screenshot of a

    typical Nokia S60user interface

    Screenshot of a typical Nokia S80 user interface