kernel consists of Java applications running on a Java-based object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore media framework, SQLite relational database management System, OpenGL ES graphics API, WebKit layout engine and the like. Layers
Linux Kernel Middleware Libraries Android Run9me C C++ Exposed through android app framework Dalvik Virtual Machine JIT The set of core libraries providing most functionality
Processing Speed Java VM Stack based architecture Dalvik VM Register based architecture Pop , Encode , execute Encode, Execute DX .class .class .class .class
Processing Speed Java VM Stack based architecture Dalvik VM Register based architecture Pop , Encode , execute Encode, Execute DX .class .class .class .class
performance of computer programs.” Interpreter Compilers Compiled code is translated Into machine code before Execu9on and it requires this transala9on only once
performance of computer programs.” Interpreter Compilers Translated from a high-‐level language to a machine code con9nuously during every execu9on Compiled code is translated Into machine code before Execu9on and it requires this transala9on only once
performance of computer programs.” Interpreter Compilers Translated from a high-‐level language to a machine code con9nuously during every execu9on Compiled code is translated Into machine code before Execu9on and it requires this transala9on only once
performance of computer programs.” Interpreter Compilers “A hybrid approach, with translation occurring continuously, as with interpreters, but with caching of translated code to minimize performance degradation."
Linux Kernel Middleware Libraries Android Run9me C C++ Exposed through android app framework Dalvik Virtual Machine JIT The set of core libraries providing most functionality
Linux Kernel Operating System Open Plaborm Rich & Innovative Applications Advantage of device H/W , Location info, BG services, etc Full access to same API’s used by core applications Reusability of components
Linux Kernel Operating System Open Plaborm Rich & Innovative Applications Advantage of device H/W , Location info, BG services, etc Full access to same API’s used by core applications Reusability of components Views
Linux Kernel Operating System Open Plaborm Rich & Innovative Applications Advantage of device H/W , Location info, BG services, etc Full access to same API’s used by core applications Reusability of components Views Content providers
Linux Kernel Operating System Open Plaborm Rich & Innovative Applications Advantage of device H/W , Location info, BG services, etc Full access to same API’s used by core applications Reusability of components Views Content providers Resource Manager
Linux Kernel Operating System Open Plaborm Rich & Innovative Applications Advantage of device H/W , Location info, BG services, etc Full access to same API’s used by core applications Reusability of components Views Content providers Resource Manager No9fica9on Manager
Linux Kernel Operating System Open Plaborm Rich & Innovative Applications Advantage of device H/W , Location info, BG services, etc Full access to same API’s used by core applications Reusability of components Views Content providers Resource Manager Ac9vity Manager No9fica9on Manager
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers Android Key Applica9ons Opera9ng System Middleware Linux Kernel
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers 2.6
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers .dex
kernel and consists of Java applications running on a Java-based object-oriented application framework sitting on top of core libraries written in C . In Addition , the runtime consists of a Dalvik virtual machine featuring JIT compilation Layers .dexJIT
777 Each Process has its own VM Isolation “Principle of least privilege” Each applica<on, by default, has access only to the components that it requires to do its work and no more.