0% found this document useful (0 votes)
144 views15 pages

Unit-V - Virtual Machines and Mobile OS-QB

The document covers Virtual Machines and Mobile Operating Systems, detailing virtualization concepts, types of hypervisors, and the advantages of virtualization. It also discusses mobile OS features, specifically iOS and Android, and includes a series of questions and answers related to these topics. The case study aims to provide a comprehensive understanding of virtualization technologies and their applications in mobile operating systems.

Uploaded by

nithya nithi
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)
144 views15 pages

Unit-V - Virtual Machines and Mobile OS-QB

The document covers Virtual Machines and Mobile Operating Systems, detailing virtualization concepts, types of hypervisors, and the advantages of virtualization. It also discusses mobile OS features, specifically iOS and Android, and includes a series of questions and answers related to these topics. The case study aims to provide a comprehensive understanding of virtualization technologies and their applications in mobile operating systems.

Uploaded by

nithya nithi
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/ 15

UNIT - V CASE STUDY CSE

UNIT V VIRTUAL MACHINES AND MOBILE OS

Virtual Machines - History, Benefits and Features, Building Blocks, Types of Virtual Machines
and their Implementations, Virtualization and Operating-System Components; Mobile OS - iOS and
Android.
2 MARKS QUESTIONS WITH ANSWERS

1. What is virtualization?
Virtualization is the creation of a virtual -- rather than actual -- version of something, such as an operating
system, a server, a storage device or network resources.

2. Why virtualization is required?


Virtualization reduces the number of physical servers, reducing the energy required to power and cool them.
Save time. ... It's also much faster to deploy a virtual machine than it is to deploy a new physical server.
Reduce desktop management headaches.

3. Classify Virtualization.
• Full virtualization
• Paravirtualization
• Hardware-assisted virtualization

4. Define Hypervisor.
A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates
and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a
host machine, and each virtual machine is called a guest machine.

5. List the two types of Hypervisor.


There are two types of hypervisors: Type 1 and Type 2. Type 1 hypervisors run directly on the system
hardware. They are often referred to as a "native" or "bare metal" or "embedded" hypervisors in vendor
literature. Type 2 hypervisors run on a host operating system.

6. List the advantages of Virtualization.


• Better utilization of computer hardware.
• More securable and manageable than one kernel running many applications.
• Reduce complexity of hardware.
• Consumes less power and less space.
• Requires less maintenance
• Extended life for installed software.

7. What does Media Layer mean?


Media layer is an Apple Inc. term that refers to software frameworks and technologies that enable audio,
visual and other multimedia capabilities within an iOS powered device. It defines the entire multimedia
architecture within Apple-powered mobile devices and applications.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

8. Define Services Layer.


Service layer is the middle layer between presentation and data store. It abstracts business logic and data
access. The idea behind such a layer is to have an architecture which can support multiple presentation
layers such as web, mobile, etc.

9. What is meant by Virtual Machines?


Fundamental idea – abstract hardware of a single computer into several different execution environments
• Similar to layered approach
• But layer creates virtual system (virtual machine, or VM) on which operation systems or applications
can run

10. List the Several components available in Virtual machines.


• Host – underlying hardware system
• Virtual machine manager (VMM) or hypervisor – creates and runs virtual machines by providing
interface that is identical to the host (Except in the case of paravirtualization)
• Guest – process provided with virtual copy of the host, Usually an operating system.

11. What is Mobile OS?


A mobile operating system is an operating system that helps to run other application software on mobile
devices. It is the same kind of software as the famous computer operating systems like Linux and Windows,
but now they are light and simple to some extent.

12. List out the various mobile OS.


The operating systems found on smartphones include Symbian OS, iPhone OS, RIM's BlackBerry,
Windows Mobile, Palm WebOS, Android, and Maemo. Android, WebOS, and Maemo are all derived from
Linux. The iPhone OS originated from BSD and NeXTSTEP, which are related to Unix.

13. List out the features of iOS operating System:


1. Highly Securer than other operating systems.
2. iOS provides multitasking features like while working in one application we can switch to another
application easily.
3. iOS’s user interface includes multiple gestures like swipe, tap, pinch, Reverse pinch.
4. iBooks, iStore, iTunes, Game Center, and Email are user-friendly.
5. It provides Safari as a default Web Browser.
6. It has a powerful API and a Camera.
7. It has deep hardware and software integration

