0% found this document useful (0 votes)
9 views

CBS Operating System ODD SEM

Uploaded by

dhanabal.cse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

CBS Operating System ODD SEM

Uploaded by

dhanabal.cse
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Hindusthan College of Engineering and Technology

(An Autonomous Institution Affiliated to Anna University | Approved by AICTE, New Delhi,
Accredited with ‘A’ Grade by NAAC | Accredited by NBA (ECE, MECH, EEE, IT & CSE)
Valley Campus, Pollachi Highway, Coimbatore 641 032. | www.hicet.ac.in

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CONTENT BEYOND THE SYLLABUS

Name of the Faculty : Dr.S.DHANABAL


Subject code / Name : 22CS3202/Operating Systems
Year & Semester : II & III
Academic Year : 2023-2024 & ODD
Topic : Study of Android Architecture and iOS Architecture

Course Outcomes:

CO1: Design various Scheduling algorithms

CO2: Design deadlock, prevention and avoidance algorithms.

CO3: Compare and contrast various memory management


schemes.

CO4: Design and implement a prototype file system

CO5: Study the distributed operating systems

Mapping of Content beyond the Syllabus with the POs and PSOs:

PO & PSO PO PO PO PO PO PO PO PO PO PO PO PO PSO PSO


1 2 3 4 5 6 7 8 9 10 11 12 1 2
CO1 1 1 1 1 1
CO2
CO3
CO4
CO5

3 High level 2 Moderate level 1 Low level


1. Android Operating System Architecture:

Android architecture contains a different number of components to support any


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

Components of Android Architecture

The main components of Android architecture are the following:-

 Applications

 Application Framework

 Android Runtime

 Platform Libraries

 Linux Kernel

Pictorial representation of Android architecture with several main components and


their sub-components

1. 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.
2. 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.

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

Note: Now, starting from Android 5.0 and above, we use ART (Android Runtime) to
compile bytecode into native code to leverage ahead-of-time compilation.

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

5. 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. The
features of Linux kernel are:

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

2. Other Commonly Used Architectures in Android

There are few commonly used Android Architectures used mentioned below:

1. MVC ( Model View Controller )

MVC or Model View Controller breaks the model into three main
components Model that stores the application data , View UI layer that holds the
component visible on the screen and Controller that establishes the relationship
between Model and the View.

2. MVP ( Model View Presenter )

To avoid complexities like maintainability, readability, scalability, and refactoring of


applications we use MVP model. The basic working of this model relies of the points
mentioned below:

 Communication between the View-Presenter and Presenter-Model happens with


the help of Interface (also called Contract).

 There is One to One relationship between Presenter and View , One Presenter
Class only manages One View at a time.

 Model and View doesn’t have any knowledge about each other.

3. MVVM ( Model View ViewModel ) :

MVVM or Model View ViewModel as the name suggest like MVC model it contains three
components too Model , View and ViewModel. Features of MVVM model are mentioned
below:

 ViewModel does not hold any kind of reference to the View.

 Many to-1 relationships exist between View and ViewModel.


 No triggering methods to update the View.

And we can achieve this using 2 methods:

 Using DataBinding library of Google.

 Using Tools like RxJava for Data Binding.

3. Benefits of Architecture

Using Architecture solves many problems for us few of them are:

 Improves the Maintainability , quality and robustness of the application

 Scalability of the Application is increased using Architecuture as , users and


developers bot the engamenents on the application can be increased.

 Testing of Application gets easy because of it.

 Bugs can be identified and removed easily with the well defined process.

4. iOS Operating System Architecture:

1. Darwin Kernel:

 iOS is built on top of the Darwin kernel, which is a Unix-based kernel


derived from BSD (Berkeley Software Distribution). The Darwin kernel
provides similar functionality to the Linux kernel, including hardware
abstraction, memory management, process management, and security
features.

2. Core Services:

 iOS includes a set of core services and frameworks that provide additional
functionality for developers. These services include Core Foundation,
Core Graphics, Core Data, and more. Core Services facilitate tasks such as
graphics rendering, data management, and networking.

3. Cocoa Touch Framework:

 The Cocoa Touch Framework provides a set of APIs and services for
building iOS applications. It includes components such as UIKit,
Foundation, Core Animation, and more. Cocoa Touch Framework enables
developers to create intuitive, responsive, and visually appealing
applications for iOS devices.
IOS Architecture

4. Application Layer:

 Similar to Android, the top layer of iOS consists of user-installed


applications, which are distributed through the Apple App Store. iOS
applications are typically written in Objective-C or Swift and compiled
into executable binaries that run on iOS devices.

5. Comparison: Android OS vs iOS

1. Kernel:

 Both Android and iOS use Unix-based kernels (Linux for Android, Darwin
for iOS) but with different origins. They provide similar core functionality,
including hardware abstraction and security features.

2. Programming Languages:

 Android primarily uses Java for application development, while iOS uses
Objective-C and Swift. Both platforms offer robust development
environments and tools for building applications.

3. User Interface:

 Android and iOS have distinct user interfaces, with different design
paradigms and visual styles. Android offers more customization options
for users and developers, while iOS provides a consistent and polished
user experience across devices.

4. Fragmentation:

 Android is known for its device fragmentation, with a wide range of


hardware configurations and software versions. iOS, on the other hand, is
tightly controlled by Apple, resulting in a more consistent user experience
but limited device options.

5. Ecosystem:

 Android has a more open ecosystem, with multiple device manufacturers


and app stores. iOS has a closed ecosystem, with devices exclusively
manufactured by Apple and apps distributed through the Apple App
Store.

You might also like