Android Operating System


Published on

Best viewed in MS ppt 2010

By Sunil Maurya

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Android Operating System

  1. 1. Under the Guidance of<br />Prof. Y. S. KALE<br />Submitted By:<br />SUNIL MAURYA<br />B-TECH SEM VIII, COMP-II, Roll No. 22<br />DEPARTMENT OF COMPUTER ENGINEERING<br />BHARTI VIDYAPEETH COLLEGE OF ENGINEERING,<br />PUNE<br />
  2. 2. Outlines<br />1. Introduction<br />2. Platform<br />3. Process Scheduling<br />4. Software development & SDK<br />5. Overall evaluation<br />SUNIL MAURYA COMP-II Roll No 22<br />2<br />
  3. 3. What is Android? <br />A complete software stack for mobile devices. <br />Android is <br />A first joined project of the Open Handset Alliance (OHA). <br />It’s a First open, complete and free platform <br />Its Software stack is open-sourced and licensed under Apache 2.0 <br />In Android Source code will be available to everyone and anyone will have the capability to built an image <br />The Android platform <br />includes an operating system, a middleware and some applications. <br />Android is very Lightweight and fully featured <br />Developers can extend and replace existing components <br />A generous development environment <br />A SDK is available to build, compile, test and debug user applications. <br />Applications are developed using Java programming language <br />No difference between the built-in applications and the user ones <br />SUNIL MAURYA COMP-II Roll No 22<br />3<br />
  4. 4. Introduction <br />What is the Open Handset Alliance (OHA)? <br />->It's a consortium of several companies<br />SUNIL MAURYA COMP-II Roll No 22<br />4<br />
  5. 5. Introduction <br />What is the Open Handset Alliance (OHA)? <br /><ul><li>Devoted to advancing open standards for mobile devices
  6. 6. Develop technologies that will significantly lower the cost of developing and distributing mobile devices and services</li></ul>SUNIL MAURYA COMP-II Roll No 22<br />5<br />
  7. 7. Versions<br />SUNIL MAURYA COMP-II Roll No 22<br />6<br />
  8. 8. SUNIL MAURYA COMP-II Roll No 22<br />7<br />Versions<br />The most recent released versions of Android are:<br />2.0/2.1 (Eclair), which revamped the user interface and introduced HTML5 and Exchange ActiveSync 2.5 support<br />2.2 (Froyo), which introduced speed improvements with JIT optimization and the Chrome V8 JavaScript engine<br />2.3 (Gingerbread), which refined the user interface, improved the soft keyboard and copy/paste features, and added support for Near Field Communication<br />3.0 (Honeycomb), a tablet-orientedrelease which supports larger screen devices and introduces many new user interface features, and supports multicore processors and hardware acceleration for graphics.[The upcoming version of Android is:<br />Ice Cream Sandwich,[a combination of Gingerbread and Honeycomb into a "cohesive whole,"with a possible release in mid-2011.<br />
  9. 9. Smart phone market<br />SUNIL MAURYA COMP-II Roll No 22<br />8<br />
  10. 10. Platform <br />Operating System <br /><ul><li>Android uses Linux for its device drivers, memory management, process management, and networking.</li></ul> <br /><ul><li>The next level up contains the Android native libraries. They are all written in C/C++ internally, but you’ll be calling them through Java interfaces. In this layer you can find the Surface Manager, 2D and 3D graphics, Media codecs, the SQL database (SQLite), and a native web browser engine (WebKit).</li></ul> <br /><ul><li>Dalvik Virtual Machine. Dalvik runs dex files, which are converted at compile time from standard class and jar files. </li></ul>SUNIL MAURYA COMP-II Roll No 22<br />9<br />
  11. 11. Platform<br />Network Connectivity <br />It supports wireless communications using:<br /><ul><li>GSM mobile-phone technology
  12. 12. 3G
  13. 13. Edge
  14. 14. 802.11 Wi-Fi networks </li></ul>SUNIL MAURYA COMP-II Roll No 22<br />10<br />
  15. 15. Android has many components <br />SUNIL MAURYA COMP-II Roll No 22<br />11<br />
  16. 16. Android applications have common structure<br />Views such as lists, grids, text boxes, buttons, and even an embeddable web browser<br />An Activity Manager that manages the life cycle of applications and provides a common navigation backstack<br />A Notification Manager that enables all apps to display custom alerts in the status bar<br />Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data<br />A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files<br />SUNIL MAURYA COMP-II Roll No 22<br />12<br />
  17. 17. Android applications have common structure<br />Broadcast receivers can trigger intents that start an application<br />Activity is the presentation layer of your app: there will be one per screen, and the Views provide the UI to the activity<br />Data storage provide data for your apps, and can be shared between apps – database, file, and shared preferences (hash map) used by group of applications<br />Intents specify what specific action should be performed<br />Services run in the background and have no UI for the user – they will update data, and trigger events<br />SUNIL MAURYA COMP-II Roll No 22<br />13<br />
  18. 18. There is a common file structure for applications<br />code<br />Autogenerated resource list<br />files<br />images<br />UI layouts<br />constants<br />SUNIL MAURYA COMP-II Roll No 22<br />14<br />
  19. 19. Intent provides late running binding to other apps<br />It can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.<br />Written as action/data pairs such as: <br />VIEW_ACTION/ACTION content://contacts/1<br />SUNIL MAURYA COMP-II Roll No 22<br />15<br />
  20. 20. Services declared in the manifest and provide support<br />Services run in the background:<br />Music player providing the music playing in an audio application<br />Intensive background apps, might need to spawn their own thread so as to not block the application<br />SUNIL MAURYA COMP-II Roll No 22<br />16<br />
  21. 21. Notifications let you know of background events<br />This way you know that an SMS arrived, or that your phone is ringing, and the MP3 player should pause<br />SUNIL MAURYA COMP-II Roll No 22<br />17<br />
  22. 22. Content Providers share data<br />You need one if your application shares data with other applications<br />This way you can share the contact list with the IM application<br />If you don’t need to share data, then you can use SQLlite database<br />SUNIL MAURYA COMP-II Roll No 22<br />18<br />
  23. 23. UI layouts are in Java and XML<br /> setContentView(R.layout.hello_activity); //will load the XML UI file <br />SUNIL MAURYA COMP-II Roll No 22<br />19<br />
  24. 24. Security in Android follows standard Linux guidelines<br />Each application runs in its own process<br />Process permissions are enforced at user and group IDs assigned to processes<br />Finer grained permissions are then granted (revoked) per operations<br /><manifest xmlns:android=""<br /> package="" ><br /><uses-permission id="android.permission.RECEIVE_SMS" /><br /></manifest><br />SUNIL MAURYA COMP-II Roll No 22<br />20<br />
  25. 25. Performance <br /> <br />SUNIL MAURYA COMP-II Roll No 22<br />21<br />
  26. 26. Android Runtime <br />SUNIL MAURYA COMP-II Roll No 22<br />22<br />
  27. 27. Platform initialization <br />SUNIL MAURYA COMP-II Roll No 22<br />23<br />
  28. 28. Priorities: Android 2.2 Scheduling<br />• Static priority<br /> The maximum size of the time slice a process should be allowed<br /> before being forced to allow other processes to compete for the<br /> CPU.<br />• Dynamic priority<br /> The amount of time remaining in this time slice; declines with<br /> time as long as the process has the CPU.<br /> When its dynamic priority falls to 0, the process is marked for<br /> rescheduling.<br />• Real-time priority<br />Only real-time processes have the real-time priority.<br /> Higher real-time values always beat lower values<br />Android – process priority is dynamic. Scheduler increases/decreases the priority. <br />SUNIL MAURYA COMP-II Roll No 22<br />24<br />
  29. 29. Android Scheduling<br />Process Selection<br />A process’s scheduling class defines which algorithm to apply<br />most deserving process is selected by the scheduler<br />real time processes are given higher priority than ordinary processes<br />when several processes have the same priority, the one nearest the front of the run queue is chosen<br />when a new process is created the number of ticks left to the parent is split in two halves, one for the parent and one for the child<br />priority and counter fields are used both to implement time-sharing and to compute the process dynamic priority<br />SUNIL MAURYA COMP-II Roll No 22<br />25<br />
  30. 30. Android makes mobile Java easier<br />Well, sort of…<br />SUNIL MAURYA COMP-II Roll No 22<br />26<br />
  31. 31. Android applications are written in Java<br />package;<br />import;<br />import android.os.Bundle;<br />public class HelloActivity extends Activity {<br /> public HelloActivity() {<br /> }<br />@Override<br /> public void onCreate(Bundle icicle) {<br />super.onCreate(icicle);<br />setContentView(R.layout.hello_activity);<br /> }<br />}<br />SUNIL MAURYA COMP-II Roll No 22<br />27<br />
  32. 32. Android applications are compiled to Dalvik bytecode<br />Linux OS<br />Loaded into Dalvik VM<br />Write app in Java<br />Compiled in Java<br />Transformed to Dalvik bytecode<br />SUNIL MAURYA COMP-II Roll No 22<br />28<br />
  33. 33. Android has a working emulator<br />SUNIL MAURYA COMP-II Roll No 22<br />29<br />
  34. 34. Software development<br />Development requirements <br /><ul><li>Java
  35. 35. Android SDK
  36. 36. Eclipse IDE (optional)</li></ul> <br /> <br />SUNIL MAURYA COMP-II Roll No 22<br />30<br />
  37. 37. Software development (Contd..)<br />IDE and Tools<br /> <br />Android SDK<br /><ul><li>Class Library
  38. 38. Developer Tools
  39. 39. dx – Dalvik Cross-Assembler
  40. 40. aapt – Android Asset Packaging Tool
  41. 41. adb – Android Debug Bridge
  42. 42. ddms – Dalvik Debug Monitor Service
  43. 43. Emulator and System Images
  44. 44. Documentation and Sample Code</li></ul>Eclipse IDE + ADT (Android Development Tools)<br /><ul><li>Reduces Development and Testing Time
  45. 45. Makes User Interface-Creation easier
  46. 46. Makes Application Description Easier</li></ul> <br />SUNIL MAURYA COMP-II Roll No 22<br />31<br />
  47. 47. Overall evaluation <br />Advantages  <br /> <br />There are a host of advantages that Google’s Android will derive from being an open source software. Some of the advantages include:<br /><ul><li>The ability for anyone to customize the Google Android platform
  48. 48. The consumer will benefit from having a wide range of mobile applications to choose from since the monopoly will be broken by Google Android
  49. 49. We will be able to customize a mobile phones using Google Android platform like never before
  50. 50. Features like weather details, opening screen, live RSS feeds and even the icons on the opening screen will be able to be customized
  51. 51. In addition the entertainment functionalities will be taken a notch higher by Google Android being able to offer online real time multiplayer games</li></ul> <br />SUNIL MAURYA COMP-II Roll No 22<br />32<br />
  52. 52. Overall evaluation<br />Limitations<br /> <br />Bluetooth limitations<br /><ul><li>Android doesn't support:
  53. 53. Bluetooth stereo
  54. 54. Contacts exchange
  55. 55. Modem pairing
  56. 56. Wireless keyboards</li></ul> <br />But it'll work with Bluetooth headsets, but that's about it<br />Firefox Mobile isn't coming to Android<br />Apps in Android Market need to be programmed with a custom form of Java<br /> -> Mozilla and the Fennec won't have that<br /> <br />SUNIL MAURYA COMP-II Roll No 22<br />33<br />
  57. 57. Platform<br />Future possibilities <br /><ul><li>Google Android Sales to Overtake iPhone in 2012
  58. 58. The OHA is committed to make their vision a reality: to deploy the Android platform for every mobile operator, handset manufacturers and developers to build innovative devices
  59. 59. Intel doesn’t want to lose ownership of the netbook market, so they need to prepare for anything, including Android
  60. 60. Fujitsu launched an initiative to offer consulting and engineering expertise to help run Android on embedded hardware, which aside from cellphones, mobile internet devices, and portable media players, could include GPS devices, thin-client computers and set-top boxes.
  61. 61. More Android devices are coming and some will push the envelope even further </li></ul> <br /> <br />SUNIL MAURYA COMP-II Roll No 22<br />34<br />
  62. 62. Conclusion<br />We can only hope that the next versions of Android have overcome the actual limitations and that the future possibilities became a reality <br />There are lots of sources of information<br />The sdk comes with the API references, sample applications and lots of docs<br />Blog which has lots of useful examples, details<br />There is<br />SUNIL MAURYA COMP-II Roll No 22<br />35<br />
  63. 63. QUESTIONS?<br />SUNIL MAURYA COMP-II Roll No 22<br />36<br />
  64. 64. THANK YOU!<br />SUNIL MAURYA COMP-II Roll No 22<br />37<br />