0% found this document useful (0 votes)
49 views12 pages

Moblie Operating System: Mittal Vishal

The document provides information about mobile operating systems including Symbian OS. It discusses the history of Symbian OS, beginning with Psion in the 1980s and the formation of Symbian as a joint venture between Psion and phone manufacturers in 1998. It then discusses key aspects of how Symbian OS manages processes and threads, with threads being used for concurrent execution and processes for isolation.

Uploaded by

vishal_2000
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views12 pages

Moblie Operating System: Mittal Vishal

The document provides information about mobile operating systems including Symbian OS. It discusses the history of Symbian OS, beginning with Psion in the 1980s and the formation of Symbian as a joint venture between Psion and phone manufacturers in 1998. It then discusses key aspects of how Symbian OS manages processes and threads, with threads being used for concurrent execution and processes for isolation.

Uploaded by

vishal_2000
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 12

2010

PIET

MITTAL VISHAL

[MOBLIE OPERATING
SYSTEM]
[Case study on the workings of a Mobile Operating system. Including topics like
History, Process Management, File management, I/O Management, Memory
Management, Security an etc.]
MOBILE OPERATING SYSTEM

Contents
Contents..................................................................................................................... 2
Mobile operating system............................................................................................3
History........................................................................................................................6
1 The History of Symbian........................................................................................6

Process management.................................................................................................8
2 Processes and Threads in Symbian OS.................................................................9

2.1 Threads and Nanothreads:.............................................................................9

2.2 Processes.................................................................................................... 11

2.3 Active Objects..............................................................................................11

2.4 Interprocess Communication........................................................................12


MOBILE OPERATING SYSTEM

Mobile operating system

A mobile operating system, also known as a mobile OS, a mobile platform, or a


handheld operating system, is the operating system that controls a mobile device—
similar in principle to an operating system such as Mac OS, Linux or Windows that
controls a desktop computer or laptop. However, they are currently somewhat simpler,
and deal more with the wireless versions of broadband and local connectivity, mobile
multimedia formats, and different input methods.

WHAT IS OPERATING SYSTEM…?

An operating system (OS) is a set of system software running on a computer that


manages the system hardware and that provides a hardware abstraction platform and
common system services for the execution of application software.

For hardware functions such as input and output and memory allocation, the operating
system acts as an intermediary between application programs and the computer
hardware, although the application code is usually executed directly by the hardware
MOBILE OPERATING SYSTEM

Process of operating system

Operating systems are found on almost any device that contains a computer—from
cellular phones (MOBILE PHONES) and video game consoles to supercomputers and
web servers.

A mobile phone (also called mobile, cellular phone, cell phone or handphone) is an
electronic device used for full duplex two-way radio telecommunications over a cellular
network of base stations known as cell sites. Mobile phones differ from cordless
telephones, which only offer telephone service within limited range through a single
base station attached to a fixed land line, for example within a home or an office. Low-
end mobile phones are often referred to as feature phones, whereas high-end mobile
phones that offer more advanced computing ability are referred to as smartphones.

Operating systems are two-sided platforms, bringing consumers (the first side) and
program developers (the second side) together in a single market.

System software is computer software designed to operate the computer hardware


and to provide and maintain a platform for running application software.

Application software, also known as an application, is computer software designed to


help the user to perform singular or multiple related specific tasks.
MOBILE OPERATING SYSTEM

As we all know that the boom in cell phone industry has prompted big technology giants
like Apple, Nokia, Google, RIM(Research In Motion) to go head on with each other to
capture a bigger market share. So let’s, at first sort them out and pick out the ones we
would be interested in.

Now we all know there are basically a handful of mobile operating systems accepted by
the general public worldwide. The popular ones are iOS by Apple, Android by
Google(Open Handset Alliance), Symbian by Nokia and RIM’s Blackberry OS. There
are other Mobile Operating systems available too like the Web OS by Palm and
Windows Mobile 6.5 but they really don’t catch a good market share worldwide to
qualify as popular Mobile Operating Systems. Also as Microsoft have declared the
launch of their new Windows Mobile 7 platform, the older versions or Windows Mobile
are just considered as a dying breed. HP on acquiring Palm and Web OS is still not
clear about what plans they have for Web OS.

So back on track about the popular Mobile Operating systems.


MOBILE OPERATING SYSTEM

 Symbian from Nokia.

 Rim Blackberry OS.

 iOS Apple Inc.

 Windows Phone Microsoft.

 Android by Google Inc.

 Palm Web OS from palm Inc.

As this case study focuses on the working of the Mobile Operating system, we
need a current Mobile operating system that can help us observe the way the
modern Mobile Operating system work.

So, for the purpose of this case study we shall consider Symbian OS, as it is
offered to the public on open public license. Also Symbian has the largest share
in most markets worldwide and is one of the best example of a mobile operating
system catering to the masses.

