Android内核和Linux内核的区别简介


Android内核是在标准Linux内核的基础上修改而成。 为了适应嵌入式硬件环境和移动应用程序的开发,Android 对标准Linux内核进行了一定的修改,主要包括以下内容,下面会针对其中英文名称对照,主要内容和代码所在位置,进行分别说明:

Android Binder机制

  • 中文:Android Binder
  • 英文:Android Binder机制
  • 主要内容说明:基于open binder框架的一个驱动,用于提供Android平台的进程间通信(IPC)。
  • 源代码位置:drivers/staging/android/binder.c

Android 电源管理

  • 中文:Android 电源管理
  • 英文:Android Power Management(PM)
  • 主要内容说明:基于Linux电源管理系统的轻量级的电源管理模块。
  • 源代码位置:kernel/power/

低内存管理

  • 中文:低内存管理
  • 英文:Low Memory Killer
  • 主要内容说明:更灵活的内存管理,可根据需要杀死进程。其关键函数为lowmem_shrinker。
  • 源代码位置:drivers/staging/android/lowmemorykiller.c

匿名内存共享

  • 中文:匿名内存共享
  • 英文:Ashmem(Anonymous Shared Memory)
  • 主要内容说明:为进程提供大块内存共享,同时为内核提供回收和管理内存的机制。如果一个程序尝试访问kernel释放的一个共享内存块,它将收到错误提示,然后重新分配内存并重载。
  • 源代码位置:mm/ashmem.c

Android 日志

  • 中文:Android 日志
  • 英文:Android Logger
  • 主要内容说明:轻量级的日志设备。
  • 源代码位置:drivers/staging/android/logger.c

Android 闹钟

  • 中文:Android 闹钟
  • 英文:Android Alarm
  • 主要内容说明:提供一个定时器,用于设备从睡眠状态唤醒,同时它提供设备睡眠时运行的基准时钟。
  • 源代码位置:
    drivers/rtc/rtc-core
    drivers/rtc/rtc-dev.c

USB Gadget驱动

  • 中文:USB Gadget驱动
  • 英文:USB Gadget
  • 主要内容说明:一个具有标准Linux USB gadget驱动框架的设备驱动。
  • 源代码位置:
    drivers/usb/gadget/android.c
    drivers/usb/gadget/f_adb.c
    drivers/usb/gadget/f_mass_storage.c

Android Ram Console

  • 中文:Android 内存控制台
  • 英文:Android Ram Console
  • 主要内容说明:为了提供调试功能,Android允许将调试日志信息写入一个被称为RAM Console的设备里,它是一个基于RAM的Buffer。
  • 源代码位置:drviers/staging/android/ram_console.c

Android 时间设备

  • 中文:Android 时间设备
  • 英文:Android Timed Device
  • 主要内容说明:提供了对设备进行定时控制功能,目前仅仅支持vibrator和LED设备。
  • 源代码位置:
    drviers/staging/adnroid/timed_output.c
    drviers/staging/adnroid/timed_gpio.c

Yaffs2文件系统

  • 中文:Yaffs2文件系统
  • 英文:Yet Another Flash File System 2
  • 主要内容说明:在Android系统中,采用Yaffs2作为MTD NAND FLASH文件系统。Yaffs2是一个快速稳定的应用于NAND和NOR FLash的跨平台的嵌入式设备文件性,同其他Flash文件系统相比,Yaffs2使用更小的内存来保存运行状态,因此它占用内存小;Yaffs2的垃圾回收非常简单而且快速,因此能够达到更好的性能;
  • 源代码位置:fs/yaffs2/

版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/different-of-android-kernel-and-linux-kernel.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注