android operating system

37
DEPARTMENT OF COMPUTER ENGINEERING BHARTI VIDYAPEETH COLLEGE OF ENGINEERING, PUNE Under the Guidance of Prof. Y. S. KALE Submitted By: SUNIL MAURYA B-TECH SEM VIII, COMP-II, Roll No. 22

Upload: sunil-maurya

Post on 28-Jan-2015

11.690 views

Category:

Technology


2 download

DESCRIPTION

Best viewed in MS ppt 2010By Sunil Maurya [email protected]

TRANSCRIPT

  • 1. Under the Guidance of
    Prof.Y. S. KALE
    Submitted By:
    SUNIL MAURYA
    B-TECH SEM VIII, COMP-II, Roll No. 22
    DEPARTMENT OF COMPUTER ENGINEERING
    BHARTI VIDYAPEETH COLLEGE OF ENGINEERING,
    PUNE

2. Outlines
1. Introduction
2. Platform
3. Process Scheduling
4. Software development & SDK
5. Overall evaluation
SUNIL MAURYA COMP-II Roll No 22
2
3. What is Android?
A complete software stack for mobile devices.
Android is
A first joined project of the Open Handset Alliance (OHA).
Its a First open, complete and free platform
Its Software stack is open-sourced and licensed under Apache 2.0
In Android Source code will be available to everyone and anyone will have the capability to built an image
The Android platform
includes an operating system, a middleware and some applications.
Android is very Lightweight and fully featured
Developers can extend and replace existing components
A generous development environment
A SDK is available to build, compile, test and debug user applications.
Applications are developed using Java programming language
No difference between the built-in applications and the user ones
SUNIL MAURYA COMP-II Roll No 22
3
4. Introduction
What is the Open Handset Alliance (OHA)?
->It's a consortium of several companies
SUNIL MAURYA COMP-II Roll No 22
4
5. Introduction
What is the Open Handset Alliance (OHA)?

  • Devoted to advancing open standards for mobile devices

6. Develop technologies that will significantly lower the cost of developing and distributing mobile devices and servicesSUNIL MAURYA COMP-II Roll No 22
5
7. Versions
SUNIL MAURYA COMP-II Roll No 22
6
8. SUNIL MAURYA COMP-II Roll No 22
7
Versions
The most recent released versions of Android are:
2.0/2.1 (Eclair), which revamped the user interface and introduced HTML5 and Exchange ActiveSync 2.5 support
2.2 (Froyo), which introduced speed improvements with JIT optimization and the Chrome V8 JavaScript engine
2.3 (Gingerbread), which refined the user interface, improved the soft keyboard and copy/paste features, and added support for Near Field Communication
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:
Ice Cream Sandwich,[a combination of Gingerbread and Honeycomb into a "cohesive whole,"with a possible release in mid-2011.
9. Smart phone market
SUNIL MAURYA COMP-II Roll No 22
8
10. Platform
Operating System

  • Android uses Linux for its device drivers, memory management, process management, and networking.


  • The next level up contains the Android native libraries. They are all written in C/C++ internally, but youll 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).


  • Dalvik Virtual Machine. Dalvik runs dex files, which are converted at compile time from standard class and jar files.

SUNIL MAURYA COMP-II Roll No 22
9
11. Platform
Network Connectivity
It supports wireless communications using:

  • GSM mobile-phone technology

12. 3G 13. Edge 14. 802.11 Wi-Fi networks SUNIL MAURYA COMP-II Roll No 22
10
15. Android has many components
SUNIL MAURYA COMP-II Roll No 22
11
16. Android applications have common structure
Views such as lists, grids, text boxes, buttons, and even an embeddable web browser
An Activity Manager that manages the life cycle of applications and provides a common navigation backstack
A Notification Manager that enables all apps to display custom alerts in the status bar
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
SUNIL MAURYA COMP-II Roll No 22
12
17. Android applications have common structure
Broadcast receivers can trigger intents that start an application
Activity is the presentation layer of your app: there will be one per screen, and the Views provide the UI to the activity
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
Intents specify what specific action should be performed
Services run in the background and have no UI for the user they will update data, and trigger events
SUNIL MAURYA COMP-II Roll No 22
13
18. There is a common file structure for applications
code
Autogenerated resource list
files
images
UI layouts
constants
SUNIL MAURYA COMP-II Roll No 22
14
19. Intent provides late running binding to other apps
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.
Written as action/data pairs such as:
VIEW_ACTION/ACTION content://contacts/1
SUNIL MAURYA COMP-II Roll No 22
15
20. Services declared in the manifest and provide support
Services run in the background:
Music player providing the music playing in an audio application
Intensive background apps, might need to spawn their own thread so as to not block the application
SUNIL MAURYA COMP-II Roll No 22
16
21. Notifications let you know of background events
This way you know that an SMS arrived, or that your phone is ringing, and the MP3 player should pause
SUNIL MAURYA COMP-II Roll No 22
17
22. Content Providers share data
You need one if your application shares data with other applications
This way you can share the contact list with the IM application
If you dont need to share data, then you can use SQLlite database
SUNIL MAURYA COMP-II Roll No 22
18
23. UI layouts are in Java and XML
setContentView(R.layout.hello_activity); //will load the XML UI file
SUNIL MAURYA COMP-II Roll No 22
19
24. Security in Android follows standard Linux guidelines
Each application runs in its own process
Process permissions are enforced at user and group IDs assigned to processes
Finer grained permissions are then granted (revoked) per operations
package="com.google.android.app.myapp" >


