• 《Android虚拟机》----Android系统的结构


    No1:

    操作系统层包括各种驱动程序:显示、Flash内存、照相机、音频、WiFi、键盘、蓝牙、Binder IPC、能源管理。

    各种库和Android运行环境大多是用C和C++实现的。

    Android运行环境主要指虚拟机技术---Dalvik

    Java VM是基于栈的虚拟机,而Dalvik是基于寄存器的虚拟机,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

    No2:

    进程的类型按重要程度排序包括以下几项:前台进程(Foreground)、可见进程(Visible)、服务进程(Service)、后台进程(Background)、空进程(Empty)

    No3:

    Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)----该格式经过优化,以将内存耗用降到最低。Java编译器将java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册运行。

    No4:

    Android内核

    1)Android Binder:用户进程间通信

    2)Android电源管理(PM):利用锁和定时器来切换系统状态,控制设备在不同状态下的功耗,以达到节能的目的。

    3)低内存管理器(Low Memory Killer):根据需要杀死进程来释放需要的内存

    4)匿名共享内存(Ashmem):为进程提供大块共享内存,同时为内核提供回收和管理这个内存的机制。

    5)Android PMEM(Physical):用于向用户空间提供连续的物理内存区域

    6)Android Logger:轻量级的日志设备,用于抓取Android系统的各种日志

    7)Android Alarm:提供了一个定时器用于把设备从睡眠状态唤醒

    8)USB Gadget驱动:基于Linux USB gadget驱动框架的设备驱动

    9)Android Ram Console:Android允许将调试日志信息写入一个被称为RAM Console的设备里

    10)Android timed device:提供了对设备进行定时控制功能

    11)Yaffs2文件系统:是一个快速稳定的应用于NAND和NOR Flash的跨平台的嵌入式设备文件系统

    No5:

    在Android中添加扩展驱动程序的基本步骤如下:

    1)在Linux内核中移植硬件驱动程序,实现系统调用接口

    2)把硬件驱动程序的调用在HAL中封装成Stub

    3)为上层应用的服务实现本地库,由Dalv让虚拟机调用本地库来完成上层Java代码的实现

    4)最后编写Android应用程序,提供Android应用服务和用户操作界面

  • 相关阅读:
    mysql-5.7(centos-6.9环境)源码安装
    Oracle 11g 体系结构思维导图
    my.cnf 配置文件参数优化
    职业生涯规划
    技能栈规划图
    操作文档 Oracle 11g (CentOS7.2环境) 静默安装
    oracle 静默安装响应文件 参数说明
    oracle em企业管理器的安装、配置及相关问题
    大数据第51天—Mysql练习题12道之六-今年10月份第一次购买商品的金额-杨大伟
    大数据第50天—Mysql练习题12道之五-活跃用户的总数-杨大伟
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/7657445.html
Copyright © 2020-2023  润新知