SlideShare a Scribd company logo
1 of 67
OS
     09BCE050
     Nitin Ramchandani
Introduction
What is Android?
 •   A software platform and operating system for mobile devices

 •   Based on the Linux kernel

 •   Developed by Google and later the Open Handset Alliance (OHA)

 •   Allows writing managed code in the Java language

 •   Possibility to write applications in other languages and compiling it to
     native code.

 •   At least 150,000 Application available in Android.

 •   It run on java based and object- Oriented based application
Android History
•Android Inc was founded in Oct 2003 by Andy
Rubin, Nick Sears, Chris White and Rich Miner.

•Google acquired it in august 2005.

•On November 5, 2007, the Open Handset
Alliance, a consortium of several companies which
include Broadcom Corporation, Google, HTC,
Intel, T-Mobile and Texas Instruments unveiled
itself.
What is the Open Handset Alliance (OHA)?

  •   Devoted to advancing open standards for mobile devices

  •   Develop technologies that will significantly lower the cost of developing and
      distributing mobile devices and services.




License

Android is under of the Apache Software License (ASL).
What is the Open Handset Alliance (OHA)?

   → It's a consortium of several companies
Android
Architecture
Linux Kernel
•Android is built on LINUX kernel, but it is not the
LINUX.

•No native windowing system(X window system)

•No glibc support

•Does not support all set of standard GNU
libraries
Why LINUX?

• Great memory and process management

• Great permissions based security model

• Proven driver model

• Support for shared libraries

• It’s already open source
• Power Management

  Based on the standard Linux Power Management,
  Android has its own component.

  •Application uses user space library to inform the
  framework about its constrains..
  •Constraints are implemented using lock
  mechanism..
PARTIAL_WAKE_LOCK
• CPU on, screen off, keyboard off
• Cannot power down via power button

SCREEN_DIM_WAKE_LOCK
• CPU on, screen dim, keyboard off

SCREEN_BRIGHT_WAKE_LOCK
• CPU on, screen bright, keyboard off

FULL_WAKE_LOCK
• CPU on, screen on, keyboard bright
Binder
•Driver to facilitate inter-process communication between applications
and services..
• A pool of threads is associated to each application to process
incoming IPC
•The driver performs mapping off object between two processes
•“Binder” uses an object reference as an address in a process’s memory
space
Libraries
• Media Libraries - based on PacketVideo's OpenCORE;
  the libraries support playback and recording of many
  popular audio and video formats, as well as static
  image files, including MPEG4, H.264, MP3, AAC,
  AMR, JPG, and PNG
• LibWebCore - a modern web browser engine
  which powers both the Android browser and an
  embeddable web view
• SGL - the underlying 2D graphics engine
• 3D libraries - an implementation based on
  OpenGL ES 1.0 APIs; the libraries use either
  hardware 3D acceleration (where available) or
  the included, highly optimized 3D software
  rasterizer
• FreeType - bitmap and vector font rendering
• SQLite - a powerful and lightweight relational
  database engine available to all applications
Surface manager
Provides a system-wide surface “composer” to render
all the surfaces in a frame buffer
 •Can combined 2D and 3D surfaces
 •Can use OpenGL ES and 2D hardware accelerator for its
 compositions
Audio Manager

•Handle several types of devices (headphone,
ear piece…)

•Redirects audio stream to the specified output
Hardware Abstraction Libraries

Defines the interface that Android requires
hardware “drivers” to implement.

•Set of standardized APIs the developer will have to
implement
•Available for all the components a manufacturer can
integrate on its Android platform
Android Runtime
Dalvik VM
• Designed for embedded environment
• Supports multiple VM processes
per device.
• Highly CPU-optimized byte code
interpreter.
• Uses run time memory very efficiently.
• Run optimized file format(.dex) Dalvik bytecode.
• Java .class/.jar are converted to .dex at build time.
Core Libraries
• Android includes a set of core libraries that
  provides most of the functionality available in
  the core libraries of the Java programming
  language
Application Framework




•A Notification Manager that enables all
applications to display custom alerts in the status
bar
•An Activity Manager that manages the lifecycle of
applications and provides a common navigation
backstack
• A rich and extensible set of Views that can be used
  to build an application, including lists, grids, text
  boxes, buttons, and even an embeddable web
  browser
