Android与Linux内核差异化分析_第1页
Android与Linux内核差异化分析_第2页
Android与Linux内核差异化分析_第3页
Android与Linux内核差异化分析_第4页
Android与Linux内核差异化分析_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、android与linux内核差异化分析,contents,android与linux关系概述,android采用linux作为内核,运行在其之上,中间加上一个dalvik的java虚拟机,表面层上面是android运行库 android对linux内核做了修改,以适应其在移动设备上的应用 android开始是作为linux的一个分支,后来由于无法并入linux的主开发树,已被linux内核组从开发树中删除,android不是linux,1. 它没有本地窗口系统 本地窗口系统是指gnu/linux上的x窗口系统,或者mac ox x的quartz等。不同的操作系统的窗口系统可能不一样,andr

2、oid并没有使用(也不需要使用)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文件系统等,

3、4. android专有的驱动程序 除了上面这些不同点之外,android还对linux设备驱动进行了增强,主要如下所示,android与linux内核差异性,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)

4、功能。 源代码位于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/lowmemor

5、ykiller.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 ala

6、rm 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/android / ram_console.c android timed device 提供了对设备进行定时控制的功能,目前支持vibrator和led设备。 源代码位于drivers/staging/android /timed_output.c,android与linux内核差异性,yaffs2 file system yaffs2是一个快速稳定的应用于nand和nor flash的跨平台的嵌入式设备文件系统,同其他flash文件系统相比,yaffs2能使用更小的内存来保存其运行状态,因此它占用内存小。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论