1 / 23

Android 系统架构

Android 系统架构. Android 架构. Linux Kernel Linux 内核 标准的 Linux 内核 优越的内存和进程管理功能 基于权限的安全模式 被认可的驱动模式 支持共享库 , 代码开源 内核优化 Binder. Android 架构. Native Libraries 本地库 Bionic Libc 定制的 C 库函数实现,为嵌入式应用做了优化 Function Libraries WebkitMediaSQLite Native Servers Surface Flinger Audio Flinger

Télécharger la présentation

Android 系统架构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Android系统架构

  2. Android 架构 • Linux Kernel Linux 内核 • 标准的Linux内核 • 优越的内存和进程管理功能 • 基于权限的安全模式 • 被认可的驱动模式 • 支持共享库,代码开源 • 内核优化 • Binder

  3. Android 架构 • Native Libraries 本地库 • Bionic Libc • 定制的C 库函数实现,为嵌入式应用做了优化 • Function Libraries • Webkit\Media\SQLite • Native Servers • Surface Flinger • Audio Flinger • Hardware Abstraction Libraries • 用户空间的C/C++库 • 定义了Android 对硬件驱动要求的接口实现 • 将Android 的平台逻辑和硬件接口分离

  4. Android 架构 • Android Runtime Android 运行时 • Dalvik • 为嵌入式开发环境设计的特有的虚拟机实现 • 支持多虚拟机进程 • 高度CPU 优化的字节码解释程序 • 以优化的.dex 文件格式运行, 能够高效的使用运行时内存 • Jave 的.class / .jar 文件在编译时转化为.dex • Core Libraries 核心库 • 核心的Java 语言API

  5. Android 架构 • Application Framework 应用程序框架 • Core Platform Services 核心平台服务 • Activity Manager 活动管理 • Package Manager 包管理 • Window Manager 窗口管理 • Resource Manager 资源管理 • Content Providers 内容管理 • View System 视窗系统 • Hardware Services 硬件服务 • 提供对底层硬件访问的API、一般通过本地Manager 对象访问

  6. Android系统评估 • Android • 应用程序框架更优 • 开源 • 使用Java开发 • Java语言本身具有元信息,可以进行动态适配 • Java程序的jni部分(c/c++)不具有元信息,无法进行动态适配 • Android系统自适应性较Windows8弱 • C/C++层面需要元信息(COM/CAR)

  7. Windows 8系统架构

  8. Window8 Platform • 创建了一套“Metro”应用程序框架 • Metro中的系统服务层,被称为WinRT(Windows Runtime) • WinRT是一组全新设计、与传统不兼容,并使用改进的COM技术开发的API • 标志着COM技术的回归,取代.Net技术重新成为构建系统服务的基石。

  9. Elastos Apps HTML/CSS JavaScript Java C++ Android RT ELASTOS RT Application Framework Activity Manager Window Manager Content Providers View System Capsule Manager Resource Manager Location Manager Notification Manager ELASTOS CORE LIBRARIES CAR RT 3PART LIBRARIES LINUX KERNEL Elastos操作系统 • Elastos = Android + Win8 + CAR

  10. Elastos系统优势 • CAR构件技术的持续演进,将使系统发挥巨大威力 • 使C++具有解释性语言相似的元信息描述与动态特性 • 形成一套面向接口的C++系统类库 • 构件化 • 更高效、更安全 • 有巨大的潜在创新空间

  11. Elastos系统优势 • 有自主特色的智能终端操作系统 • 更先进的本地应用框架 • 支持多种应用形态 • C++应用(Elastos应用) • Java应用(Android应用) • Html/css Javascript应用(firefox OS)

  12. Elastos操作系统 • Elastos App runtime • Dalvik VM  CAR runtime运行时 • Core Lib  Elastos核心库Elastos.core.libs&Elastos.framework.core • Elastos Zygote进程 • Android Zygote  Elastos Zygote • Superexe

  13. Elastos操作系统启动流程 • 启动init进程 • 启动Elastos Zygote进程 • 初始化runtime运行时进程 • 启动ServiceManager • 启动System Server和本地Surface Flinger 、Audio Flinger服务 • 启动Android 管理服务 • 启动Home Activity

  14. Elastos操作系统启动流程 • init进程启动 • rc文件解析 • Actions, Commands, Services, and Options • 启动Native服务 • Surface Flinger • Audio Flinger • 循环调用service_start,将启动后的service状态设置为SVC_RUNNING。 • Init进程作为属性服务(Property service)维护这些NativeService

  15. Elastos操作系统启动流程 • 启动Elastos Zygote进程 • 此进程用来启动一个Elastos App Runtime实例 • 为应用或服务的请求加载类并监听套接字 • 生成创建管理进程的Elastos RT实例请求 • 通过写时复制来实现最大化的复用 Elastos Zygote

  16. 请求创建App Apartment 服务请求 Elastos App Apartment Elastos操作系统启动流程 • Elastos Zygote进程 • 在Elastos Zygote进程进入循环之前,调用startSystemServer( ); • 利用Socket通讯,接收请求,Fork应用程序进程,进入Zygote进程服务框架中。 请求创建App Apartment 请求创建App Apartment 请求创建App Apartment 服务请求 服务请求 服务请求 Elastos App Apartment Elastos App Apartment

  17. Elastos操作系统启动流程 • 初始化runtime运行时进程 • 初始化服务管理器 • 注册服务管理为默认的绑定服务上下文管理 Elastos Zygote

  18. Elastos操作系统启动流程 • 启动System Server服务 • Elastos Zygote 为系统服务进程生成一个新的Elastos App Runtime实例(含Elastos核心库)并启动服务 Elastos Zygote Elastos App RT Elastos

  19. Elastos操作系统启动流程 • 系统服务启动两个本地Surface Flinger 和 Audio Flinger • 并向Service Manager注册成为IPC 服务对象 Elastos Zygote Elastos App RT Elastos

  20. Elastos操作系统启动流程 • 启动Android 管理服务 • Elastos Zygote 为Android 管理服务进程生成一个新的Elastos App Apartment (不含Elastos核心库)实例并启动和注册服务 Elastos Elastos Zygote Elastos Zygote Elastos App RT Elastos App RT Elastos

  21. Elastos操作系统启动流程 • 当加载了所有服务后系统即准备完成 Elastos App RT Elastos App RT Elastos App RT Elastos Zygote Elastos Zygote Elastos Zygote

  22. Elastos操作系统启动流程 • 启动Home Activity Elastos App Apartment Elastos App RT Elastos App RT Elastos Zygote Elastos Zygote

  23. 启动Home Laucher 请求创建App Apartment实例 Elastos Zygote Elastos App RT Elastos App Apartment

More Related