Architecture of Android OS Shahab Pourtalebi An ...

2 downloads 0 Views 316KB Size Report
Stream. Synchronizer. Media frameworks. OpenMax core. Stagefright. Linux interface. Data format. Dalvik VM. Class loader. App debugger. Bytecode interpreter.
Architecture of Android OS Shahab Pourtalebi Faculty of Industrial Design Engineering, Delft University of Technology, the Netherlands

An empirical study is performed for formulation of architectural aspects of cyber-physical systems with mereotopological notations. As software example, we focused on Android OS. The outcome of our data collection from numerous sources and refining the results represented in this figure. It is worth mentioning that this study is performed in 2013 and new versions of Android OS might be slightly different. Applications

Android Resources Uncompiled .arsc resources manifest .xml

Application .DEX file

Class definition

Header Constant pool

Surface manager Surface flinger

Constants

Constants

Public constructors Public methods Inherited methods

Public constructors Public methods Inherited methods

OpenGL ES Shader

FreeType

Primitive assembler Texture memory

Surface flinger client

Rasterizer Layer base client B client

Nested classes

Resource manager Nested classes Public constructors Public methods Inherited methods

Media frameworks Data format

FT_module FT_face

String data

Method ids

Byte data

Class data

Activity manager

Content provider

Nested classes

Nested classes Inherited constants Public constructors Public methods Protected methods Inherited methods

Constants

Fields

Public methods Inherited methods

Public methods Inherited methods

WebKit Embedding API

FT_stream

OpenMax core

Location manager Constants Public methods Inherited methods Window manager Nested classes Public methods Inherited methods

Android Runtime

SQLite App Interface

FT_size

Renderer

FT_glyphslot FT_memory

Tokenizer Parser

Platform API

Audio codecs

Fragment operator

JSCore

WebCore

Engine

TSL

Constants

Word data

Type/class ids

Video codecs

Virtual machine

SGL Rasterizer

Image codecs

Path renderer Stream Synchronizer

Code generator

XML attributes Constants Fields Public constructors Public methods Protected methods

Dalvik VM Class loader

Core libraries Collection class library

Bytecode interpreter Execution engine

Utilities library

Garbage collector

Input/output library

Code profiler

B-Tree Pager

Ganesh

View system Nested classes

App debugger

Stagefright

FT_chartmap

Bionic libc

Telephony manager

Field ids

Compiler

Libraries

Package manager

Data

String ids

Core

XMPP service Google cloud messaging

Notification manager Constants Nested classes Fields Wearable extender Public Constants Constructors Public Public constructors methods Public Inherited methods methods

Method list

Backend

Application framework

Type list Field list

OS interface

Linux interface

Linux kernel Device manager

Process mnger

Memory mnger

Network mnger

Storage mnger

UI mnger

Visual mnger

Power mnger

System interface

Processes

Binder storage

Sockets access

File/ directory access

Security

HAL

Power saving profile

Binder (IPC) driver

Networking storage

Networking storage

Abstract devices

Threads Device model Synchronizer System run

Scheduler

Gyro + accelerometer driver

Gralloc

HI subsystems Logical memory

Protocols

File systems

Generic HW access

Interrupt context

Page allocator

Virtual netwrk device

Block devices

Device access and bus driver

CPU specific

Memory driver

Bluetooth driver

SSD driver

Heart rate sensor driver

Audio driver

Touchscreen driver

Sensor mnger

Display driver

Consumption optimizer

Ambient light sensor driver

GPU driver

PMU driver

Pedometer driver