0% found this document useful (0 votes)
36 views19 pages

Mobile OS: Functions and Kernels

Uploaded by

star42348
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)
36 views19 pages

Mobile OS: Functions and Kernels

Uploaded by

star42348
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/ 19

SUBJECT CODE

TYPE THE SUBJECT NAME HERE

UNIT NO V

MOBILE PLATFORMS AND APPLICATIONS

5.1 MOBILE DEVICE OPERATING SYSTEMS


III V

20CSPC503
MOBILE COMPUTING
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

MOBILE DEVICE OPERATING SYSTEMS

• A mobile operating system (Mobile OS) is a software platform on top of which other
programs called application programs, can run on mobile devices such as personal
digital assistant (PDA), tablets, cellular phones, smart phones and so on.
• Over the years, Mobile OS design has experienced a three-phase evolution: from the
PC-based operating system to an embedded operating system to the current
Smartphone-oriented operating system in the past decade.
• Throughout the process, Mobile OS architecture has gone from complex to simple to
something in- between.
• The evolution process is naturally driven by the technology advancements in
hardware, software, and the Internet.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

RESPONSIBILITIES OF MOBILE OS:

In mobile handsets, the OS performs two main responsibilities. They are:

1. Managing Resources
2. Providing different interfaces.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

MANAGING RESOURCES:

• One of the important responsibilities of an OS is to facilitate efficient utilization of the


resources of the device by performing multiple tasks.
• The resources managed by OS includes Processor, Memory, Files and various kinds
of attached devices like camera, speakers, keyboard and screen.
• A mobile device is expected to run multiple applications at the same time and each
application may in turn require running multiple tasks.
• A task can have multiple threads.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

MANAGING RESOURCES:

• As an example scenario of usage of a smart phone, consider the following: a person


might be listening to music, at the same time he might answer an incoming call, and
an SMS may arrive at the same time which he might look up while still in the call.
• Such a scenario requires concurrent execution of multiple tasks.
• When multiple tasks contend to use the same set of resources, the OS acts like a
traffic cop to ensure that different tasks do not interfere with each other.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

PROVIDING DIFFERENT INTERFACES

• The OS of mobile devices provides a highly interactive interface to the user of the
device and on the other interfaces with several devices and networks.
• An interface concerns control, data and voice communication with the base station
possibly requiring use of different types of protocols.
• OS takes care of recognizing inputs from the keyboards, sending outputs to the
display screen and interfacing with peripheral devices such as other mobile devices,
computers, printers and so on.
• There is a considerable variation among the user interfaces of different mobile
handsets like some have touch screen based interface and some others based on a
physical screen based interface and in some others it is based on physical keyboard.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

PROVIDING DIFFERENT INTERFACES

• There is also considerable variation in screen resolutions and size among different
handsets.
• The underlying OS should be easily configurable to work effectively with the
parameters specific to a mobile handset manufactured by it.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

SHELLS AND KERNELS IN OS

• The operating system is viewed as providing a set of services to the application


programs.
• The os is usually structured into shell layer and kernel layer.
• Kernel and shell are the important part of an operating system which is used to
perform any specific operation on the system.
• A shell is a user interface for access to an operating system's services.
• In general, operating system shells use either a command-line interface (cli) or
graphical user interface (gui), depending on a computer's role and particular
operation.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

SHELLS AND KERNELS IN OS


• It is named a shell because it is the outermost layer around the operating system.
• The kernel is a computer program at the core of a computer's operating system with
complete control over everything in the system.
• It is the "portion of the operating system code that is always resident in memory".
• It facilitates interactions between hardware and software components.
• On most systems, it is one of the first programs loaded on start-up (after the boot
loader).
• It handles the rest of start-up as well as input/output requests from software,
translating them into data- processing instructions for the central processing unit.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:

• It handles memory and peripherals like keyboards, monitors, printers, and speakers.
• Kernels are generally classified into two different categories. They are Monolithic
kernel and Micro kernel.
MONOLITHIC KERNEL:
• A monolithic kernel is an operating system software framework that holds all
privileges to access input/output (I/O) devices, memory, hardware interrupts and the
CPU stack.
• Monolithic kernels tend to be larger than other kernels because they deal with so
many aspects of computer processing at the lowest level, and therefore have to
incorporate code that interfaces with many devices, I/O and interrupt channels, and
other hardware operators.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:

MONOLITHIC KERNEL:

• This form of kernel is the basis for Linux, Unix, MS-DOS and Mac OS.
• Newer operating systems typically use a hybrid kernel to allow for easier maintenance
and operating system improvements.
• The kernel is a computer program at the core of a computer's operating system with
complete control over everything in the system.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:
MONOLITHIC KERNEL

• It is the "portion of the operating system code that is always resident in memory".
• It facilitates interactions between hardware and software components.
• On most systems, it is one of the first programs loaded on start-up (after the boot
loader).
• It handles the rest of start-up as well as input/output requests from software,
translating them into data- processing instructions for the central processing unit.
• It handles memory and peripherals like keyboards, monitors, printers, and speakers.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:
MONOLITHIC KERNEL

• Monolithic kernels retain full privilege access over the various components under their
control. These include:

● File systems
● Inter process communication
● I/O and device management
● Fundamental process management
● Hardware
COMPUTER SCIENCE & ENGINEERING CS8601
MOBILE COMPUTING

TYPES OF KERNELS:
MONOLITHIC KERNEL

• The reason that newer kernel architectures such as microkernel or hybrid kernel
design are preferred is because the larger the kernel becomes, the more functions it
must take on.
• This makes the code cumbersome and slower to load. Another drawback to monolithic
kernel design is that the kernel code has to be modified to add features or fix bugs.
• This usually requires recompilation of the kernel code and hardware drivers; it may
even mean a complete operating system upgrade, which is costly and reduces user
confidence.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:
MONOLITHIC KERNEL
• Newer kernel architectures only retain access to limited privilege and pass privilege up
to the user space through servers, which deliver resource management independently
with privileges of their own.
• These servers run outside kernel memory space, allowing for much smaller kernel
sizes and a much more efficient upgrade route.
• Monolithic kernel architecture is still used for systems such as Linux-based systems,
where an evolving kernel that is constantly being updated and replaced is part of the
culture of the operating system.
• The streamlined nature of Linux has kept its monolithic kernel down to an acceptable
size, making it easier to add features.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:
MONOLITHIC KERNEL
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:
MICRO KERNEL:

• A microkernel is a piece of software or even code that contains the near-minimum


amount of functions and features required to implement an operating system.
• It provides the minimal number of mechanisms, just enough to run the most basic
functions of a system, in order to maximize the implementation flexibility so it allows
other parts of the OS to be implemented efficiently, since it does not impose a lot of
policies.
• Micro kernels were first developed in the 1980s as a direct response to several
challenges that were plaguing the adaption of mono-kernels into newer computer
systems because of incompatibilities in the design and programming.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

TYPES OF KERNELS:
MICROKERNEL
• This is because new protocol stacks, file systems, device drivers and other low-level
systems were being developed quickly at that time.
• The above mentioned functionalities were often located in the monolithic kernel which
results to a lot of work and careful code management when being modified to be used
in newer systems.
• The microkernel idea was to implement all of these functions as user-space programs
which allowed them to be turned on and off like normal programs; they are being run
as daemons.
• This allowed for easier manipulation of these functions and for the separation of the
kernel code for fine tuning without worrying about other side effects.
COMPUTER SCIENCE & ENGINEERING 20CSPC503
MOBILE COMPUTING

MICROKERNEL:

•But most especially, it allowed other operating systems to be built on top of this
common core or microkernel which greatly advanced the research on operating
systems.

You might also like