• Content Providers that enable applications to access
  data from other applications (such as Contacts), or to
  share their own data
• A Resource Manager providing access to non-code
  resources such as localized strings, graphics, and
  layout files
Applications


• Built in and user apps
• Can replace built in apps
Application Lifecycle

• In android every application runs in their
  own process.
• Processes are started or stopped as needed
  to run application components.
• A process may be killed to reclaim resources.
Android Startup
•Similar to most Linux-based systems at
startup, the boot-loader loads the Linux
kernel and starts the init process
Init starts Linux daemons, including:
• USB Daemon (usbd) to manage USB
connections
• Android Debug Bridge (adbd) to manage ADB
connections
• Debugger Daemon (debuggerd) to manage
debug processes requests (dump memory,
etc.)
• Radio Interface Layer Daemon (rild) to
manage communication with the radio Init
usbd
Init process starts the zygote process:
• A nascent process which initializes a Dalvik VM
instance
• Loads classes and listens on socket for requests to
spawn VMs
• Forks on request to create VM instances for
managed processes
• Copy-on-write to maximize re-use and minimize
footprint
•Init starts runtime process:
• Initializes Service Manager – the context manager
for Binder that handles service registration and
lookup
• Registers Service Manager as default context
manager for Binder services
•Runtime process sends request for Zygote
to start System Service
Runtime process sends request for Zygote to start
System Server
• Zygote forks a new VM instance for the System
Service process and starts the service
System Service starts the native system
servers, including:
     • Surface Flinger
