Android与Linux内核差异化分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LOGO Android与Linux内核差异化分析 Contents Android与Linux关系概述 1 Android不是Linux 2 Android与Linux内核差异性 3 IPC Binder详解 4 Android与Linux关系概述 Android采用Linux作为内核,运行在其之上,中间加上一个Dalvik的Java虚拟机,表面层上面是Android运行库 Android对Linux内核做了修改,以适应其在移动设备上的应用 Android开始是作为Linux的一个分支,后来由于无法并入Linux的主开发树,已被Linux内核组从开发树中删除 Android不是Linux 1. 它没有本地窗口系统 本地窗口系统是指GNU/Linux上的X窗口系统,或者Mac OX X的Quartz等。不同的操作系统的窗口系统可能不一样,Android并没有使用(也不需要使用)Linux的X窗口系统,这是Android不是Linux的一个基本原因 2. 它没有glibc支持 由于Android最初用于一些便携的移动设备上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为C库,而是Google自己开发了一套Bionic Libc来代替glibc。 Android不是Linux 3. 它并不包括一整套标准的Linux使用程序 Android并没有完全照搬Liunx系统的内核,除了修正部分Liunx的Bug之外,还增加了不少内容,比如:它基于ARM构架增加的Gold-Fish平台,以及yaffs2 FLASH文件系统等。 4. Android专有的驱动程序 除了上面这些不同点之外,Android还对Linux设备驱动进行了增强,主要如下所示 Android与Linux内核差异性 Power Manage ashmem Android Logger Android Timed Device USB Gadget Driver Android PMEM Low Memory Killer Yaffs2 File System Android Alarm Android Binder Android Ram Console Android与Linux内核差异性 Android Binder Android Binder 基于OpenBinder框架的一个驱动,用于提供 Android平台的进程间通信(InterProcess Communication,IPC)功能。 源代码位于drivers/staging/android/binder.c Power Management 一个基于标准Linux电源管理系统的轻量级Android电源管理驱动,针对嵌入式设备做了很多优化。 源代码位于kernel/power/earlysuspend.c等 Android与Linux内核差异性 Low Memory Killer 低内存管理器(Low Memory Killer) 比Linux的标准的OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程以释放需要的内存。 源代码位于drivers/staging/ android/lowmemorykiller.c Ashmem 匿名共享内存(Ashmem) 为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。 源代码位于mm/ashmem.c Android与Linux内核差异性 Android PMEM PMEM用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。 源代码位于drivers/misc/pmem.c Android Logger 一个轻量级的日志设备,用于抓取Android系统的各种日志。 源代码位于drivers/staging/android/logger.c Android与Linux内核差异性 Android Alarm Android Alarm 提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使在设备睡眠时也会运行的时钟基准。 源代码位于drivers/rtc/alarm.c USB Gadget Driver 一个基于标准 Linux USB gadget驱动框架的设备驱动,Android的USB驱动是基于gaeget框架的。 源代码位于drivers/usb/gadget/ Android与Linux内核差异性 Android Ram Console 为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。 源代码位于drivers/staging/andr

文档评论(0)

70后老哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档