20-10-2012, 01:42 PM
Mobile Operating Systems
Mobile Operating System...pptx (Size: 507.62 KB / Downloads: 114)
Mobile Requirements
●Limited resourcesCPU: 220 –370 MHz (ARM 9/ARM 11), 64-128 MB Ram
●No hard discTherefore no virtual (= “unlimited”) memory
●Power managementBattery life, data safety in case of power loss is an issue
●CompactNot much room for UI and the application itselfReuse of common components important
●ReliabilityPhone functionality always highest priority“Always on”.
Introduction
Design and capabilities of a Mobile OS (Operating System) is very different than a general purpose OS running on desktop machines:
mobile devices have constraints and restrictions on their physical characteristic such as screen size, memory, processing power and etc.
Scarce availability of battery power
Limited amount of computing and communication capabilities
Thus, they need different types of operating systems depending on the capabilities they support. e.g. a PDA OS is different from a Smartphone OS.
Operating System is a piece of software responsible for management of operations, control, coordinate the use of the hardware among the various application programs, and sharing the resources of a device.
Mobile Operating System Platforms
There are many mobile operating systems. The followings demonstrate the most important ones:
Java ME Platform
Symbian OS
Linux OS
Windows Mobile OS
iPhone OS
Google Android Platform
Java ME Platform
J2ME platform is a set of technologies, specifications and libraries developed for small devices like mobile phones, pagers, and personal organizers.
Java ME was designed by Sun Microsystems. It is licensed under GNU General Public License
Java ME Main Components
Configuration: it defines a minimum platform including the java language, virtual machine features and minimum class libraries for a grouping of devices. E.g. CLDC
Profile: it supports higher-level services common to a more specific class of devices. A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications. E.g. MIDP
Java ME CLDC
We focus on “Low-end” consumer devices:
CLDC configuration address the following areas:
Java language and virtual machine features
Core Java libraries
CLDC Specific Libraries (Input/output & Networking)
Security: CLDC addresses the following topics to security
At the low-level the virtual machine security is achieved by requiring downloaded Java classes to pass a class file verification step.
Classes in protected system packages cannot be overridden by applications.
Symbian OS
Symbian OS is 32 bit.
It is a multitasking operating system and very less dependence on peripherals.
Kernel runs in the privileged mode and exports its service to user applications via user libraries.
Symbian OS Structure
User libraries include networking, communication, I/O interfaces and etc.
Access to these services and resources is coordinated through a client-server framework.
Clients use the service APIs exposed by the server to communicate with the server.
The client-server communication is conducted by the kernel.
Symbian OS Features
Real-time: it has a real-time, multithreaded kernel.
Data Caging : it allows applications to have their own private data partition. This feature allows for applications to guarantee a secure data store. It can be used for e-commerce applications, location aware applications and etc.
Multimedia: it supports audio, video recording, playback and streaming, and Image conversion.
Google Android Platform
It is a platform and an operating system for mobile devices based on the Linux operating system.
It allows developers design applications in a java-like language using Google-developed java libraries.
It supports a wide variety of connectivity such as GSM, WiFi, 3G, …
Google Android Platform
As demonstrated in the previous slide, the Android platform contains the following layers:
Linux Kernel: Android relies on Linux for core system services such as security, memory management, process management and etc.
Android [7] Runtime: it provides a set of core libraries which supports most of the functionality in the core libraries of Java. The Android Virtual Machine known as Dalvik VM relies on the linux kernel for some underlying functionality such as threading,…
Mobile Operating System...pptx (Size: 507.62 KB / Downloads: 114)
Mobile Requirements
●Limited resourcesCPU: 220 –370 MHz (ARM 9/ARM 11), 64-128 MB Ram
●No hard discTherefore no virtual (= “unlimited”) memory
●Power managementBattery life, data safety in case of power loss is an issue
●CompactNot much room for UI and the application itselfReuse of common components important
●ReliabilityPhone functionality always highest priority“Always on”.
Introduction
Design and capabilities of a Mobile OS (Operating System) is very different than a general purpose OS running on desktop machines:
mobile devices have constraints and restrictions on their physical characteristic such as screen size, memory, processing power and etc.
Scarce availability of battery power
Limited amount of computing and communication capabilities
Thus, they need different types of operating systems depending on the capabilities they support. e.g. a PDA OS is different from a Smartphone OS.
Operating System is a piece of software responsible for management of operations, control, coordinate the use of the hardware among the various application programs, and sharing the resources of a device.
Mobile Operating System Platforms
There are many mobile operating systems. The followings demonstrate the most important ones:
Java ME Platform
Symbian OS
Linux OS
Windows Mobile OS
iPhone OS
Google Android Platform
Java ME Platform
J2ME platform is a set of technologies, specifications and libraries developed for small devices like mobile phones, pagers, and personal organizers.
Java ME was designed by Sun Microsystems. It is licensed under GNU General Public License
Java ME Main Components
Configuration: it defines a minimum platform including the java language, virtual machine features and minimum class libraries for a grouping of devices. E.g. CLDC
Profile: it supports higher-level services common to a more specific class of devices. A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications. E.g. MIDP
Java ME CLDC
We focus on “Low-end” consumer devices:
CLDC configuration address the following areas:
Java language and virtual machine features
Core Java libraries
CLDC Specific Libraries (Input/output & Networking)
Security: CLDC addresses the following topics to security
At the low-level the virtual machine security is achieved by requiring downloaded Java classes to pass a class file verification step.
Classes in protected system packages cannot be overridden by applications.
Symbian OS
Symbian OS is 32 bit.
It is a multitasking operating system and very less dependence on peripherals.
Kernel runs in the privileged mode and exports its service to user applications via user libraries.
Symbian OS Structure
User libraries include networking, communication, I/O interfaces and etc.
Access to these services and resources is coordinated through a client-server framework.
Clients use the service APIs exposed by the server to communicate with the server.
The client-server communication is conducted by the kernel.
Symbian OS Features
Real-time: it has a real-time, multithreaded kernel.
Data Caging : it allows applications to have their own private data partition. This feature allows for applications to guarantee a secure data store. It can be used for e-commerce applications, location aware applications and etc.
Multimedia: it supports audio, video recording, playback and streaming, and Image conversion.
Google Android Platform
It is a platform and an operating system for mobile devices based on the Linux operating system.
It allows developers design applications in a java-like language using Google-developed java libraries.
It supports a wide variety of connectivity such as GSM, WiFi, 3G, …
Google Android Platform
As demonstrated in the previous slide, the Android platform contains the following layers:
Linux Kernel: Android relies on Linux for core system services such as security, memory management, process management and etc.
Android [7] Runtime: it provides a set of core libraries which supports most of the functionality in the core libraries of Java. The Android Virtual Machine known as Dalvik VM relies on the linux kernel for some underlying functionality such as threading,…