news 2026/9/25 18:10:47

Android内核和Linux内核的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android内核和Linux内核的区别

Android内核和Linux内核的区别主要体现在11个方面:

1.Android Binder

Android Binder是基于Openbinder框架的驱动,用于提供Android平台的进程间的通迅(IPC)。原来的Linux系统上层应用的进程间通信主要是D-bus,采用消息总线的方式来进行IPC。其源代码位于drivers/staging/android/binder.c

2.Android电源管理(PM)

Android电源管理是基于标准Linux电源管理系统的轻量级Andorid电源管理驱动,针对嵌入式设备做了很多优化。利用锁和定时器来切换系统状态,控制设备在不同状态下的功耗,以达到节能的目的。其源码位于kernel/power/earlysuspend.c kernel/power/consoleearlysuspend.c kernel/power/fbearysuspend.c kernel/power/wakelock.c kernel/power/userwakelock.c

3. 低内存管理器(Low memory Killer)

Android低内存管理器和linux标准的OOM相比,机制更加灵活,可以根据需要杀死进程来释放需要的内存。Low memory Killer的代码非常简单,里面关键是函数Lowmem_shrinker().作为一个模块在初始化时调用register_shrike注册一个Lowmen_shriker,它会被vm在内存紧张的情况下调用。源码位于drivers/staging/android/lowmemorykiller.c

4.匿名共享内存(Ashmem)

匿名共享内存为进程间提供大块共享内存,同时为内核提供回收和管理这个内存的机制。如果程序尝试访问Kernel释放的共享内存块,它将会受到错误提示,然后重新分配内存并重载数据。其源码位于mm/ashmem.c

5. Android PMEM(Phsical)

PMEM用于向用户空间提供连续的物理内存区域,DSP和某些设备只能工作在连续的物理内存上。驱动中提供了mmap、open/release和ioctl等接口。

6.Android Logger

Android Logger是轻量级的日志设备,用于抓取Android系统的各种日志,是Linux锁没有的

7.Android Alarm

Android Alarm提供了定时器用于把设备从睡眠状态唤醒,同时它也提供了即使在设备睡眠是也会运行的时钟基准。其源码位于driver/rtc/alarm.c drivers/rtc/alarm-dev.c

8.USB Gadget驱动

此驱动是具有标准Linux USB gadget驱动框架的设备驱动,Android的USB驱动是基于gadget框架的。其源码位于如下文件:

drivers/usb/gadget/android.c drivers/usb/gadget/f_adb.c drivers/usb/gadget/f_mass_storage.c

9.Android Ram Console

为了提供调试功能,Android允许将调试日志信息写入被称为RAM Console的设备里,它是基于RAM的Buffer其源码位于drviers/staging/android/ram_console.c

10.Android timed device

Android timed device提供了对设备进行定时控制功能,目前仅仅支持vibrator和LED设备。其源码为drviers/staging/adnroid/timed_output.c

11.Yaffs2文件系统

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 18:03:27

12G显存跑27B模型:量化、KV Cache优化与投机解码实战

1. 为什么要在12G显存上折腾27B模型先把结论摆在前面:12G显存跑27B模型,128K上下文,decode速度50 tokens/s,这件事在一年前基本属于天方夜谭,但现在通过量化压缩、KV Cache优化、投机解码这几条路组合起来,…

作者头像 李华
网站建设 2026/9/25 18:02:19

免费CRM总折腾?自建私有化CRM全流程实战——以DeskcommCRM为例

搞了这么多年软件,我见过太多团队在CRM选型上反复折腾:一开始图省事用免费CRM,业务跑起来后数据越来越多,权限一复杂就发现平台带不动;想自己写一套专门给销售和客服用的后台,又舍不得那个开发成本。后来我…

作者头像 李华
网站建设 2026/9/25 18:01:46

基于LLM的企微量化推送系统:从盯盘焦虑到自动推送

1. 从盯盘焦虑到自动推送:这套系统到底在解决什么做A股的人大概都有过这种体验:早上九点半开盘,手里几只票,一边上班一边偷偷刷行情,涨了怕回撤,跌了怕深套,一天下来正事没干几件,心…

作者头像 李华