Ii BSC - Operating System Material
Ii BSC - Operating System Material
Ii BSC - Operating System Material
UNIT I: What is Operating System? History and Evolution of OS, Basic OS functions,
Resource Abstraction, Types of Operating Systems– Multiprogramming Systems,
Batch Systems, Time Sharing Systems; Operating Systems for Personal Computers,
Workstations and Hand-held Devices, Process Control & Real time Systems.
UNIT II: Processor and User Modes, Kernels, System Calls and System Programs,
System View of the Process and Resources, Process Abstraction, Process Hierarchy,
Threads, Threading Issues, Thread Libraries; Process Scheduling, Non-Preemptive and
Preemptive Scheduling Algorithms.
UNIT V: File and I/O Management, OSsecurity : Directory Structure, File Operations,
File Allocation Methods, Device Management, Pipes, Buffer, Shared Memory,
Security Policy Mechanism, Protection, Authentication and Internal Access
Authorization Introduction to Android Operating System, Android Development
Framework, AndroidApplication Architecture, Android Process Management and File
System, SmallApplication Development using Android Development Framework.
Computer Users are the users who use the overall computer system.
Application Softwares are the softwares which users use directly to
perform different activities. These softwares are simple and easy to use like
Browsers, Word, Excel, different Editors, Games etc.
System Softwares are the softwares which are more complex in nature and
they are more near to computer hardware.Operating Systems (Microsoft
Windows, macOS, and Linux).
Computer Hardware includes Monitor, Keyboard, CPU, Disks, Memory,
etc.
The History of the Operating System is divided into four generations. let us
explore all of them in detail, one by one, in the following sections:
The UNIX Operating System was the first generation of modern computer
operating systems. It was designed in 1969 by Ken Thompson and Dennis Ritchie
at Bell Labs, a research division of AT&T Corporation. UNIX was originally
written in assembly language.
The OS/360 operating system was developed in the early 1960s for IBM
mainframes. It was a comprehensive, multi-user, multitasking system that
supported virtual memory and provided an interface to a wide variety of
peripherals.
Microsoft came up with their MS-DOS operating system in 1981. This was a
single-user, single-tasking operating system that ran on IBM personal computers.
Microsoft released their first version of Windows, Windows NT, in 1993. This
was a multi-user, multitasking operating system that replaced MS-DOS on IBM
personal computers. Windows NT was based on the UNIX operating system and
provided a graphical user interface (GUI) and support for networking.
-Can be expensive
5.Job Accounting
An operating system’s (OS) job accounting feature is a powerful tool for tracking
how your computer’s resources are being used. This information can help you
pinpoint and troubleshoot any performance issues and identify unauthorized
software installations.
Examples of Batch based Operating System: Payroll System, Bank Statements, etc.
2.Time-SharingOperatingSystems
Each task is given some time to execute so that all the tasks work smoothly. Each
user gets the time of CPU as they use a single system. These systems are also
known as Multitasking Systems. The task can be from a single user or different
users also. The time that each task gets to execute is called quantum. After this
time interval is over OS switches over to the next task.
Advantages
It is more reliable as a failure of one system will not impact the other
computers or the overall system.
All computers work independently.
Resources are shared so there is less cost overall.
The system works at a higher speed as resources are shared
Costly setup.
If the server is failed, then the whole system will fail.
Complex software is used for such a system
Advantages
Centralized servers are highly stable.
Security is server managed.
Disadvantages
High cost of buying and running a server.
Dependency on a central location for most operations.
5.Real time OS
A real time operating system time interval to process and respond to inputs is very
small.
Examples: Military Software Systems, Space Software Systems are the Real time
OS example.
The quick response of the process is a must in real-time operating systems. There
is no chance of any delay in completing any process because a little delay can
cause several dangerous issues.
o Real-time operating systems have complicated layout principles and are very
costly to develop.
o Real-time operating systems are very complex and can consume critical
CPU cycles.
6. Multiprocessor OS
This operating system is commonly found on computer systems with more than
one CPU. Multiprocessor systems improve system performance by allowing the
execution of tasks on multiple processors simultaneously.
Disadvantages
7.Multi-programming OS
The operating system which can run multiple processes on a single processor
is called a multiprogramming operating system.
Advantages
2.If it has a large number of jobs, then long-term jobs will require a long wait.
Examples
Advantages
Convenience inoperability.
It also includes open-source platforms.
Gives notification ease.
Disadvantages
Instability.
It also includes poor battery quality.
Not sufficient computational power.
Examples
Android
IOS
HarmonyOS
PalmOS
An abstraction is software that hides lower level details and provides a set
of higher- level functions
Resource include the Central processing unit(CPU), memory, file storage,
I/O devices and network connections.
The fundamental operation of the operating system is to abstract the
hardware to the programmer and user. The OS provides generic interfaces
to services provided by the underlying hardware
Resource abstraction is the process of “hiding the details of how the
hardware operates, thereby making computer hardware relatively easy for
an application programmer to use.
Such an abstraction saves the programmer from needing to learn the
details of bother hardware interfaces.
1.Workstations are computers that are specifically configured to meet the most
demanding technical computing requirements.
Features of a Workstation
1.Specialized Performance
2.Reliability
3.Data integrity
4.scalability
5.expandability.
Hand-held Devices:
Example: smartphones
Smartphones
Process Control : Process control is the ability to monitor and adjust a process
to give a desired output. It is used in industry to maintain quality and improve
performance.
In this example, the set point is the temperature setting on the thermostat and the
heater turns on and off to maintain temperature. Hence, this simplest form of
process control is called on/off or deadband control.
USER Mode
If CPU is executing the user applications then CPU will be in the user mode. The
User applications are games, media players, text editor, MS Office etc.
Executing code in user mode has no ability to directly access some resources like
Hard Disk, memory, Printer and other I/O devices. Because, To access these
resources we have to use kernel mode through System Call.
Note: User mode is also known as safe mode and Restricted mode.
Whenever the system call generate, CPU switch to kernel mode from user mode.
System call is executed in kernel mode. After execution of system call it returns
back to user mode.
Note: kernel mode also known as system, private or supervisory mode, protected
mode because user can’t access this area directly
If we want To play movie then we have to double click on that particular video.
As, that video exist in main memory and main memory is hardware.So, CPU
cannot access the hardware in user mode. System have to request through system
call to open the file in main memory. So, OPEN () system call is generated and
CPU switch to Kernel mode. Now OS in kernel, open that particular file from main
memory. After opening the file CPU switch back to user mode. Now we are
watching the movie in user mode. When user want to close the file then CLOSE
system call again generated.
Process control
The process control system call is used to create and manage the processes in the
operating system.
File management
The file management system call controls the file and directory system of the
computer.
Device management
The device management system call is required to control and manage the devices
attached to the computer system.
Information maintenance
The information maintenance system call maintains the information of the
computer such as system time, date, etc.
Communications
A communication call is required to connect your computer over the network.
System Programs
There are mainly six types of system programs. These are classified as follows:
User View – The user viewpoint focuses on how the user interacts with the
operating system through the usage of various application programs. In contrast,
the system viewpoint focuses on how the hardware interacts with the operating
system to complete various tasks.
System View
The goal of the operating system in this viewpoint is to maximize the performance.
In this viewpoint, the operating system is more involved with hardware services –
CPU time, memory space, I/O operation, and so on. The operating system is
involved in managing the hardware resources and allocation them to programs and
users for maximum performance.
Abstraction means hiding the working complexity of the system. The operating
system provides a layer of abstraction with the help of OSAL.
OSAL stands for Operating System Abstraction Layer, a set of APIs that a
developer can use to quickly develop an application without considering the
type of operating system, hardware, and background complexity of the
operating system.
The main purpose of abstraction provided by the operating system is to hide the
working complexity or technical details of the system. With the help of
abstraction, the Operating System provides a separation between hardware and
software.
Operating system provides hardware abstraction which allows the system users
or developers to develop system-independent applications.
Using a hardware abstraction layer the user processes or system processes can
simply use the hardware devices with the help of specific system calls.
4.Explain process Hierarchy? Write about the process and the process state
and Process Control Block(PCB)
When a process creates another process, then the parent and the child processes
tend to associate with each other in certain ways and further. The child process can
Process:
An active program which running now on the Operating System is known as the
process.
For example, when you want to search something on web then you start a
browser. So, this can be process.
The process control block contains many attributes such as process ID, process
state, process priority, accounting information, program counter, CPU registers`,
etc for each process.
When a new process is created by the user, the operating system assigns a unique
ID
2. Process State:
A process, from its creation to completion goes through different states. Generally,
a process may be present in one of the 5 states during its execution:
Process priority is a numeric value that represents the priority of each process.
This attribute gives the information of the resources used by that process in its
lifetime. For Example: CPU time connection time, etc.
5. Program Counter:
The program counter is a pointer that points to the next instruction in the program
to be executed.
6.CPU registers:
7. Context Switching:
A context switching is a process that involves switching the CPU from one process
or task to another.
8. PCB pointer:
This field contains the address of the next PCB, which is in ready state. This helps
the operating system to hierarchically maintain an easy control flow between
parent processes and child processes.
As the name suggests, It contains information on all the files that are used by that
process.
In this field, the list of all the input/output devices which are required by that
process during its execution is mentioned.
Threads:
Thread is the smallest executable unit of a process. For example, when you run a
notepad program, operating system creates a process and starts the execution of
main thread of that process.
A process can have multiple threads. Each thread will have their own task and own
path of execution in a process. For example, in a notepad program, one thread will
be taking user inputs and another thread will be printing a document .
Types of Threads
1. Kernel level thread.
2. User-level thread.
User-level thread
The kernel-level thread is implemented by the operating system. The kernel knows
about all the threads and manages them. The kernel-level thread offers a system
call to create and manage the threads from user-space.
Components of Thread
1. Program Counter
2. Register Set
3. Stack space
Threading Issues
Following threading issues are:
Asynchronous Signal: The signal which is generated outside the process which
receives it.
Synchronous Signal: The signal which is generated and delivered in the same
process.
4.Thread pool
The time require to create a new thread is more than the time required by the
thread to service the request and then getting discarded as it would result in
wastage of CPU time.
Whenever the request arrives at the server, it invokes a thread from the pool and
assigns it the request to be serviced. The thread completes its service and return
back to the pool and wait for the next request.
1. Job Queue – Whenever any process enters the system its there in job Queue
2. Ready Queue – Processes in the ready queue waiting for run time are in the
ready queue.
3. Device Queue – Some processes may be waiting some I/O operation, such
processes are in the device queue.
1. Long-term Scheduler
2. Short-term Scheduler
Once a process is executed for a given time period, it is preempted and other
EXAMPLE:
Gantt Chart
P0 P0 P0 P3 P0 P2 P1
0 1 2 3 4 7 11 13
Average TurnAroundTime=sum of TAT/4
=7+12+9+1/4
=28.25
Average Waiting Time=sum of wt/4
=1+10+5+0/4
=16
The SRTF scheduling algorithm is the preemptive version of the SJF scheduling
algorithm in OS. This calls for the job with the shortest burst time remaining to be
executed first, and it keeps preempting jobs on the basis of burst time remaining in
ascending order.
Examples: First Come First Serve, Shortest Job First, Priority Scheduling, etc.
P0 0-0=0
P1 5-1=4
P2 8-2=6
P3 16 - 3 = 13
P0 0 5 0
P1 1 3 5
P2 2 8 14
P3 3 6 8
P0 0-0=0
P1 5-1=4
P3 8-3=5
Example
PROCESS MANAGEMENT
In the diagram given below, Process 2 holds Resource 2 and Resource 3 and
is requesting the Resource 1 which is held by Process 1.
3.No preemption: The resource can be released by a process voluntarily i.e. after
execution of the process.
4.Circular Wait
All the processes must be waiting for the resources in a cyclic manner so
that the last process is waiting for the resource which is being held by the
first process.
1.Deadlock Prevention
let us take an example of a chair, as we know that chair always stands on its four
legs. Likewise, for the deadlock problem, all the above given four conditions are
needed. If anyone leg of the chair gets broken, then definitely it will fall. The same
is the situation with the deadlock if we become able to violate any condition
among the four and do not let them occur together then there can be prevented
from the deadlock problem.
1.Mutual Exclusion
A resource can only be shared in mutually exclusive manner.
2.Hold and Wait
A process waits for some resources while holding another resource at the same time.
3.No preemption:
The resource can be released by a process voluntarily i.e. after execution of the
process.
4.Circular Wait
All the processes must be waiting for the resources in a cyclic manner
2. Deadlock Avoidance
When a process requests a resource, the deadlock avoidance algorithm
examines the resource-allocation state. If allocating that resource sends
the system into an unsafe state, the request is got granted.
Abort one process at a time until the system recovers from the deadlock.
4. Deadlock Ignorance
In the method, the system assumes that deadlock never occurs. Since the
problem of deadlock situation is not frequent, some systems simply ignore
it. Operating systems such as UNIX and Windows follow this approach.
However, if a deadlock occurs we can reboot our system and the
deadlock is resolved automatically.
Since only one process can access critical section, all other process must
be stopped from accessing it. There should be some requirements that
must be fulfilled while accessing it.
2.Counting Semaphores
1.Binary Semaphores
In these types of Semaphores the integer value of the semaphore can only be
either 0 or 1. If the value of the Semaphore is 1, it means that the process can
proceed to the critical section. if the value of the binary semaphore is 0, then the
process cannot continue to the critical section of the code.
2.Counting Semaphores
Counting semaphores are signaling integers that can take on any integer value.
There are different modes of inter-process communication like pipes, socket, file,
signal, shared memory message queue & message passing.The working of IPC
mainly depends on a few important methods or approaches which are discussed
below.
1.Pipes
A Pipe is one type of data channel, extensively used for communication in between
two processes is unidirectional.
2.Socket
This is the endpoint to transmit or receive data within a network. This is true for
data transmitted between processes on a similar computer otherwise between
various computers on a similar network. Sockets are used by most of the operating
systems for IPC or interprocess communication.
4.Signal
The signal is very useful in IPC in a restricted way. They are system messages
transmitted from one process to another.
5.Message Queues
A linked list of messages is known as a message queue that is stored in the kernel.
It can be simply recognized through a message queue identifier. So this technique
provides communication in between single.
Message Queue
6.Shared Memory
Process synchronization is very helpful when multiple processes are running at the
same time and more than one process has access to the same data or resources at
the same time. Process synchronization is generally used in the multi-process
system. When more than two processes have access to the same data or resources
at the same time it can cause data inconsistency so to remove this data
inconsistency processes should be synchronized with each other.
In the above picture, We take an example of a bank account that has a current
balance of 500 and there are two users which have access to that account. User 1
and User 2 both are trying to access the balance. If process 1 is for withdrawal and
process 2 is for checking the balance both will occur at the same time then user 1
might get the wrong current balance. To avoid this kind of data inconsistency
process synchronization in os is very helpful.
Entry Section:- This section is used to decide the entry of the process
Critical Section:- This section is used to make sure that only one process access
and modifies the shared data or resources.
Exit Section:- This section is used to allow a process that is waiting in the entry
section and make sure that finished processes are also removed from the critical
section.
Remainder Section:- The remainder section contains other parts of the code
which are not in the Critical or Exit sections.
Consider,
• a buffer which can store n items
• a producer process which creates the items (1 at a time)
• a consumer process which processes them (1 at a time)
A producer cannot produce unless there is an empty buffer slot to fill.
A consumer cannot consume unless there is at least one produced item.
process producer
{
while (true)
{
empty.acquire( );
mutex.acquire( );
// produce
mutex.release( );
full.release( );
}
}
process consumer
{
while (true)
{
full.acquire( );
mutex.acquire( );
// consume
mutex.release( );
empty.release( );
}
}
The semaphore mutex provides mutual exclusion for access to the buffer
readerCount is a <cs> over which we must maintain control and we use mutex to
do so.
3. The Dining Philosophers Problem
n philosophers sit around a table thinking and eating. When a philosopher thinks
she does not interact with her colleagues. Periodically, a philosopher gets hungry
and tries to pick up the chopstick on his left and on his right. A philosopher may
only pick up one chopstick at a time and, obviously, cannot pick up a chopstick
already in the hand of neighbor philosopher.
The dining philosophers problems is an example of a large class or concurrency
control problems; it is a simple representation of the need to allocate several
resources among several processes in a deadlock-free and starvation-free manner.
Types of Partitions
Contiguous memory allocation can be achieved when we divide the memory into
the following types of partitions:
1. Fixed-Sized Partitions
Another name for this is static partitioning. In this case, the system gets divided
into multiple fixed-sized partitions. In this type of scheme, every partition may
consist of exactly one process. This very process limits the extent at which
multiprogramming would occur, since the total number of partitions decides the
total number of processes.
2. Variable-Sized Partitions
Dynamic partitioning is another name for this. The scheme allocation in this type
of partition is done dynamically. Here, the size of every partition isn’t declared
initially. Only once we know the process size, will we know the size of the
Frame number specifies the specific frame where the required page is stored.
Page Offset specifies the specific word that has to be read from that page.
SEGMENTATION:
In the segmentation the logical memory can be divided into fixed sized blocks
these blocks are called as segments. Segmentation is a memory management
functionality that supports the user view of memory. In this, the logical memory is
divided into segments and each segment consists of segments number and offset
For example the segments in the user view of memory (logical address)is
represented as follows.
1.base
2.limit
a) base – contains the starting physical address where the segments reside in
memory.
For example,
Whenever a page fault occurs, the operating system looks at the front-end
of the queue to know the page to be replaced by the newly requested
page.
Total Hits=1
This is the Last in First Out algorithm and works on LIFO principles. In this
algorithm, the newest page is replaced by the requested page. Usually, this is done
Example: Let’s see how the LIFO performs for our example string of 3, 1, 2, 1, 6,
5, 1, 3 with 3-page frames:
Total faults=5
Hits=3
This algorithm stands for "Least recent used" and this algorithm helps the
Operating system to search those pages that are used over a short duration of time
frame.
In this algorithm, when a page fault occurs, then the page that has not been
used for the longest duration of time is replaced by the newly requested page.
Example: Let’s see the performance of the LRU on the same reference string of 3,
1, 2, 1, 6, 5, 1, 3 with 3-page frames:
Example:
Faults=5
Hits=3
This algorithm, as the name suggests, chooses any random page in the
memory to be replaced by the requested page. This algorithm can behave like
any of the algorithms based on the random page chosen to be replaced.
Example: Suppose we choose to replace the middle frame every time a page
fault occurs. Let’s see how our series of 3, 1, 2, 1, 6, 5, 1, 3 with 3-page
frames perform with this algorithm:
Faults=6
Hits=2
A Directory is the collection of the correlated files on the disk. In simple words, a
directory is like a container which contains file and folder. In a directory, we can
store the complete file attributes or some attributes of the file.
1. Name
2. Type
3. Location
4. Size
5. Position
6. Protection
7. Usage
Name: - Name is the name of the directory, which is visible to the user.
Location: - Location is the location of the device where the header of a file is
located.
Usage: - Usage means the time of creation, modification, and access, etc.
Operations on Directory
The various types of operations on the directory are:
1. Creating
2. Deleting
3. Searching
4. List a directory
5. Renaming
1. Single-Level Directory
2. Two-Level Directory
3. Tree-Structured Directory
4. Acyclic Graph Directory
3.Tree-Structured Directory
In a tree directory structure, except root directory, every directory or file has
only one parent directory. So, there is a total separation between the users
which provide complete naming freedom. Here, if a user wishes to access
another users file, it has to go through two or more directories.
1.Create operation:
This operation is used to create a file in the file system. It is the most widely used
operation performed on the file system. To create a new file of a particular type the
associated application program calls the file system.
2. Open operation:
The user wants to open a file, it provides a file name to open the particular file in
the file system.
3. Write operation:
4. Read operation:
This operation reads the contents from a file. A Read pointer is maintained by the
OS, pointing to the position up to which the data has been read.
The seek system call re-positions the file pointers from the current position to a
specific place in the file i.e. forward or backward depending upon the user's
requirement. This operation is generally performed with those file management
systems that support direct access files.
6. Delete operation: Deleting the file will not only delete all the data stored inside
the file it is also used so that disk space occupied by it is freed. In order to delete
the specified file the directory is searched. When the directory entry is located, all
the associated file space and the directory entry is released.
7. Truncate operation:
Truncating is simply deleting the file except deleting attributes. The file is not
completely deleted although the information stored inside the file gets replaced.
8. Close operation:
When the processing of the file is complete, it should be closed so that all the
changes made permanent and all the resources occupied should be released. On
closing it deallocates all the internal descriptors that were created when the file was
opened.
9. Append operation:
Contiguous Allocation.
Linked Allocation.
Indexed Allocation.
Assuming a file needs 'n' number of blocks in the disk and the file begins with
Advantages
The Linked file allocation overcomes the drawback of contiguous file allocation.
Here the file which we store on the hard disk is stored in a scattered manner
according to the space available on the hard disk.
The indexed file allocation is somewhat similar to linked file allocation as indexed
file allocation also uses pointers but the difference is here all the pointers are put
together into one location which is called index block.
Example
As shown in the diagram below block 19 is the index block which contains all the
addresses of the file named text1. In order, the first storage block is 9, followed by
16, 1, then 10, and 25. The negative number -1 here denotes the empty index block
list as the file text1 is still too small to fill more blocks.
5. Explain Pipes?
Pipe is a communication medium between two or more related or interrelated
processes. It can be either within one process or a communication between the
child and the parent processes. Communication can also be multi-level such as
communication between the parent, the child and the grand-child, etc.
Communication is achieved by one process writing into the pipe and other reading
from the pipe. To achieve the pipe system call, create two files, one to write into
the file and another to read from the file.
Pipe mechanism can be viewed with a real-time scenario such as filling water with
the pipe into some container, say a bucket, and someone retrieving it, say with a
mug. The filling process is nothing but writing into the pipe and the reading
process is nothing but retrieving from the pipe. This implies that one output (water)
is input for the other (bucket).
1. Single Buffer
In Single Buffering, only one buffer is used to transfer the data between two
devices. The producer produces one block of data into the buffer. After that, the
consumer consumes the buffer. Only when the buffer is empty, the processor again
produces the data.
2. Double Buffer In Double Buffering, two schemes or two buffers are used in
the place of one. In this buffering, the producer produces one buffer while the
consumer consumes another buffer simultaneously. So, the producer not needs to
wait for filling the buffer. Double buffering is also known as buffer swapping.
3. Circular Buffer
When more than two buffers are used, the buffers' collection is called a circular
buffer. Each buffer is being one unit in the circular buffer. The data transfer rate
will increase using the circular buffer rather than the double buffering.
Shared memory is a memory shared between two or more processes. Each process
has its own address space; if any process wants to communicate with some
information from its own address space to other processes, then it is only possible
with IPC (inter-process communication) techniques.
For applications that exchange large amounts of data, shared memory is far
superior to message passing techniques like message queues
IPC using Message Queues
Authentication
Authentication refers to identifying each user of the system and associating the
executing programs with those users.
Operating Systems generally identifies/authenticates users using following three
ways −
Username / Password − User need to enter a registered username and
password with Operating system to login into the system.
User card/key − User need to punch card in card slot, or enter key generated
by key generator in option provided by operating system to login into the
system.
User attribute - fingerprint/ eye retina pattern/ signature − User need to
pass his/her attribute via designated input device used by operating system to
login into the system.
Program Threats
System Threats
System threats refers to misuse of system services and network connections to put
user in trouble. System threats can be used to launch program threats on a complete
network called as program attack. System threats creates such an environment that
operating system resources/ user files are misused.
Access Authorization
Authorization is the process of giving someone permission to do or have
something. In multi-user computer systems, a system administrator defines for the
system which users are allowed access to the system and what privileges of use
Most web security systems are based on a two-step process. The first step is
authentication, which ensures about the user identity and the second stage is
authorization, which allows the user to access the various resources based on the
user's identity.
1. linux kernel
2. native libraries (middleware),
3. Android Runtime
4. Application Framework
5. Applications
Linux Kernel
The android uses the powerful Linux kernel and it supports a wide range of
hardware drivers. The kernel is the heart of the operating system that manages
input and output requests from the software.
Libraries
The on top of a Linux kennel there is a set of libraries including open-source web
browsers such as WebKit, library libc. These libraries are used to play and record
audio and video.
Android Applications
Android applications are usually developed in the Java language using the Android
Software Development Kit.
Once developed, Android applications can be packaged easily and sold out either
through a store such as Google Play, SlideME, Opera Mobile
Store, Mobango, F-droid and the Amazon Appstore.
Android powers hundreds of millions of mobile devices in more than 190 countries
around the world. It's the largest installed base of any mobile platform and growing
fast. Every day more than 1 million new Android devices are activated worldwide.
This tutorial has been written with an aim to teach you how to develop and
package Android application. We will start from environment setup for Android
application programming and then drill down to look into various aspects of
Android applications.
There are many android applications in the market. The top categories are −
Process types
1.foreground process
2.visible process
3.service process
4.Background process
5.Empty process
File system
Under the Android file system, there are usually six main partitions found on every
device. Some devices may come with a couple of additional partitions, those differ
from model to model, but there are six primary partitions that are found on every
single Android device. These include /boot, /system, /recovery, /data, /cache, and
/misc. Additionally, for external Android smartphone, there are two file system
partitions — /sdcard and /sd-ext. So, let’s break down each partition separately and
explore the Android File system hierarchy.
2. Flutter
Flutter, developed by Google, is a UI toolkit to build native applications for the
mobile, desktop & web platform. Flutter is a cross-platform mobile app
development framework that works on one code base to develop Android as
well as iOS applications.
Flexible User interface (UI)
Provides Strong Widget Support
Offers Built-in Material Design
Fast Application Development
3. Xamarin
Xamarin is also one of the most popular open-source framework used to develop
mobile applications. The framework, acquired by Microsoft, is based
on .Net and allows you to build native applications for Android, iOS,
and Windows platforms.
Easier API Integration
Target All Platforms
Cost-Effective & Faster Development Process
4. Mobile Angular UI
Mobile Angular UI is an open-source mobile application development framework
that merges the implementation of the Bootstrap and Angular framework. The
framework offers various UI components such
as overlays, switches, sidebars, navbars, scrollable areas, etc.
Offers Interactive Components
LightWeight
Easier conversion from the web or desktop application to the mobile app
6.JQuery Mobile
JQuery Mobile is a cross-platform development framework that is used to build
mobile and web applications for various devices. The framework allows
running a single code version across for all the devices.
Supports multiple platforms & devices
Lightweight Size