14. Give few Applications of IOS Operating System.


1. iOS Operating System is the Commercial Operating system of Apple Inc. and is popular for its
security.
2. iOS operating system comes with pre-installed apps which were developed by Apple like Mail, Map,
TV, Music, Wallet, Health, and Many More.
3. Swift Programming language is used for Developing Apps that would run on IOS Operating System.
4. In iOS Operating System we can perform Multitask like Chatting along with Surfing on the Internet.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

15. What are all the advantages of IOS Operating System:


1. More secure than other operating systems.
2. Excellent UI and fluid responsive
3. Suits best for Business and Professionals
4. Generate Less Heat as compared to Android.

16. List the features of Linux kernel.


Security: The Linux kernel handles the security between the application and the system.
Memory Management: It efficiently handles the memory management thereby providing the freedom to
develop our apps.
Process Management: It manages the process well, allocates resources to processes whenever they need
them.
Network Stack: It effectively handles the network communication.
Driver Model: It ensures that the application works properly on the device and hardware manufacturers
responsible for building their drivers into the Linux build.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

13 MARKS QUESTIONS WITH ANSWERS

1. Explain different types of Virtual Machines and their implementations.


Type 0 Hypervisor
Type 0 hypervisors have existed for many years under many names, including “partitions” and “domains”.
They are a hardware feature, and that brings its own positives and negatives.
The VMM itself is encoded in the firmware and loaded at boot time. In turn, it loads the guest images to run
in each partition. The feature set of a type 0 hypervisor tends to be smaller than those of the other types
because it is implemented in hardware.
In the control partition, a guest operating system provides services (such as networking) via daemons to
other guests, and the hypervisor routes I/O requests appropriately.
Some type 0 hypervisors are even more sophisticated and can move physical CPUs and memory between
running guests.
In these cases, the guests are paravirtualized, aware of the virtualization and assisting in its execution. For
example, a guest must watch for signals from the hardware or VMM that a hardware change has occurred,
probe its hardware devices to detect the change, and add or subtract CPUs or memory from its available
resources.
Because type 0 virtualization is very close to raw hardware execution, it should be considered separately
from the other methods discussed here.
A type 0 hypervisor can run multiple guest operating systems (one in each hardware partition).
All of those guests, because they are running on raw hardware, can in turn be VMMs. Essentially, the guest
operating systems in a type 0 hypervisor are native operating systems with a subset of hardware made
available to them. Because of that, each can have its own guest operating systems (Figure 16.5).
Other types of hypervisors usually cannot provide this virtualization-within-virtualization functionality.

Type 1 Hypervisor
Type 1 hypervisors are commonly found in company data centers and are in a sense becoming “the data-
center operating system.”
They are special-purpose operating systems that run natively on the hardware, but rather than providing
system calls and other interfaces for running programs, they create, run, and manage guest operating
systems.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

In addition to running on standard hardware, they can run on type 0 hypervisors, but not on other type 1
hypervisors. Whatever the platform, guests generally do not know they are running on anything but the
native hardware.
Type 1 hypervisors run in kernel mode, taking advantage of hardware protection.
Where the host CPU allows, they use multiple modes to give guest operating systems their own control and
improved performance.
They implement device drivers for the hardware they run on, because no other component could do so.
Because they are operating systems, they must also provide CPU scheduling, memory management, I/O
management, protection, and even security.
Frequently, they provide APIs, but those APIs support applications in guests or external applications that
supply features like backups, monitoring, and security. Many type 1 hypervisors are closed-source
commercial offerings, such as VMware ESX while some are open source or hybrids of open and closed
source, such as Citrix XenServer and its open Xen counterpart.
By using type 1 hypervisors, data-center managers can control and manage the operating systems and
applications in new and sophisticated ways. An important benefit is the ability to consolidate more operating
systems and applications onto fewer systems.
In many ways, they treat a guest operating system as just another process, able it with special handling
provided when the guest tries to execute special instructions.