SUNIL MAURYA COMP-II Roll No 22
20
25. Performance

SUNIL MAURYA COMP-II Roll No 22
21
26. Android Runtime
SUNIL MAURYA COMP-II Roll No 22
22
27. Platform initialization
SUNIL MAURYA COMP-II Roll No 22
23
28. Priorities: Android 2.2 Scheduling
Static priority
The maximum size of the time slice a process should be allowed
before being forced to allow other processes to compete for the
CPU.
Dynamic priority
The amount of time remaining in this time slice; declines with
time as long as the process has the CPU.
When its dynamic priority falls to 0, the process is marked for
rescheduling.
Real-time priority
Only real-time processes have the real-time priority.
Higher real-time values always beat lower values
Android process priority is dynamic. Scheduler increases/decreases the priority.
SUNIL MAURYA COMP-II Roll No 22
24
29. Android Scheduling
Process Selection
A processs scheduling class defines which algorithm to apply
most deserving process is selected by the scheduler
real time processes are given higher priority than ordinary processes
when several processes have the same priority, the one nearest the front of the run queue is chosen
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
priority and counter fields are used both to implement time-sharing and to compute the process dynamic priority
SUNIL MAURYA COMP-II Roll No 22
25
30. Android makes mobile Java easier
Well, sort of
SUNIL MAURYA COMP-II Roll No 22
26
31. Android applications are written in Java
package com.google.android.helloactivity;
import android.app.Activity;
import android.os.Bundle;
public class HelloActivity extends Activity {
public HelloActivity() {
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.hello_activity);
}
}
SUNIL MAURYA COMP-II Roll No 22
27
32. Android applications are compiled to Dalvik bytecode
Linux OS
Loaded into Dalvik VM
Write app in Java
Compiled in Java
Transformed to Dalvik bytecode
SUNIL MAURYA COMP-II Roll No 22
28
33. Android has a working emulator
SUNIL MAURYA COMP-II Roll No 22
29
34. Software development
Development requirements

  • Java

35. Android SDK 36. Eclipse IDE (optional)

SUNIL MAURYA COMP-II Roll No 22
30
37. Software development (Contd..)
IDE and Tools

Android SDK

  • Class Library

38. Developer Tools 39. dx Dalvik Cross-Assembler 40. aapt Android Asset Packaging Tool 41. adb Android Debug Bridge 42. ddms Dalvik Debug Monitor Service 43. Emulator and System Images 44. Documentation and Sample CodeEclipse IDE + ADT (Android Development Tools)

  • Reduces Development and Testing Time

45. Makes User Interface-Creation easier 46. Makes Application Description Easier
SUNIL MAURYA COMP-II Roll No 22
31
47. Overall evaluation
Advantages

There are a host of advantages that Googles Android will derive from being an open source software. Some of the advantages include:

  • The ability for anyone to customize the Google Android platform

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. We will be able to customize a mobile phones using Google Android platform like never before 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. In addition the entertainment functionalities will be taken a notch higher by Google Android being able to offer online real time multiplayer games
SUNIL MAURYA COMP-II Roll No 22
32
52. Overall evaluation
Limitations

Bluetooth limitations

  • Android doesn't support:

53. Bluetooth stereo 54. Contacts exchange 55. Modem pairing 56. Wireless keyboards
But it'll work with Bluetooth headsets, but that's about it
Firefox Mobile isn't coming to Android
Apps in Android Market need to be programmed with a custom form of Java
->Mozilla and the Fennec won't have that

SUNIL MAURYA COMP-II Roll No 22
33
57. Platform
Future possibilities

  • Google Android Sales to Overtake iPhone in 2012

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. Intel doesnt want to lose ownership of the netbook market, so they need to prepare for anything, including Android 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. More Android devices are coming and some will push the envelope even further

SUNIL MAURYA COMP-II Roll No 22
34
62. Conclusion
We can only hope that the next versions of Android have overcome the actual limitations and that the future possibilities became a reality
There are lots of sources of information
The sdk comes with the API references, sample applications and lots of docs
Blog http://android-developers.blogspot.com/ which has lots of useful examples, details
There is http://www.anddev.org
SUNIL MAURYA COMP-II Roll No 22
35
63. QUESTIONS?
SUNIL MAURYA COMP-II Roll No 22
36
64. THANK YOU!
SUNIL MAURYA COMP-II Roll No 22
37