Linux与Android之间的关系

在这里插入图片描述

android 为什么为选择Linux

  1. 强大的内存管理和进程管理方案
  2. 基于权限的安全模式
  3. 支持共享库
  4. 经过认证的驱动模式
  5. linux本身就是开源项目
    android 不是linux
  6. 它没有本地窗口系统
    Linux用的X窗口系统, Mac 上OX X的Quartz
    Android上并没有使用
  7. 它没有glibc的支持
    采用了Google自己开发的一套Bionic Libc代替glibc
  8. 它并不包括一整套标准的Linux使用程序
    没有完全照搬Linux系统的内核;
    修改了部分Linux的Bug,增加了不少内容,如基于ARM架构的Gold-Fish平台
    以及Yaffs2FLASH文件系统
  9. 它增强了Linux以支持其特有的驱动
  10. Android Binder 基于OpenBinder框架的一个驱动,提供了android
    平台间的进程通信功能, 源代码位于drivers/staging/android/binder.c
  11. Android电源管理功能(PM) 一个基于标准备Linux电源管理系统轻量级Android
    电源驱动管理,针对嵌入式设备做了很多优化。源码位于:
    kernel/power/earlysuspend.c
    kernel/power/userwakelock.c
    kernel/power/wakelock.c
    kernel/power/consoleearlysuspend.c
    kernel/power/fbearlysuspend.c
  12. 低内存管理 比Linux标准的OOM(Out of Memory)机制更加灵活,它可以根据需要
    杀死进程以释放需要的内存。源代码位于drivers/staging/android/lowmemorykiller.c
  13. 匿名共享内存(Ashmem) 为进程间提供大块共享内存,同时为内核提供回收和管理这个
    内存的机制, 源码位于mm/ashmem.c
  14. Android PMEM(Physical) PMEM用于向用户空间提供连续的物理内存区域,DSP和某些设备
    只能工作在连续的物理内存上,源码位于drivers/misc/pmem.c
  15. Android Logger一个轻量级的日志设备,用于抓取Android系统的各种日志,源代码位于
    drivers/staging/android/logger.c
  16. Android Alarm 提供了一个定时器,用于把设备从睡眠状态唤醒,同时它还提供了一个即使有设备
    睡眠时也会运行的时钟基准。源代码位于drivers/art/alarm.c
  17. USB Gadget驱动, 一个基于标准Linux USB gadget驱动框架的设备驱动,Android USB驱动是基于
    gaeget框架的,源代码位于drivers/usb/gadget
  18. Android Ram Console,为了提供调试功能,Android允许将调试日志写入一个被称为RAM Console的
    设备里,它是一个基于RAM的Buffer,源代码位于drivers/staging/android/ram_console.c
  19. Android timed device 提供了对设备进行定时控制的功能,目前支持vibrator和LED设备。源代码
    位于drivers/staging/android/timed_output.c(timed_gipo.c)

Linux与Android之间的关系

猜你喜欢

转载自blog.csdn.net/weixin_42135087/article/details/131513642
今日推荐