Type 2 Hypervisor
Type 2 hypervisors are less interesting to us as operating-system explorers, because there is very little
operating-system involvement in these application level virtual machine managers. This type of VMM is
simply another process run and managed by the host, and even the host does not know virtualization is
happening within the VMM.
Type 2 hypervisors have limits not associated with some of the other types. For example, a user needs
administrative privileges to access many of the hardware assistance features of modern CPUs. If the VMM
is being run by a standard user without additional privileges, the VMM cannot take advantage of these
features. Due to this limitation, as well as the extra overhead of running a general-purpose operating system
as well as guest operating systems, type 2 hypervisors tend to have poorer overall performance than type 0
or 1.
As is often the case, the limitations of type 2 hypervisors also provide some benefits. They run on a variety
of general-purpose operating systems, and running them requires no changes to the host operating system. A
student can use a type 2 hypervisor, for example, to test a non-native operating system without replacing the
native operating system. In fact, on an Apple laptop, a student could have versions of Windows, Linux,
Unix, and less common operating systems all available for learning and experimentation.

Paravirtualization
As we’ve seen, paravirtualization takes a different tack than the other types of virtualization.
Rather than try to trick a guest operating system into believing it has a system to itself, paravirtualization
presents the guest with a system that is similar but not identical to the guest’s preferred system.
The guest must be modified to run on the paravirtualized virtual hardware.
The gain for this extra work is more efficient use of resources and a smaller virtualization layer.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

The Xen VMM, which is the leader in paravirtualization, has implemented several techniques to optimize
the performance of guests as well as of the host system.
For example, as we have seen, some VMMs present virtual devices to guests that appear to be real devices.
Instead of taking that approach, the Xen VMM presents clean and simple device abstractions that allow
efficient I/O, as well as good communication between the guest and the VMM about device I/O.
For each device used by each guest, there is a circular buffer shared by the guest and the VMM via shared
memory. Read and write data are placed in this buffer, as shown in Figure 16.6.

For memory management, Xen does not implement nested page tables.
Rather, each guest has its own set of page tables, set to read-only.
Xen requires the guest to use a specific mechanism, a hypercall from the guest to the hypervisor VMM,
when a page-table change is needed.
This means that the guest operating system’s kernel code must be changed from the default code to these
Xen-specific methods.
To optimize performance, Xen allows the guest to queue up multiple page-table changes asynchronously via
hypercalls and then check to ensure that the changes are complete before continuing operation.
Xen allowed virtualization of x86 CPUs without the use of binary translation, instead requiring
modifications in the guest operating systems like the one described above.
Over time, Xen has taken advantage of hardware features supporting virtualization.
As a result, it no longer requires modified guests and essentially does not need the paravirtualization
method.
Paravirtualization is still used in other solutions, however, such as type 0 hypervisors.

Programming-Environment Virtualization
Another kind of virtualization, based on a different execution model, is the virtualization of programming
environments.
Here, a programming language is designed to run within a custom-built virtualized environment.
For example, Oracle’s Java has many features that depend on its running in the Java virtual machine (JVM),
including specific methods for security and memory management.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

If we define virtualization as including only duplication of hardware, this is not really virtualization at all.
But we need not limit ourselves to that definition.
Instead, we can define a virtual environment, based on APIs, that provides a set of features that we want to
have available for a particular language and programs written in that language.
Java programs run within the JVM environment, and the JVM is compiled to be a native program on
systems on which it runs. This arrangement means that Java programs are written once and then can run on
any system (including all of the major operating systems) on which a JVM is available.
The same can be said for interpreted languages, which run inside programs that read each instruction and
interpret it into native operations.

Emulation
Virtualization is probably the most common method for running applications designed for one operating
system on a different operating system, but on the same CPU.
This method works relatively efficiently because the applications were compiled for the same instruction set
as the target system uses.
Emulation is useful when the host system has one system architecture and the guest system was compiled
for a different architecture.
For example, suppose a company has replaced its out dated computer system with a new system but would
like to continue to run certain important programs that were compiled for the old system.
The programs could be run in an emulator that translates each of the out dated system’s instructions into the
native instruction set of the new system.
Emulation can increase the life of programs and allow us to explore old architectures without having an
actual old machine.
As may be expected, the major challenge of emulation is performance.
Instruction-set emulation can run an order of magnitude slower than native instructions, because it may take
ten instructions on the new system to read, parse, and simulate an instruction from the old system.
Thus, unless the new machine is ten times faster than the old, the program running on the new machine will
run more slowly than it did on its native hardware.
Another challenge for emulator writers is that it is difficult to create a correct emulator because, in essence,
this task involves writing an entire CPU in software.
In spite of these challenges, emulation is very popular, particularly in gaming circles.
Modern systems are so much faster than old game consoles that even the Apple iPhone has game emulators
and games available to run within them.

