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应用服务和用户操作界面

最新文章

  1. Hadoop基础学习框架
  2. Trinity min_kmer_cov
  3. Yii源码阅读笔记(四)
  4. Ehcache(2.9.x) - API Developer Guide, Basic Caching
  5. 你不需要jQuery
  6. 项目管理系统 SQL2005数据库查询CPU100%问题研究
  7. Java Design Demo -简单的队列-异步多任务队列(java android)
  8. jquery自定义插件——window实现
  9. Bitmap的读写
  10. CCNA基础知识摘录
  11. Python处理图片缩略图
  12. Linux命令-cut篇
  13. 使用stylus
  14. 初识SpringCloud微服务
  15. 【Python】脚本运行报错:IndentationError: unindent does not match any outer indentation level
  16. day28(ajax之js原生代码实现)
  17. (转)使用 db2pd 命令进行监视和故障诊断
  18. Spring Boot 的 Security 安全控制
  19. Java时间日期字符串格式转换大全
  20. SharePoint 网站管理-PowerShell

热门文章

  1. C语言 结构体作为参数和返回值使用
  2. NOIP模拟赛11
  3. 2015/9/28 Python基础(19):类的定制和私有性
  4. linux 中 permission denied的问题
  5. 【Nginx】修改响应头,根据不同请求IP重定向到不同IP
  6. 说一说ASP.NET web.config 加密及解密方法 (代码)
  7. Lua的工具资源3
  8. 20155117王震宇 2006-2007-2 《Java程序设计》第一周学习总结
  9. 判断是否引入jquery
  10. 浅析 Spring Aop