0% found this document useful (0 votes)
24 views14 pages

MC Unit-5

The document discusses mobile operating systems and their constraints compared to desktop operating systems. It describes how mobile OSs are designed for devices with limitations in screen size, memory, battery life, and processing power. The key mobile OSs discussed are iOS, Android, Windows Mobile, Palm OS, Symbian OS, and Blackberry OS. It also covers the Java ME and Android software development kits (SDKs) which provide tools and documentation to help developers create apps for each platform.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views14 pages

MC Unit-5

The document discusses mobile operating systems and their constraints compared to desktop operating systems. It describes how mobile OSs are designed for devices with limitations in screen size, memory, battery life, and processing power. The key mobile OSs discussed are iOS, Android, Windows Mobile, Palm OS, Symbian OS, and Blackberry OS. It also covers the Java ME and Android software development kits (SDKs) which provide tools and documentation to help developers create apps for each platform.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

UNIT V – MOBILE PLATFORMS AND APPLICATIONS

1. Mobile Operating Systems:

Mobile OS is an operating system that is specifically designed to run on mobile


devices such as mobile phones, smart phones, PDAs, tablet computer and other handheld
devices. A mobile OS is the software platform on top of which other programs called
application programs can run on mobile devices such as PDA, cellular phones and smart
phones, etc.

 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.

Managing resources: The resources that are managed by the OS include processor, memory,
files and various types of attached devices such as camera, speaker, keyboard and screen.

Interfaces: Interactive interface between devices and networks. Control data and voice
communication with Base Station using different types of protocols.

Features of Mobile OS:

 Multitasking  Keypad interface


 Scheduling  I/O interface
 Memory allocation  Protection and security
 File system interface  Multimedia features
J2ME Platform:

It is a set of technologies, specifications and libraries developed for small devices like
mobile phones, pagers and personal organizers. Its configuration defines a minimum platform
including the java language, virtual machine features and minimum class libraries for a grouping
of devices. Eg. CLDC.

J2ME platform includes two kinds of platforms:

 High end consumer devices


 Low end consumer devices

High end consumer devices:

 A large range of user interface capabilities.


 Total memory budgets starting from about 2-4 Mb.
 Persistent, high-bandwidth network connections, often using TCP/IP.
 Eg. TV set-top boxes, internet TVs, automobile navigation systems.

Low end consumer devices:

 Simple user interface


 Minimum memory budgets starting from about 128-256 Mb.
 Low bandwidth, intermittent network connections, devices are battery-operated.
 Eg. Cell phones, pagers.

JavaME architecture:

Profile: It builds on a configuration but adds more specific APIs to make a complete
environment for building applications. Eg.) MIDP.

2. Special Constraints:
i. Smaller screen size:

Stay focused on the user's immediate task. Display only the information that users
need at any given moment. For example, a customer relationship management system can
provide a massive amount of information, but users only require a small amount of that
information at one time. Design the UI so that users can perform tasks easily and access
information quickly.

ii. One screen appears at a time:


Use a single screen if possible. If your application requires multiple screens to be
open at the same time, use a split screen or rethink the flow of your application.
iii. Shorter battery life:
Try to handle data transmission efficiently. The less often the device needs to
transmit data, the longer the battery lasts.
iv. Wireless network connections:
Try to simplify how your application creates network connections. Compared
with standard LANs, longer latency periods that are inherent in some wireless network
connections can influence how quickly users receive information that is sent over the
network.
v. Slower processor speed:
Avoid processor-intensive tasks where possible. Slower processor speeds can
affect how users perceive the responsiveness of an application.
vi. Less available memory:
Free up as much memory as possible. For example, while an application is not
being used, try to keep it from using memory.

3. Requirements:
 Support for particular communication protocols:
 Compliance with open standards
 Library support
 Support for a variety of input mechanism
4. Commercial Mobile OS:
 Windows mobile
 Palm OS
 Symbian OS
 iOS
 Android
 Blackberry OS
5. Software Development Kit (SDK):

A software development kit (SDK) is typically a set of software development tools


that allows the creation of applications for a certain software package, software framework,
hardware platform, computer system, video game console, operating system, or
similar development platform.

SDKs typically include an Integrated Development Environment (IDE), which serves


as the central programming interface. The IDE may include a programming window for
writing source code, a debugger for fixing program errors, and a visual editor, which allows
developers to create and edit the program's graphical user interface (GUI). IDEs also include
a compiler, which is used to create applications from source code files.

Most SDKs contain sample code, which provides developers with example programs
and libraries. These samples help developers learn how to build basic programs with the
SDK, which enables them to eventually create more complex applications. SDKs also offer
technical documentation, which may include tutorials and FAQs. Some SDKs may also
include sample graphics, such as buttons and icons, which can be incorporated into
applications.

Developers can simply download an SDK from a company's website and begin
programming immediately. However, since each software development kit is different, it can
take awhile for developers to learn how to use a new SDK.

Therefore, most modern SDKs include extensive documentation and have an intuitive
programming interface, which helps incentivize program development. SDK automates and
simplifies the process of building an Android application.

Android application components:

 Activities:
o Dictate the UI and handle the user interaction to the smart phone screen.
 Services:
o Handles background processing associated with an application.
 Broadcast receivers:
o Handles communication between android OS and applications.
 Content provider:
o Handle data and database management issues.
 Manifest:
o Configuration files for the application.
6. iOS:

iOS consists of a number of different software layers, each of which provides


programming frameworks for the development of applications that run on top of the
underlying hardware.
iOS is not enabled for cross-licensing, it can only be used on application’s devices. It
is unix-based OS. It uses 4 abstraction layers, such as,

 Core OS layer:
o It manages the virtual memory system, threads, the file system, the
network and inter-process communication with the frameworks in the core
OS layer.
o It encompasses the kernel environment, drivers and basic interfaces of iOS

 Core services layer:


o It contains the high-level features that all applications use, such as, iCloud
storage and core services framework.
 Media layer:
o The media layer contains the graphics, audio and video technologies
geared towards creating the best multimedia experience available on a
mobile device.
 Cocoa touch layer:
o The cocoa touch layer sits at the top of the iOS stack and contains the
frameworks that are most commonly used by iPhone application
developers.
o Cocoa touch is primarily written in objective-c, is based on the standard
Mac OS Cocoa API and has been extended and modified to meet the
needs of the iPhone.
o The Cocoa touch layer provides the following frameworks for iPhone app
development:
 Address book framework:
 CF Network framework
 Core data framework
7. Android OS:

Android OS is a linux-based mobile OS for mobile devices such as tablets and smart
phones. The Android OS is an open source operating system primarily used in mobile
devices. Written primarily in Java and based on the Linux operating system, it was initially
developed by Android Inc. and was eventually purchased by Google in 2005. The Android
operating system is symbolized by a green colored Android Robot logo.

The Android OS consists of numerous Java applications and Java core libraries
running under the Java-based object oriented application framework and the Dalvik Virtual
Machine (VM). Dalvik is integral for the Android to run in mobile devices as these systems
are constrained in terms of processor speed and memory.

As for multimedia support, the Android OS can back 2D and 3D graphics, common
audio and video formats. It may also support multi-touch input (depending on device) and
carries in its browser Google Chrome’s V8 JavaScript runtime.

 Application layer:
o Some of the basic applications such as e-mail client, SMS program, web browser,
maps and calendar and contact management programs are built in android OS.
These are written in java using j2me.
o Android applications cannot control their own priorities. This is done
purposefully to manage resources to make sure that the deice responds at all times
 Application framework:
o It is required for implementation of a standard structure for various applications.
It provides a set of services to be used by application developers.
o Content providers and managers are the services provided by the application
framework.
 Libraries and runtime:
o Android comes with a set of core libraries such as surface manager for
composting windows, 2D and 3D graphics, multimedia codes such as MPEG-4
and MP3, SQLite(RDBMS) and web browser engine known as webkit.
o Android runtime consists of two components namely set of libraries and another
runtime known as Dalvik virtual machine.
o Applications are compiled to ARM code and are installed using Android SDK.
So, all the android applications run own processes with individual instance on
Dalvik VM.
 Kernel:
o It is based on linux-kernel and so it does not support complete set of GNU
libraries of Linux. Such an environment poses a problem that all existing linux
libraries or applications cannot directly run in android environment.
o Android has its own device drivers, memory management, process management
and networking management functions.
o Android is multi-tasking OS and so it is possible to run concurrent applications.

8. Blackberry OS:

BlackBerry OS is a proprietary mobile operating system developed for smart phone


handheld devices. The BlackBerry is a Smartphone device released by Research In Motion
(RIM) in 1999. Since it was released, its popularity soared due to following functions:

 Ability to send and receive internet e-mail using the “push” method of delivery
 phone and texting functionality
 supports Internet faxing and Web browsing
 supports the viewing of Office applications
 Ability to support numerous other wireless information services.

Bonus’s of BlackBerry:

 good choice of carrier


 choice of devices
 multitasking features
 multimedia Messaging feature
 e-mail and corporate integration
 memory card slot
 Removable battery.

Its OS provides multi-tasking that maximizes use of the devices specialized platform
including trackball, track pad and touch screen. Updated versions of the BlackBerry OS are
released regularly to support new BlackBerry Smart phones. The current version of the OS
allows complete wireless activation and synchronization with Exchange’s email, calendar
and other features.

Memory Management:

Memory is divided into three sections:

 Application Memory (~128MB)


o a dedicated memory space for application storage and overhead
 Device Memory (~850MB)
o for storing files and other media
 Memory Card (optional)
o an optional method of file storage.
A common criticism of the BlackBerry is that Device Memory cannot be allocated to
supplement Application Memory. This is especially inconvenient as Application Memory
handles all the overhead for running apps. If the device also has memory card storage, this makes
the Device Memory redundant.

Also, the memory manager does not release memory after applications are closed, which
can lead to a considerable slowdown of the device over time or prolonged use. This is a major
drawback for a device that is primarily marketed at those in business.

Interrupts:

A feature of the ARM architecture is to allow designers to make the decision between
performances vs. latency tradeoffs. For example: instructions that would normally run to
completion can be made interruptible where low latency is a priority. This is particularly useful
in the case of mobile phones or other telecommunication devices, which run on embedded
systems that require low latency to perform adequately.

Multi-Tasking:

The BlackBerry supports multitasking. It can thus run more than one application at a
time. For example: while making a call, you can switch to the calendar or contacts application.
These applications run in the background while carrying out current task. However, the more
applications that are running, the more memory used by device.
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner

You might also like