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

North South University

The document discusses the Android operating system. It covers the history and development of Android, key design principles like simplifying the user experience, the technology used for process and memory management including the Dalvik virtual machine and Linux kernel, Android's file system partitions, and security features like application sandboxing and permissions. It concludes that Android is becoming the most popular mobile OS due to its features and services available through Google.

Uploaded by

Nafiz Sheikh
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)
147 views

North South University

The document discusses the Android operating system. It covers the history and development of Android, key design principles like simplifying the user experience, the technology used for process and memory management including the Dalvik virtual machine and Linux kernel, Android's file system partitions, and security features like application sandboxing and permissions. It concludes that Android is becoming the most popular mobile OS due to its features and services available through Google.

Uploaded by

Nafiz Sheikh
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/ 6

NORTH SOUTH UNIVERSITY

Department of Electrical and Computer Engineering (ECE)

Course Name: CSE323


Sec: 09
Course Instructor Name: Mosabber Uddin Ahmed
Course Title: Operating Systems Design

Submitted by:
Name- Shahara Tabassum
ID- 1721236042
Submitted To:
Mosabber Uddin Ahmed(MUA3)

Date of Submission: 28.09.2020


Introduction
The Android operating system is a mobile operating system that was developed by Google to be
primarily used for touchscreen devices, cell phones, and tablets. Its design lets users
manipulate the mobile devices intuitively, with finger movements that mirror common
motions, such as pinching, swiping, and tapping. Google also employs Android software in
televisions, cars, and wristwatches—each of which is fitted with a unique user interface. [1]

The history of android has been revolutionary and beyond everyone’s imagination. Android was
developed by Android Inc. in Palo Alto, California. The company was founded in October 2003
by Andy Rubin, Rich Miner, Nick Sears and Chris white. It was mainly designed for devices
having touchscreen interface like mobile phones and tablets. Then in year 2005 when the
company ran into financial difficulties Google came forward and backed it and in small course
of time Google took total ownership of the company. In year 2007 android was reveled having a
goal to provide an open source operating system which can be easily customized as per the
need. Then in year 2008 finally the first phone came which ran on android platform. It was HTC
dream which ran on an android version called cupcake.

Design principles of the operating system

Google published its Android Design Principles. They are grouped into three main headings:
Enchant Me - generally concerns appearance
Simplify My Life - means making apps that are easy and intuitive to use
Make Me Amazing - is mostly for giving people ownership and making them feel capable of
using all of the app's functions.
These are high-level objectives, but there are some key design principles within them that every
Android developer should implement. Here are five of them.
1. Get to Know Me
This means creating Android applications that learn about the preferences of users, rather than
asking them the same questions over and over again. This improves the user experience by
speeding up their interaction with the app.
2. Keep it Brief
Long lines of texts, complicated words and convoluted messages are considered bad Android
design. Instead, make the messages, instructions and content on the screen concise and
straight to the point, and use simple, everyday language.
3. Only Show What I Need When I Need It
This is about creating apps that are clean and uncluttered. One way to do this is to avoid
crowding the screen with lots of options, links and menu items. These options and features
should all be available to the user, but only when the user decides they want them. An example
of this is putting three vertical dots in the corner of the screen to show the user that there is a
menu. When the user wants to use the menu, they will tap on it. When they don't want to use
it, the menu stays out of their way.
4. Make Important Things Fast
Your app will probably do several things. For example, a game will have the option to change
settings, view high scores, or make in-app purchases. But the most important function on a
game app is the button that says "Play". Therefore, this should be prominent so that it is easy
to find and easy to use. Another example that many people use on a regular basis is the shutter
button on a camera. It is—and should be—the biggest and most obvious button on the
interface.
5. Do the Heavy Lifting for Me
This is all about empowering the user by getting the app to perform functions with a single tap.
For example, your app might allow your users to do a combination of functions: A, B, C or D. To
follow this design principle, you would make it even easier by creating additional ways to do
A+B or A+B+C+D etc. An example is applying filters to a photo. You could have individual filters,
but also give your users options that apply multiple filters that you know work well together.
This will make the user feel like they are achieving more, although they are not investing any
additional time or effort. [2]
Detailed understanding of the technology used in process and memory
management