History

1 The History of Symbian

The roots of Symbian and the Symbian Foundation stretch back to the very start of
mobile computing, when smart minds came together around the idea of finding the best
ways to mobilize computing—to help people do things better and faster.

From its earliest days, the idea that became Symbian was all about collaboration—
starting with David Potter's early 1980s designs of games and office productivity
software for Sinclair's personal computers, a partnership that launched the "Psion"
name. Those programs helped give birth in 1984 to the Psion Organizer, the world's first
MOBILE OPERATING SYSTEM

handheld computer—and one that would quickly support a simple-to-use database


programming language, OPL(Open Programming Language).

The collaborative support from the industry for the growing power of the Psion software
base led to the historic formation in 1998 of Symbian, a joint venture between Psion and
phone manufacturers Ericsson, Motorola, and Nokia. Over the next few years Symbian
helped bring forth the explosion of mobile device innovation—with Symbian software at
the base of more than 100 million phones by 2006.

In 2008, the next step of Symbian evolution took place, with Nokia purchasing all
Symbian assets and starting the software down the path to open source.

The detailed history of Symbian is as follows:

 1980: Psion founded by David Potter

 1984: Psion Organiser launched

 1986: the "vastly improved" Psion Organiser II launches, with a simple-to-use


database programming language, OPL.

 1987: Psion begins development of its "SIBO" ("SIxteen Bit Organiser") 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.
MOBILE OPERATING SYSTEM

 1997: The first version of EPOC32 Release 1 appeared on the Psion Series 5
ROM v1.0. The EPOC32 operating system, at the time simply referred to as
EPOC, was later renamed Symbian OS. EPOC32 was a pre-emptive
multitasking, single user operating system with memory protection, which
encourages the application developer to separate their program into an engine
and an interface.

 1998: In June Psion Software became Symbian, a major joint venture between
Psion and phone manufacturers Ericsson, Motorola, and Nokia. As of Release 6,
EPOC became known simply as Symbian OS.

 1999: The Psion Series 5mx, Psion Series 7, Psion Revo, Diamond Mako, Psion
netBook, netPad, GeoFox One, and Ericsson MC218 were released using ER5.
A phone project was announced at CeBIT, 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 9210 Communicator, 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.

 2003: First shipment of Symbian OS 7.0 and 7.0s, an important Symbian release