Application Containment
The goal of virtualization in some instances is to provide a method to segregate applications, manage their
performance and resource use, and create an easy way to start, stop, move, and manage them.
In such cases, perhaps full-fledged virtualization is not needed. If the applications are all compiled for the
same operating system, then we do not need complete virtualization to provide these features. We can
instead use application containment.
Consider one example of application containment. Starting with version 10, Oracle Solaris has included
containers, or zones, that create a virtual layer between the operating system and the applications.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

In this system, only one kernel is installed, and the hardware is not virtualized. Rather, the operating system
and its devices are virtualized, providing processes within a zone with the impression that they are the only
processes on the system.
One or more containers can be created, and each can have its own applications, network stacks, network
address and ports, user accounts, and so on.
CPU and memory resources can be divided among the zones and the system-wide processes.
Each zone in fact can run its own scheduler to optimize the performance of its applications on the allotted
resources. Figure 16.7 shows a Solaris 10 system with two containers and the standard “global” user space.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

2. Explain in detail Virtualization and OS Components.


Operating system aspects of virtualization, including how the VMM provides core operating-system
functions like scheduling, I/O, and memory management.
How do VMMs schedule CPU use when guest operating systems believe they have dedicated CPUs?
How can memory management work when many guests require large amounts of memory?

CPU Scheduling
A system with virtualization, even a single-CPU system, frequently acts like a multiprocessor system.
The virtualization software presents one or more virtual CPUs to each of the virtual machines running on the
system and then schedules the use of the physical CPUs among the virtual machines.
The VMM has a number of physical CPUs available and a number of threads to run on those CPUs. The
threads can be VMM threads or guest threads.
Guests are configured with a certain number of virtual CPUs at creation time, and that number can be
adjusted throughout the life of the VM.
When there are enough CPUs to allocate the requested number to each guest, the VMM can treat the CPUs
as dedicated and schedule only a given guest’s threads on that guest’s CPUs.
In this situation, the guests act much like native operating systems running on native CPUs.
Of course, in other situations, there may not be enough CPUs to go around.
The VMM itself needs some CPU cycles for guest management and I/O management and can steal cycles
from the guests by scheduling its threads across all of the system CPUs, but the impact of this action is
relatively minor.
Commonly, the time-of-day clocks in virtual machines are incorrect because timers take longer to trigger
than they would on dedicated CPUs. Virtualization can thus undo the good scheduling-algorithm efforts of
the operating systems within virtual machines.
To correct for this, a VMM will have an application available for each type of operating system that system
administrators install into the guests. This application corrects clock drift and can have other functions such
as virtual device management.

Memory Management
Efficient memory use in general-purpose operating systems is one of the major keys to performance.
In virtualized environments, there are more users of memory (the guests and their applications, as well as the
VMM), leading to more pressure on memory use.
Further adding to this pressure is that VMMs typically overcommit memory, so that the total memory with
which guests are configured exceeds the amount of memory that physically exists in the system.
The extra need for efficient memory use is not lost on the implementers of VMMs, who take great measures
to ensure the optimal use of memory.
For example, VMware ESX guests have a configured amount of physical memory, then ESX uses 3 methods
of memory management
1. Double-paging, in which the guest page table indicates a page is in a physical frame but the VMM
moves some of those pages to backing store
2. Install a pseudo-device driver in each guest (it looks like a device driver to the guest kernel but really
just adds kernel-mode code to the guest)

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

• Balloon memory manager communicates with VMM and is told to allocate or deallocate
memory to decrease or increase physical memory use of guest, causing guest OS to free or
have more memory available
3. Deduplication by VMM determining if same page loaded more than once, memory mapping the
same page into multiple guests