`    • Audio Flinger
•Native system servers register with Service
Manager as IPC service targets:
•System Service starts the Android managed services
Android managed Services register with Service Manager:
•After system server loads all services, the system is ready
•Each subsequent application is launched in itʼ s own process
Activity
 cycle
• onCreate(Bundle): This is called when the activity first
starts up.

•onStart( ): This indicates the activity is about to be
displayed to the user.

• onResume( ): This is called when your activity can start
interacting with the user. This is a good place to start
animations and music.
• onPause( ): This runs when the activity is about to go
into the background, usually because another activity has
been launched in front of it. This is where you should save
your program’s persistent
state, such as a database record being edited.
• onStop( ): This is called when your activity is no longer
visible to the user and it won’t be needed for a while. If
memory is tight, onStop( ) may never be called (the system
may simply terminate your process).

• onRestart( ): If this method is called, it indicates your
activity is being redisplayed to the user from a stopped state.

• onDestroy( ): This is called right before your activity is
destroyed. If memory is tight, onDestroy( ) may never be
called (the system may simply terminate your process).
.
•onSaveInstanceState(Bundle): Android will call this
method to allow the activity to save per-instance state,
such as a cursor position within a text field. Usually you
won’t need to override it because the default
implementation saves the state for all your user interface
controls automatically.
• onRestoreInstanceState(Bundle): This is called when
the activity is being reinitialized from a state previously
saved by the onSaveInstanceState( ) method. The default
implementation restores the state of your user interface.
Android
    v/s
other Mobile
     os
Apple
  v/s
Android
•   The Apple iPhone comes with an expansive set of applications,
    available for free or for a small fee; the Google Android comes with a
    smaller package of applications.

•   The Apple iPhone comes with a feature to alert the user of any
    missed instances, though this feature forces the user to prematurely
    end whatever action he is performing; the Google Android comes with
    a drag and drop screen that alerts the user of any occurrences ,but
    allows him to continue his actions.

•    Apple controls all of its hardware, and it is therefore simple to perform
    the necessary accessory maintenance; Google’s Android is simply a
    platform that functions on different platforms, and doesn’t allow for
    easy accessory support.
Android
  v/s
syMbiAn
1. Android is fairly new and has a smaller market share
   than the older Symbian

3. Android is designed around touch capable devices while
   Symbian is designed around keypad devices

5. Symbian is somewhat outdated while Android is
   constantly updated

7. Android is used by many phone manufacturers while
   Symbian is almost exclusive to Nokia.
Android
    v/s
blAckberry
1. Android smartphones are more apps-centered while
   BlackBerry smartphones cater more to business.
2. BlackBerry has a good security system while the
   Android’s is questionable.
3. Android has plenty of apps that appeal to the geekier
   nature while BlackBerry was created for the business
   people in the corporate world.
4. BlackBerry was the pioneering smartphone. Android
   just followed through.
5. BlackBerry was first in email transferring while Android
   was the first in customizing.
1. Windows Mobile is from Microsoft while Android was
   developed by Google.
2. Windows Mobile is proprietary while Android is open
   source.
3. Windows Mobile is relatively old and pretty established
   while the Android is pretty new.
4. There are a lot of phones that uses Windows Mobile
   while there are only a handful running Android.
5. There are a lot more programs available for Windows
   Mobile compared to Android.
Building Blocks

•   Activities
•   Intent
•   Services
•   Content providers
Activities

•Activity is an User Interface Screen.
•An application may have two or more activities to
handle different phases of program.
For e.g. opening page, menu page, etc
•Activity is responsible for saving its own state so
that it can be restored later as part of the
application life cycle.
Intents

•Intent is a mechanism for describing a specific action
such as pick a photo.
•Basically we register a activity to handle a Intent.


Content Provider
•A content provider is a set of data wrapped up in a
custom API to read and write it. This is the best way
to share global data between applications.
•Google provide content provider for contacts.
Services
•A service is a task that runs in the background without
the user’s direct interaction, similar to a Unix daemon.


For e.g. we can have Music player program playing in
background even if we are browsing other programs.
thAnk you

More Related Content

What's hot (20)

Android 10
Android 10Android 10
Android 10
 
Real Time Operating System Concepts
Real Time Operating System ConceptsReal Time Operating System Concepts
Real Time Operating System Concepts
 
A History of Mac OS
A History of Mac OSA History of Mac OS
A History of Mac OS
 
Mobile operating system (os)
Mobile operating system (os)Mobile operating system (os)
Mobile operating system (os)
 
what is LINUX ? presentation.
what is LINUX ? presentation.what is LINUX ? presentation.
what is LINUX ? presentation.
 
Mac OS Presentation
Mac OS PresentationMac OS Presentation
Mac OS Presentation
 
Linux Internals - Part I
Linux Internals - Part ILinux Internals - Part I
Linux Internals - Part I
 
Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
 
Dual boot
Dual bootDual boot
Dual boot
 
Linux Kernel Crashdump
Linux Kernel CrashdumpLinux Kernel Crashdump
Linux Kernel Crashdump
 
Android Operating System(OS)
Android Operating System(OS)Android Operating System(OS)
Android Operating System(OS)
 
Windows V/S Linux OS - Comparison
Windows V/S Linux OS - ComparisonWindows V/S Linux OS - Comparison
Windows V/S Linux OS - Comparison
 
Introduction to Unix
Introduction to UnixIntroduction to Unix
Introduction to Unix
 
Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Mobile operating system by Shabeeb
Mobile operating system by ShabeebMobile operating system by Shabeeb
Mobile operating system by Shabeeb
 
Android and android versions
Android and android versionsAndroid and android versions
Android and android versions
 
Intro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication ProtocolsIntro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication Protocols
 
Mac OS
Mac OSMac OS
Mac OS
 
What is Android OS in ppt ?
What is Android OS in ppt ? What is Android OS in ppt ?
What is Android OS in ppt ?
 

Viewers also liked

WORKSHOP ON ANDROID APP DEVELOPMENT
WORKSHOP  ON ANDROID APP DEVELOPMENTWORKSHOP  ON ANDROID APP DEVELOPMENT
WORKSHOP ON ANDROID APP DEVELOPMENTMd Imran Choudhury
 
Android History & Importance
Android History & ImportanceAndroid History & Importance
Android History & ImportanceLope Emano
 
iOS vs Android History
iOS vs Android HistoryiOS vs Android History
iOS vs Android HistoryClark Davidson
 
History of Android
History of AndroidHistory of Android
History of Androidatmflora
 
History and development of Android OS
History and development of Android OSHistory and development of Android OS
History and development of Android OSusernameleon
 
ANDROID MOBILE OPERATING SYSTEM
ANDROID MOBILE OPERATING SYSTEMANDROID MOBILE OPERATING SYSTEM
ANDROID MOBILE OPERATING SYSTEMpreeta sinha
 
Android vs ios presentation detailed slides
Android vs ios presentation detailed slidesAndroid vs ios presentation detailed slides
Android vs ios presentation detailed slidesMuhammad Arslan Khan
 
ppt on android vs iOS
ppt on android vs iOSppt on android vs iOS
ppt on android vs iOSShivam Gupta
 
Android OS Presentation
Android OS PresentationAndroid OS Presentation
Android OS Presentationhession25819
 
Mobile operating system ppt
Mobile operating system pptMobile operating system ppt
Mobile operating system pptSantosh Kumar
 

Viewers also liked (14)

Android
AndroidAndroid
Android
 
WORKSHOP ON ANDROID APP DEVELOPMENT
WORKSHOP  ON ANDROID APP DEVELOPMENTWORKSHOP  ON ANDROID APP DEVELOPMENT
WORKSHOP ON ANDROID APP DEVELOPMENT
 
Android History & Importance
Android History & ImportanceAndroid History & Importance
Android History & Importance
 
Android OS
Android OSAndroid OS
Android OS
 
Android Version History
Android Version HistoryAndroid Version History
Android Version History
 
iOS vs Android History
iOS vs Android HistoryiOS vs Android History
iOS vs Android History
 
History of Android
History of AndroidHistory of Android
History of Android
 
History and development of Android OS
History and development of Android OSHistory and development of Android OS
History and development of Android OS
 
ANDROID MOBILE OPERATING SYSTEM
ANDROID MOBILE OPERATING SYSTEMANDROID MOBILE OPERATING SYSTEM
ANDROID MOBILE OPERATING SYSTEM
 
Android vs ios presentation detailed slides
Android vs ios presentation detailed slidesAndroid vs ios presentation detailed slides
Android vs ios presentation detailed slides
 
ppt on android vs iOS
ppt on android vs iOSppt on android vs iOS
ppt on android vs iOS
 
Android OS Presentation
Android OS PresentationAndroid OS Presentation
Android OS Presentation
 
Mobile operating system ppt
Mobile operating system pptMobile operating system ppt
Mobile operating system ppt
 
Android ppt
Android ppt Android ppt
Android ppt
 

Similar to What is Android operating system

Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with javassuser471dfb
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1NAILBITER
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfNomanKhan869872
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbianAJAL A J
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpointJohnLagman3
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxdebasish duarah
 
Android architecture
Android architectureAndroid architecture
Android architectureDeepa Rahul
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App DevelopmentAbhijeet Gupta
 
Android and windows os
Android and windows osAndroid and windows os
Android and windows osMehakVithal
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 

Similar to What is Android operating system (20)

Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Android Architecture design programming with java
Android Architecture design programming with javaAndroid Architecture design programming with java
Android Architecture design programming with java
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
Android ppt
Android pptAndroid ppt
Android ppt
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
Android
AndroidAndroid
Android
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
android vs symbian
android  vs symbianandroid  vs symbian
android vs symbian
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpoint
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Android and windows os
Android and windows osAndroid and windows os
Android and windows os
 
Android technology
Android technology Android technology
Android technology
 
document
documentdocument
document
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

What is Android operating system

  • 1. OS 09BCE050 Nitin Ramchandani
  • 2. Introduction What is Android? • A software platform and operating system for mobile devices • Based on the Linux kernel • Developed by Google and later the Open Handset Alliance (OHA) • Allows writing managed code in the Java language • Possibility to write applications in other languages and compiling it to native code. • At least 150,000 Application available in Android. • It run on java based and object- Oriented based application
  • 3. Android History •Android Inc was founded in Oct 2003 by Andy Rubin, Nick Sears, Chris White and Rich Miner. •Google acquired it in august 2005. •On November 5, 2007, the Open Handset Alliance, a consortium of several companies which include Broadcom Corporation, Google, HTC, Intel, T-Mobile and Texas Instruments unveiled itself.
  • 4. What is the Open Handset Alliance (OHA)? • Devoted to advancing open standards for mobile devices • Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services. License Android is under of the Apache Software License (ASL).
  • 5. What is the Open Handset Alliance (OHA)? → It's a consortium of several companies
  • 6.
  • 8.
  • 9. Linux Kernel •Android is built on LINUX kernel, but it is not the LINUX. •No native windowing system(X window system) •No glibc support •Does not support all set of standard GNU libraries
  • 10. Why LINUX? • Great memory and process management • Great permissions based security model • Proven driver model • Support for shared libraries • It’s already open source
  • 11. • Power Management Based on the standard Linux Power Management, Android has its own component. •Application uses user space library to inform the framework about its constrains.. •Constraints are implemented using lock mechanism..
  • 12. PARTIAL_WAKE_LOCK • CPU on, screen off, keyboard off • Cannot power down via power button SCREEN_DIM_WAKE_LOCK • CPU on, screen dim, keyboard off SCREEN_BRIGHT_WAKE_LOCK • CPU on, screen bright, keyboard off FULL_WAKE_LOCK • CPU on, screen on, keyboard bright
  • 13. Binder •Driver to facilitate inter-process communication between applications and services.. • A pool of threads is associated to each application to process incoming IPC •The driver performs mapping off object between two processes •“Binder” uses an object reference as an address in a process’s memory space
  • 14. Libraries • Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG • LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
  • 15. • SGL - the underlying 2D graphics engine • 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer • FreeType - bitmap and vector font rendering • SQLite - a powerful and lightweight relational database engine available to all applications
  • 16. Surface manager Provides a system-wide surface “composer” to render all the surfaces in a frame buffer •Can combined 2D and 3D surfaces •Can use OpenGL ES and 2D hardware accelerator for its compositions
  • 17. Audio Manager •Handle several types of devices (headphone, ear piece…) •Redirects audio stream to the specified output
  • 18. Hardware Abstraction Libraries Defines the interface that Android requires hardware “drivers” to implement. •Set of standardized APIs the developer will have to implement •Available for all the components a manufacturer can integrate on its Android platform
  • 19. Android Runtime Dalvik VM • Designed for embedded environment • Supports multiple VM processes per device. • Highly CPU-optimized byte code interpreter. • Uses run time memory very efficiently. • Run optimized file format(.dex) Dalvik bytecode. • Java .class/.jar are converted to .dex at build time.
  • 20. Core Libraries • Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language
  • 21. Application Framework •A Notification Manager that enables all applications to display custom alerts in the status bar •An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
  • 22. • A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser • Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data • A Resource Manager providing access to non-code resources such as localized strings, graphics, and layout files
  • 23. Applications • Built in and user apps • Can replace built in apps
  • 24. Application Lifecycle • In android every application runs in their own process. • Processes are started or stopped as needed to run application components. • A process may be killed to reclaim resources.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Android Startup •Similar to most Linux-based systems at startup, the boot-loader loads the Linux kernel and starts the init process
  • 33. Init starts Linux daemons, including: • USB Daemon (usbd) to manage USB connections • Android Debug Bridge (adbd) to manage ADB connections • Debugger Daemon (debuggerd) to manage debug processes requests (dump memory, etc.) • Radio Interface Layer Daemon (rild) to manage communication with the radio Init usbd
  • 34. Init process starts the zygote process: • A nascent process which initializes a Dalvik VM instance • Loads classes and listens on socket for requests to spawn VMs • Forks on request to create VM instances for managed processes • Copy-on-write to maximize re-use and minimize footprint
  • 35. •Init starts runtime process: • Initializes Service Manager – the context manager for Binder that handles service registration and lookup • Registers Service Manager as default context manager for Binder services
  • 36. •Runtime process sends request for Zygote to start System Service
  • 37. Runtime process sends request for Zygote to start System Server • Zygote forks a new VM instance for the System Service process and starts the service
  • 38. System Service starts the native system servers, including: • Surface Flinger ` • Audio Flinger
  • 39. •Native system servers register with Service Manager as IPC service targets:
  • 40. •System Service starts the Android managed services
  • 41. Android managed Services register with Service Manager:
  • 42.
  • 43. •After system server loads all services, the system is ready
  • 44.
  • 45.
  • 46. •Each subsequent application is launched in itʼ s own process
  • 48.
  • 49. • onCreate(Bundle): This is called when the activity first starts up. •onStart( ): This indicates the activity is about to be displayed to the user. • onResume( ): This is called when your activity can start interacting with the user. This is a good place to start animations and music. • onPause( ): This runs when the activity is about to go into the background, usually because another activity has been launched in front of it. This is where you should save your program’s persistent state, such as a database record being edited.
  • 50. • onStop( ): This is called when your activity is no longer visible to the user and it won’t be needed for a while. If memory is tight, onStop( ) may never be called (the system may simply terminate your process). • onRestart( ): If this method is called, it indicates your activity is being redisplayed to the user from a stopped state. • onDestroy( ): This is called right before your activity is destroyed. If memory is tight, onDestroy( ) may never be called (the system may simply terminate your process). .
  • 51. •onSaveInstanceState(Bundle): Android will call this method to allow the activity to save per-instance state, such as a cursor position within a text field. Usually you won’t need to override it because the default implementation saves the state for all your user interface controls automatically. • onRestoreInstanceState(Bundle): This is called when the activity is being reinitialized from a state previously saved by the onSaveInstanceState( ) method. The default implementation restores the state of your user interface.
  • 52. Android v/s other Mobile os
  • 54. The Apple iPhone comes with an expansive set of applications, available for free or for a small fee; the Google Android comes with a smaller package of applications. • The Apple iPhone comes with a feature to alert the user of any missed instances, though this feature forces the user to prematurely end whatever action he is performing; the Google Android comes with a drag and drop screen that alerts the user of any occurrences ,but allows him to continue his actions. • Apple controls all of its hardware, and it is therefore simple to perform the necessary accessory maintenance; Google’s Android is simply a platform that functions on different platforms, and doesn’t allow for easy accessory support.
  • 56. 1. Android is fairly new and has a smaller market share than the older Symbian 3. Android is designed around touch capable devices while Symbian is designed around keypad devices 5. Symbian is somewhat outdated while Android is constantly updated 7. Android is used by many phone manufacturers while Symbian is almost exclusive to Nokia.
  • 57. Android v/s blAckberry
  • 58. 1. Android smartphones are more apps-centered while BlackBerry smartphones cater more to business. 2. BlackBerry has a good security system while the Android’s is questionable. 3. Android has plenty of apps that appeal to the geekier nature while BlackBerry was created for the business people in the corporate world. 4. BlackBerry was the pioneering smartphone. Android just followed through. 5. BlackBerry was first in email transferring while Android was the first in customizing.
  • 59.
  • 60. 1. Windows Mobile is from Microsoft while Android was developed by Google. 2. Windows Mobile is proprietary while Android is open source. 3. Windows Mobile is relatively old and pretty established while the Android is pretty new. 4. There are a lot of phones that uses Windows Mobile while there are only a handful running Android. 5. There are a lot more programs available for Windows Mobile compared to Android.
  • 61.
  • 62.
  • 63. Building Blocks • Activities • Intent • Services • Content providers
  • 64. Activities •Activity is an User Interface Screen. •An application may have two or more activities to handle different phases of program. For e.g. opening page, menu page, etc •Activity is responsible for saving its own state so that it can be restored later as part of the application life cycle.
  • 65. Intents •Intent is a mechanism for describing a specific action such as pick a photo. •Basically we register a activity to handle a Intent. Content Provider •A content provider is a set of data wrapped up in a custom API to read and write it. This is the best way to share global data between applications. •Google provide content provider for contacts.
  • 66. Services •A service is a task that runs in the background without the user’s direct interaction, similar to a Unix daemon. For e.g. we can have Music player program playing in background even if we are browsing other programs.

Editor's Notes

  1. Home process saves its status. Mail is opened.
  2. Particular mail(message) is opened from inbox. Mail’s state is saved.
  3. By following link in mail we open it and browser application get started. Message state is saved.
  4. Now we want to start another map process but memory is full, so one process need to be killed from system process as Browser is recently opened process and we need home process for navigation. Mail process is best choice to kill. So we kill it and save Browser process state.
  5. Map process get started.
  6. When we go back mail process again created through instance saved in system process.
  7. kernel the kernel boots core kernel initialization memory and I/O areas are initialized interrupts are started, and the process table is initialized driver initialization kernel daemons (threads) are started root file system is mounted the first user-space process is started usually /init (note that other Linux systems usually start /sbin/init)
  8. /init processes /init.rc and /init.<machine_name>.rc dalvik VM is started (zygote). See Android Zygote Startup several daemons are started: 1-rild - radio interface link daemon 2-vold - volume daemon (media volumes, as in file systems - nothing to do with audio volume) ADB ADB (Android Debug Bridge) is a tool that comes with the Android SDK that allows you to control and interface with your Android device. It is located in the tools folder when you unpack the SDK.
  9. 1- init runs the C++ program /system/bin/app_process, and gives the resulting process the name "zygote"