Unit V Complete (2) Os
Unit V Complete (2) Os
Real time system means that the system is subjected to real time, i.e., response should be guaranteed
within a specified timing constraint or system should meet the specified deadline. For example: flight
control system, real time monitors etc.
This type of sytem can never miss its deadline. Missing the deadline may have disastrous
consequences.The usefulness of result produced by a hard real time system decreases abruptly and
may become negative if tardiness increases. Tardiness means how late a real time system completes its
task with respect to its deadline. Example: Flight controller system.
This type of system can miss its deadline occasionally with some acceptably low probability. Missing
the deadline have no disastrous consequences. The usefulness of result produced by a soft real time
system decreases gradually with increase in tardiness. Example: Telephone switches.
Reference model of real time system: Our reference model is characterized by three elements:
• Job – A job is a small piece of work that can be assigned to a processor and may or may not
require resources.
• Task – A set of related jobs that jointly provide some system functionality.
• Release time of a job – It is the time at which job becomes ready for execution.
• Execution time of a job – It is the time taken by job to finish its execution.
• Deadline of a job – It is the time by which a job should finish its execution. Deadline is of two
types: absolute deadline and relative deadline.
• Response time of a job – It is the length of time from release time of a job to the instant when it
finishes.
• Absolute deadline of a job is equal to its relative deadline plus its release time.
• Processors are also known as active resources. They are essential for execution of a job. A job
must have one or more processors in order to execute and proceed towards completion. Example:
computer, transmission links.
• Resources are also known as passive resources. A job may or may not require a resource during
its execution. Example: memory, mutex
• Two resources are identical if they can be used interchangeably else they are heterogeneous.
Palm OS
Palm OS is a proprietary mobile operating system. Designed in 1996 for Palm Computing, Inc.'s new
Pilot PDA, it has been implemented on a wide array of mobile devices, including smartphones, wrist
watches, handheld gaming consoles, barcode readers and GPS devices.
Palm OS versions earlier than 5.0 run on Motorola/Freescale DragonBall processors. From version 5.0
onwards, Palm OS runs on ARM architecture-based processors.
• Simple, single-tasking environment to allow launching of full screen applications with a basic,
common GUI set
• Simple security model: Device can be locked by password, arbitrary application records can be
made private
Symbian OS
• Design
o Later OS iterations diluted this approach in response to market demands, notably with the
introduction of a real-time kernel and a platform security model in versions 8 and 9.
2010
(Symbian^3), 2010 (Japan only
Year released 2011 (Symbian with MOAP/OPP 2008 2006 2001
Anna, Nokia middleware)
Belle)
Symbian Symbian
Company Symbian Foundation Nokia Nokia
Foundation Foundation
9.5
Symbian OS
(Symbian^3/Sy 9.4 9.3
version
mbian Anna),
10.1 (Nokia
Belle)
Touch input
Yes Yes Yes No No
support
Multi touch
Yes No No No
input support
External Multi
MicroSD, up to MicroSD,
Storage Card MicroSD MicroSD Media
32GB MiniSD
Support Card
CPU
architecture ARM SH-Mobile ARM ARM ARM
support
Programmed
C++, Qt C++, Qt C++, Qt
in
Non English
languages Yes mainly Japanese Yes Yes Yes
support
Underlining
Yes Yes[67] Yes Yes
spell checker
• Features
o User interface
Symbian has had a native graphics toolkit since its inception, known as AVKON (formerly known as
Series 60). S60 was designed to be manipulated by a keyboard-like interface metaphor, such as the
~15-key augmented telephone keypad, or the mini-QWERTY keyboards. AVKON-based software is
binary-compatible with Symbian versions up to and including Symbian^3.
o Browser
Symbian^3 and earlier have a built-in WebKit based browser. Symbian was the first mobile platform
to make use of WebKit (in June 2005).[40] Some older Symbian models have Opera Mobile as their
default browser.
o Multiple language support
Symbian has strong localization support enabling manufacturers and 3rd party application developers
to localize their Symbian based products in order to support global distribution. Current Symbian
release (Symbian Belle) has support for 48 languages, which Nokia makes available on device in
language packs (set of languages which cover the languages commonly spoken in the area where the
device variant is intended to be sold). All language packs have in common English (or a locally
relevant dialect of it).
o Application development
From 2010, Symbian switched to using standard C++ with Qt as the main SDK, which can be used
with either Qt Creator or Carbide.c++. Qt supports the older Symbian/S60 3rd (starting with Feature
Pack 1, a.k.a. S60 3.1) and Symbian/S60 5th Edition (a.k.a. S60 5.01b) releases, as well as the new
Symbian platform. It also supports Maemo and MeeGo, Windows, Linux and Mac OS X.[42][43]
Windows CE
• Features
o Devices are often configured without disk storage, and may be configured as a "closed"
system that does not allow for end-user extension (for instance, it can be burned into
ROM).
o The fundamental unit of execution is the thread. This helps to simplify the interface and
improve execution time.
o The first version – known during development under the code name "Pegasus" –
featured a Windows-like GUI and a number of Microsoft's popular apps, all trimmed
down for smaller storage, memory, and speed of the palmtops of the day.
o Many platforms have been based on the core Windows CE operating system, including
Microsoft's AutoPC, Pocket PC 2000, Pocket PC 2002, Windows Mobile 2003,
Windows Mobile 2003 SE, Windows Mobile 5, Windows Mobile 6, etc.
o A distinctive feature of Windows CE compared to other Microsoft operating systems is
that large parts of it are offered in source code form.
Version Changes
• 2 MB RAM minimum
• Unsupported as of September 30, 2002 for Windows CE 2.11 and September 30,
2005 for Windows CE 2.12.
• Major recode that made CE hard real time down to the microsecond level
• Base for the Pocket PC 2000, Handheld PC 2000, Pocket PC 2002 and Smartphone
3.0 2002
• Restricted access to critical APIs or restricting write access to parts of the registry
• Separation to two editions – Core (only shell) and Professional (with Microsoft
Accessories)
• In addition to the older PocketIE browser, Internet Explorer Mobile was available
with near 100% page compatibility to its IE 5.5 desktop cousin.
• DirectDraw for 2D graphics and DirectShow for camera and video digitisation
support
5.x
• Remote Desktop Protocol (RDP) support
• The "Pro" version contains the Internet Explorer browser and Windows Media Player
9
• DRM technology
• Media Transfer Protocol
• Kernel support for 3 GB physical RAM and supports ARMv7 assembly (has support
for "x86, SH (automotive only) and ARM.")
It is an open-source operating
It is an operating system which can be only used
Definition system which is freely available to
by its copyrighters.
everyone.
Linux is a Unix clone, behaves like Unix contains a completely different coding
Coding
Unix but doesn't contain its code. developed by AT&T Labs.
Operating
Linux is just the kernel. Unix is a complete package of Operating system.
system
• One is a time-sharing algorithm for fair, preemptive scheduling among multiple processes
• The other is designed for real-time tasks, where absolute priorities are more important than
fairness.
The Linux scheduler is a preemptive, priority-based algorithm with two separate priority ranges
These two ranges map into a global priority scheme whereby numerically lower values indicate higher
priorities. Unlike schedulers for many other systems, Linux assigns higher-priority tasks longer time
quanta and vice-versa.
A runnable task is considered eligible for execution on the CPU so long as it has time remaining in its
time slice. When a task has exhausted its time slice, it is considered expired and is not eligible for
execution again until all other tasks have also exhausted their time quanta. The kernel maintains a list
of all runnable tasks in a runqueue data structure. Because of its support for SMP, each processor
maintains its own runqueue and schedules itself independently.
Each runqueue contains two priority arrays—active and expired. The active array contains all tasks
with time remaining in their time slices, and the expired array contains all expired tasks. Each of these
priority arrays includes a list of tasks indexed according to priority. The scheduler chooses the task
with the highest priority from the active array for execution on the CPU. On multiprocessor machines,
this means that each processor is scheduling the highest-priority task from its own runqueue structure.
When all tasks have exhausted their time slices (that is, the active array is empty), the two priority
arrays are exchanged as the expired array becomes the active array and vice-versa.
Buddy System:
Memory management is a fundamental issue in operating systems. A fixed partitioning scheme limits
the number of active processes and may use space inefficiently if there is a poor match between
available partition sizes and process sizes. A dynamic partitioning scheme is more complex to
maintain and includes the overhead of compaction.
A compromise is a buddy system, where the entire memory space available for allocation is initially
treated as a single block whose size is a power of 2. When the first request is made, if its size is greater
than half of the initial block then the entire block is allocated. Otherwise, the block is split in two equal
companion buddies. If the size of the request is greater than half of one of the buddies, then allocate
one to it. Otherwise, one of the buddies is split in half again. This method continues until the smallest
block greater than or equal to the size of the request is found and allocated to it.