which appeared with all contemporary user interfaces including UIQ (Sony
Ericsson P800, P900, P910, Motorola A925, 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 also added EDGE support and
IPv6. One million Symbian phones were shipped in Q1 2003, with the rate
increasing to 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.

Process management
MOBILE OPERATING SYSTEM

2 Processes and Threads in Symbian OS

Symbian OS is a multitasking operating system that uses the concepts of


processes and threads much like other operating systems do. However, the structure
of Symbian OS kernel and the way it approaches the possible scarcity of
resources influences the way that it views these multitasking objects.

2.1 Threads and Nanothreads:

Instead of processes as the basis for multitasking, Symbian OS favours threads


and is built around the concept of threading. Threads form the central unit of
multitasking. A process is simply seen by the operating system as a collection of
threads with a process control block and some memory space.

Thread support in Symbian OS is based in the nanokernel with nanothreads.


The nanokernel provides only simple thread support; each thread is supported by a
nanokernel-based nanothread. The nanokernel provides for nanothread scheduling,
synchronization (interthread communication) and timing services.

Nanothreads run in privileged mode and need a stack to store their runtime
environment data. Nanothreads cannot run in user mode. This fact means that the
operating system can keep close, tight control over each one. Each nanothread
needs a very minimal set of data to run: basically, the location of its stack and
how big that stack is. The operating system keeps control of everything else, e.g.,
the code each thread uses, and stores a thread’s context on its runtime stack.
Nanothreads have thread states like processes have states. The model used by
the Symbian OS nanokernel adds a few states to the basic model. In addition to
the basic states, nanothreads can be in the following states:

 Suspended. This is when a thread suspends another thread and is meant


to be different from the waiting state, where a thread is blocked by some
upper layer object (e.g., a Symbian OS thread).

 Fast Semaphore Wait. A thread in this state is waiting for a fast


semaphore—a type of sentinel variable—to be signaled. Fast semaphores
are nanokernel level semaphores.

 DFC Wait. A thread in this state is waiting for a delayed function call or
DFC to be added to the DFC queue. DFCs are used in device driver
implementation. They represent calls to the kernel that can be queued and
scheduled for execution by the Symbian OS kernel layer.

 Sleep. Sleeping threads are waiting for a specific amount of time to


elapse.
MOBILE OPERATING SYSTEM

 Other. There is a generic state that is used when developers implement


extra states for nanothreads. Developers do this when they extend the
nanokernel functional for new phone platforms (called personality layers).

Developers that do this must also implement how states are transitioned to
and from their extended implementations.

Compare the nanothread idea with the conventional idea of a process. A


nanothread is essentially an ultra light-weight process. It has a mini-context that
gets switched as nanothreads get moved onto and out of the processor. Each
nanothread has a state, as do processes. The keys to nanothreads are the tight control
that the nanokernel has over them and the minimal data that make up the context
of each one.

Symbian OS threads build upon nanothreads; the kernel adds support beyond
what the nanokernel provides. User mode threads that are used for standard
applications are implemented by Symbian OS threads. Each Symbian OS thread
contains a nanothread and adds its own runtime stack to the stack the nanothread
uses. Symbian OS threads can operate in kernel mode via system calls. Symbian
OS also add exception handling and exit signaling to the implementation.
Symbian OS threads implement their own set of states on top of the
nanothread implementation. Because Symbian OS threads add some functionality
to the minimal nanothread implementation, the new states reflect the new ideas
built into Symbian OS threads. Symbian OS adds seven new states that Symbian
OS threads can be in, focused on special blocking conditions that can happen to a
Symbian OS thread. These special states include waiting and suspending on (normal)
semaphores, mutex variables and condition variables. Remember that,
because of the implementation of Symbian OS threads on top of nanothreads,
these states are implemented in terms of nanothread states, mostly by using the
suspended nanothread state in various ways.
MOBILE OPERATING SYSTEM

2.2 Processes

Processes 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 thread of execution or there may be many threads under one
process control block. Concepts of process state and process scheduling have
already been defined by Symbian OS threads and nanothreads. Scheduling a process,
then, is really implemented by scheduling a thread and initializing the right
process control block to use for its data needs.

Symbian OS threads organized under a single process work together in


several ways. First, there is a single main thread that is marked as the starting
point for the process. Second, threads share scheduling parameters. Changing
parameters, that is, the method of scheduling, for the process changes the parameters
for all threads. Third, threads share memory space objects, including device
and other object descriptors. Finally, When a process is terminated, the kernel
terminates all threads in the process.

2.3 Active Objects

Active objects are specialized forms of threads, implemented in a such a way


so as to lighten the burden they place on the operating environment. The designers
of Symbian OS recognized the fact that there would be many situations where a
thread in an application would block. Since Symbian OS is focused on communication,
many applications have a similar pattern of implementation: they write
data to a communication socket or send information through a pipe and then they
block as they wait for a response from the receiver. Active objects are designed
so that when they are brought back from this blocked state, they have a single
entry point into their code that is called. This simplifies their implementation.
Since they run in user space, active objects have the properties of Symbian OS
threads. As such they have their own nanothread and can join with other Symbian
OS threads to form a process to the operating system.

If active objects are just Symbian OS threads, one can ask what the advantage
the operating system gains from this simplified thread model. The key to active
objects is in scheduling. While waiting for events, all active objects reside within
a single process and can act as a single thread to the system. The kernel does not
need to continually check each active object to see if it can be unblocked. Active
objects in a single process, therefore, can be coordinated by a single scheduler
implemented in a single thread. By combining code that would otherwise be
implemented as multiple threads into one thread, by building fixed entry points
into the code, and by using a single scheduler to coordinate their execution,
active
objects form an efficient and lightweight version of standard threads.
MOBILE OPERATING SYSTEM

It is important to realize where active objects fit into the Symbian OS process
structure. When a conventional thread makes a system call that blocks its execution
while in the waiting state, the operating system still needs to check the thread.
Between context switches, the operating system will spend time checking blocked
processes in the wait state, determining if any needs to move to the ready state.
Active objects place themselves in the wait state and wait for a specific event.
Therefore, the operating system does not need to check them but moves them
when their specific event has been triggered. The result is less thread checking
and faster performance.

2.4 Interprocess Communication

In a multithreaded environment like Symbian OS, interprocess communication


is crucial to system performance. Threads, especially in the form of system
servers, communicate constantly.

A socket is the basic communication model used by Symbian OS. It is an


abstract communication pipeline between two endpoints. The abstraction is used
to hide both the methods of transport and the management of data between the
endpoints. The concept of a socket is used by Symbian OS to communicate
between clients and servers, from threads to devices, and between threads themselves.
The socket model also forms the basis of device I/O. Again abstraction is the
key to making this model so useful. All the mechanics of exchanging data with a
device are managed by the operating system rather than forced onto an application.
For example, sockets that work over TCP/IP in a networking environment
can be easily adapted to work over a Bluetooth environment by changing parameters
in the type of socket used. Most of the rest of the data exchange work in such
a switchover is done by the operating system.
Symbian OS implements the standard synchronization primitives that one
would find in a general purpose operating system. Several forms of semaphores
and mutexes are in wide use across the operating system. These provide for
synchronizing processes and threads.

You might also like