Android is a Linux based operating system. It uses native open source C libraries which power
Linux machines. All the basic operating system operations like I/O, memory management and so
on are handled by the Linux kernel. Like Java and .NET, Android uses its own run time and virtual
machine to manage application memory. Unlike either of these frameworks, the Android run
time also manages the lifetime processes.
Each Android application runs in a separate process within its own Dalvik instance, relinquishing
all responsibility for memory and process management to the Android run time, which stops and
kills processes, necessary to manage resources. Android stores background application processes
in a LRU cache. When the system runs low on memory, it will kill processes according to the LRU
strategy, but it will also consider which application is the largest memory consumer. Currently
the maximum background process count is 20 (depending on the specific device
configuration). Dalvik is an open source, register-based virtual machine (VM) that is part of
the Android Operating System. The Dalvik VM executes files in the Dalvik Executable (.dex)
format. Resources are simple files in xml format. The Dalvik* Virtual Machine’s heap size for
application processes is limited. Applications start up with 2 MB, and the maximum allocation,
marked as “largeHeap,” is limited to 36 MB (depending on the specific device configuration).
Examples of large heap applications are Photo/Video Editor, Camera, Gallery, and Home Screen.
Dalvik and the Android run time sit on top of a Linux kernel that handles low-level hardware
interaction including drivers and memory management, while a set of APIs provide access to all
the under-lying services, features and hardware.

Since Android devices are usually battery-powered, Android is designed to manage processes to
keep power consumption at a minimum. When an application is not in use the system suspends
its operation so that, while available for immediate use rather than closed, it does not use battery
power or CPU resources. Android manages the applications stored in memory automatically:
when memory is low, the system will begin invisibly and automatically closing inactive processes,
starting with those that have been inactive for the longest amount of time. Lifehacker reported
in 2011 that third-party task killer applications were doing more harm than good.
A systematic examination and evaluation of data or information is very important so that we
can manage the available memory in an effective way. For this we have DDMS in Android

Studio IDE, using which we can analyze the memory being utilized. (IDE is Integrated
Development Environment which provides the platform for developing an app in Android) [3]

File system
Android uses several partitions (like boot, system, recovery, data etc) to organize files and
folders on the device just like Windows OS. Each of these partitions has its own functionality,
but most of us don’t know the significance of each partition and its contents. There are mainly 6
partitions in Android phones, tablets and other Android devices.
 /boot
 /system
 /recovery
 /data
 /cache
 /misc
Also below are the for SD Card Fie System Partitions.
 /sdcard
 /sd-ext [4]

Security used
Security is a major part of any Android device. Android was created with openness in mind, and
is conducive to the use of third-party applications and cloud-based services. Android seeks to
be a secure and usable operating system for mobile platforms.

The Linux kernel provides Android with a set of security measures. It grants the operating
system a user-based permissions model, process isolation, a secure mechanism for IPC, and the
ability to remove any unnecessary or potentially insecure parts of the kernel. It further works to
prevent multiple system users from accessing each other’s resources and exhausting them.
Android's Five Key Security Features:

1. Security at the operating system level through the Linux kernel


2. Mandatory application sandbox
3. Secure interprocess communication
4. Application signing
5. Application-defined and user-granted permissions [5]

Conclusion
Android operating system is now becoming best among all the other mobile operating system.
All Google services can you have with one operating system, namely “Android”. By Android
versions its features are increased rapidly. , most of the users like Android smart phones, and it
is best OS among all other OS like windows, iOS. The most popular Android version is Android
4.4(KitKat). Android provide security to its application but IT also contains limitations of
security.

References
[1] "Android App Development," Acadgild, 03 July 2017. [Online]. Available:
https://acadgild.com/blog/android-memory-management.

[2] J. Chen, "Investopedia," 13 February 2020. [Online]. Available:


https://www.investopedia.com/terms/a/android-operating-system.asp.

[3] Happymarli, "5 Key Android Design Principles," 26 February 2015. [Online]. Available:
https://www.freelancer.com.bd/community/articles/5-key-android-design-principles.

[4] W.-M. Lee, "Android File System," John Wiley & Sons, 2012.

[5] "ANDROID SECURITY: GUIDE TO ANDROID OS," Veracode, [Online]. Available:


https://www.veracode.com/security/android-security.

You might also like