android和linux的关系.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
android和linux的关系

Android与Linux差异化分析 ----内核部分 For android project 徐林 项目背景及任务 将采用STE的6715芯片。 STE已将android1.6、android2.1移植到板子上。 我们将采用android2.2 froyo。(目前必威体育精装版版本,android3.0据说已开发出,估计将在年底正式发布) 选用android2.2的利弊 Android2.2是目前已发布的必威体育精装版版本。 Android2.2在系统运行效能上大大提高,功能更加丰富。 目前市场上采用android2.2的机型很少。 Android2.2采用的Linux-2.6.32内核比较稳定,被很多必威体育精装版的Linux发行版采纳。 Android2.2相对android2.1改动较多(尤其是内核)。 名词解释 Dalvik:google及相关开发商开发的java虚拟机。 NDK:Native?Development?Kit,帮助开发者使用c,c++开发android应用的工具。 jni:Java Native Interface的缩写,中文为JAVA本地调用。允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的。 jit:just in time,及时编译,经过这种方式编译的android应用程序,运行效率大大提高。 Android和Linux的关系概述 Android采用Linux做为内核。 Android对Linux内核做了修改,以适应其在移动设备上的应用。 Andorid开始是作为Linux的一个分支,后来由于无法并入Linux的主开发树,已被Linux内核组从开发树中删除。 Android的内核版本 Android1.5 Cupcake Linux-2.6.27 Android1.6 Donut Linux-2.6.29 Android2.0,2.1 Eclair Linux-2.6.29 Android2.2 Froyo Linux- Andorid内核对标准Linux内核的继承 Android内核由标准的Linux内核修改而来,因此继承了Linux内核的诸多优点,保留了Linux内核的主题架构。同时,android按照移动设备的需求,在文件系统,内存管理,进程间通讯机制和电源管理方面进行了修改,添加了相关的驱动程序和必要的新功能。但是和其他精简的Linux系统相比(比如uClinux),android很大程度的保留了Linux的基本架构,因此android的应用性和扩展性更强。 Andorid内核和标准Linux内核的差别 Android Binder Android电源管理(PM) 低内存管理器(Low Memory Killer) 匿名共享内存(ashmem) Android PMEM(Physical) Android Logger Android Alarm USB Gadget驱动 Android Ram Console Android timed device Yaffs2文件系统 Android Binder 基于OpenBinder框架的一个驱动,用于提供Android平台的进程间通讯(IPC,inter-process communication)。原来的Linux系统上层应用的进程间通信主要是D-bus(desktop bus),采用消息总线的方式来进行IPC。 源代码于? drivers/staging/android/binder.c。 Android电源管理(PM) 一个基于标准Linux电源管理系统的轻量级的Android电源管理驱动,针对嵌入式设备做了很多优化。利用锁和定时器来切换系统状态,控制设备在不同状态下的功耗,以达到节能的目的。 源代码位于kernel/power/earlysuspend.c kernel/power/consoleearlysuspend.c kernel/power/fbearlysuspend.c kernel/power/wakelock.c kernel/power/userwakelock.c 低内存管理器(Low Memory Killer) 相对于Linux标准OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程来释放需要的内存。Low memory killer的代码很简单,关键的一个函数是Lowmem_shrinker。作为一个模块在初始化时调用register_shrinke注册了个lowmem_shrinker,它会被vm在内存紧张的情况下调用。Lowmem_shrinker完成具

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档