I/O
Easier for VMMs to integrate with guests because I/O has lots of variation
• Already somewhat segregated / flexible via device drivers
• VMM can provide new devices and device drivers
But overall I/O is complicated for VMMs
• Many short paths for I/O in standard OSes for improved performance
• Less hypervisor needs to do for I/O for guests, the better
• Possibilities include direct device access, DMA pass-through, direct interrupt delivery
• Again, HW support needed for these
Networking also complex as VMM and guests all need network access
• VMM can bridge guest to network (allowing direct access)
• And / or provide network address translation (NAT), NAT address local to machine on which
guest is running, VMM provides address translation to guest to hide its address

Storage Management
• Both boot disk and general data access need be provided by VMM
• Need to support potentially dozens of guests per VMM (so standard disk partitioning not sufficient)
• Type 1 – storage guest root disks and config information within file system provided by VMM as a
disk image
• Type 2 – store as files in file system provided by host OS
• Duplicate file -> create new guest
• Move file to another system -> move guest
• Physical-to-virtual (P-to-V) convert native disk blocks into VMM format
• Virtual-to-physical (V-to-P) convert from virtual format to native or disk format
• VMM also needs to provide access to network attached storage (just networking) and other disk
images, disk partitions, disks, etc.,

Live Migration
Taking advantage of VMM features leads to new functionality not found on general operating systems such
as live migration
Running guest can be moved between systems, without interrupting user access to the guest or its apps
Very useful for resource management, maintenance downtime windows, etc
1. The source VMM establishes a connection with the target VMM
2. The target creates a new guest by creating a new VCPU, etc
3. The source sends all read-only guest memory pages to the target
4. The source sends all read-write pages to the target, marking them as clean

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

5. The source repeats step 4, as during that step some pages were probably modified by the guest and
are now dirty
6. When cycle of steps 4 and 5 becomes very short, source VMM freezes guest, sends VCPU’s final
state, sends other state details, sends final dirty pages, and tells target to start running the guest
Once target acknowledges that guest running, source terminates guest

3. Explain in detail iOS architecture with neat sketch.


IOS is a Mobile Operating System that was developed by Apple Inc. for iPhones, iPads, and other Apple
mobile devices. iOS is the second most popular and most used Mobile Operating System after Android.

The structure of the iOS operating System is Layered based. Its communication doesn’t occur directly. The
layer’s between the Application Layer and the Hardware layer will help for Communication. The lower level
gives basic services on which all applications rely and the higher-level layers provide graphics and interface-
related services. Most of the system interfaces come with a special package called a framework.

A framework is a directory that holds dynamic shared libraries like .a files, header files, images, and helper
apps that support the library. Each layer has a set of frameworks that are helpful for developers.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

CORE OS Layer:
All the IOS technologies are built under the lowest level layer i.e. Core OS layer. These technologies
include:
• Core Bluetooth Framework
• External Accessories Framework
• Accelerate Framework
• Security Services Framework
• Local Authorization Framework etc.
It supports 64 bit which enables the application to run faster.

CORE SERVICES Layer:


Some important frameworks are present in the CORE SERVICES Layer which helps the iOS operating
system to cure itself and provide better functionality. It is the 2nd lowest layer in the Architecture as shown
above. Below are some important frameworks present in this layer:
Address Book Framework-
The Address Book Framework provides access to the contact details of the user.
Cloud Kit Framework-
This framework provides a medium for moving data between your app and iCloud.
Core Data Framework-
This is the technology that is used for managing the data model of a Model View Controller app.
Core Foundation Framework-
This framework provides data management and service features for iOS applications.
Core Location Framework-
This framework helps to provide the location and heading information to the application.
Core Motion Framework-
All the motion-based data on the device is accessed with the help of the Core Motion Framework.
Foundation Framework-
Objective C covering too many of the features found in the Core Foundation framework.
HealthKit Framework-
This framework handles the health-related information of the user.
HomeKit Framework-
This framework is used for talking with and controlling connected devices with the user’s home.
Social Framework-
It is simply an interface that will access users’ social media accounts.
StoreKit Framework-
This framework supports for buying of contents and services from inside iOS apps.

MEDIA Layer:
With the help of the media layer, we will enable all graphics video, and audio technology of the system. This
is the second layer in the architecture. The different frameworks of MEDIA layers are:
ULKit Graphics-
This framework provides support for designing images and animating the view content.
Core Graphics Framework-
This framework support 2D vector and image-based rendering and it is a native drawing engine for iOS.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

Core Animation-
This framework helps in optimizing the animation experience of the apps in iOS.
Media Player Framework-
This framework provides support for playing the playlist and enables the user to use their iTunes library.
AV Kit-
This framework provides various easy-to-use interfaces for video presentation, recording, and playback of
audio and video.
Open AL-
This framework is an Industry Standard Technology for providing Audio.
Core Images-
This framework provides advanced support for motionless images.
GL Kit-
This framework manages advanced 2D and 3D rendering by hardware-accelerated interfaces.

COCOA TOUCH:
COCOA Touch is also known as the application layer which acts as an interface for the user to work with
the iOS Operating system. It supports touch and motion events and many more features. The COCOA
TOUCH layer provides the following frameworks:
EvenKit Framework-
This framework shows a standard system interface using view controllers for viewing and changing events.
GameKit Framework-
This framework provides support for users to share their game-related data online using a Game Center.
MapKit Framework-
This framework gives a scrollable map that one can include in your user interface of the app.
PushKit Framework-
This framework provides registration support.

4. Explain in detail Android architecture with neat sketch.


Android architecture contains different number of components to support any android device needs.
Android software contains an open-source Linux Kernel having collection of number of C/C++ libraries
which are exposed through an application framework services.
Among all the components Linux Kernel provides main functionality of operating system functions to
smartphones and Dalvik Virtual Machine (DVM) provide platform for running an android application.

The main components of android architecture are following:-


1. Applications
2. Application Framework
3. Android Runtime
4. Platform Libraries
5. Linux Kernel
Pictorial representation of android architecture with several main components and their sub components –

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

Applications
Applications is the top layer of android architecture. The pre-installed applications like home, contacts,
camera, gallery etc and third party applications downloaded from the play store like chat applications, games
etc. will be installed on this layer only.
It runs within the Android run time with the help of the classes and services provided by the application
framework.

Application framework
Application Framework provides several important classes which are used to create an Android application.
It provides a generic abstraction for hardware access and also helps in managing the user interface with
application resources. Generally, it provides the services with the help of which we can create a particular
class and make that class helpful for the Applications creation.
It includes different types of services activity manager, notification manager, view system, package manager
etc. which are helpful for the development of our application according to the prerequisite.

Application runtime
Android Runtime environment is one of the most important part of Android. It contains components like
core libraries and the Dalvik virtual machine (DVM). Mainly, it provides the base for the application
framework and powers our application with the help of the core libraries.

Mr. N.Thanigaivel, AP/CSE


UNIT - V CASE STUDY CSE

Like Java Virtual Machine (JVM), Dalvik Virtual Machine (DVM) is a register-based virtual machine and
specially designed and optimized for android to ensure that a device can run multiple instances efficiently. It
depends on the layer Linux kernel for threading and low-level memory management. The core libraries
enable us to implement android applications using the standard JAVA or Kotlin programming languages.

Platform libraries
The Platform Libraries includes various C/C++ core libraries and Java based libraries such as Media,
Graphics, Surface Manager, OpenGL etc. to provide a support for android development.
Media library provides support to play and record an audio and video formats.
Surface manager responsible for managing access to the display subsystem.
SGL and OpenGL both cross-language, cross-platform application program interface (API) are used for 2D
and 3D computer graphics.
SQLite provides database support and FreeType provides font support.
Web-Kit This open source web browser engine provides all the functionality to display web content and to
simplify page loading.
SSL (Secure Sockets Layer) is security technology to establish an encrypted link between a web server and
a web browser.

Linux Kernel
Linux Kernel is heart of the android architecture. It manages all the available drivers such as display drivers,
camera drivers, Bluetooth drivers, audio drivers, memory drivers, etc. which are required during the runtime.
The Linux Kernel will provide an abstraction layer between the device hardware and the other components
of android architecture. It is responsible for management of memory, power, devices etc.

Mr. N.Thanigaivel, AP/CSE

You might also like