Google对Kernel做了哪些改动?

Google在Android系统中进行了大规模更新,包括修改75个现有文件、新增88个新文件,涉及多个关键领域如Goldfish CPU模拟器、YAFFS2文件系统、蓝牙通讯、调度系统、新功能集成等。更新还包括了IPCBinder进程间通信机制、低内存杀手、Ashmem匿名共享内存系统、内存控制台与日志装置、Android调试桥等功能改进,以及电源管理系统的增强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Google变更了75个文件并增加了88个文件。我们准备了一个带注释的变更文件清单,附于文章末尾;在这里有一个简单总结。

Goldfish-44个文件

Android模拟器运行一个虚拟的CPU,Google叫这个CPU为Goldfish。Goldfish执行ARM926T的指令,并且有用于输入和输出的钩子,好比模拟器上的读取键和播放视频的输出键。

这些接口在定义Goldfish模拟器的文件中实现,并且不会被汇编到在真实设备上运行的Kernel中。所以我们可以放心的忽略这些文件。

YAFFS2-35个文件

与PC在磁盘上存储文件不同,手机在固态闪存芯片上存储文件。HTC G1用的是NAND闪存,一种因其高品质低价格而变得越来越流行的闪存。

YAFFS2是“Yet Another Flash File System, 2nd edition(另一个闪存系统文件,第二版)的缩写,为Linux Kernel和NAND闪存设备提供高性能接口。YAFFS2对Linux早就免费开放。然而,它不是标准2.6.25 Linux Kernel的一部分,所以Google将它添加到Android上。

蓝牙-10个文件

Google在蓝牙通讯协议栈中对10个文件进行了修改。修改的结果修正了与蓝牙耳机关联的6个明显错误,同时添加了蓝牙调试和访问控制功能。

调度-5个文件

Android Kernel同时包含了对CPU进程调度和时间维持算法的略微修改。我们还不知道关于这些修改的历史,但是其影响在粗略检查下并不明显。

新Android功能-28个文件

除了改错和其他一些小变动外,Android涵盖了一系列新的子系统值得一提,包括下列:

IPC Binder

IPC Binder是一个进程间通信机制。它允许程序通过一套高端API设置向其他程序提供服务,而不是通过标准Linux。网络搜索显示Binder概念始于Be公司,在Google为Android编写新Binder之前已经在Palm软件中实现了。

低内存杀手

Android增加了一个低内存杀手,每次使用这个功能,扫描正在运行的程序,然后杀掉一个。在我们的粗略测试中不能清楚的显示为什么Android在标准Linux Kernel已有的低内存杀手之上又增加了一个。

Ashmem

Ashmem是一个匿名共享内存(Anonymous SHared MEMory)系统,该系统增加了接口因此进程间可以共享具名内存块。举一个例子,系统可以利用Ashmem存储图标,当绘制用户界面的时候多个进程也可 以访问。Ashmem优于传统Linux共享内存表现在当共享内存块不再被用的时候,它为Kernel提供一种回收这些共享内存块的手段。如果一个程序尝 试访问Kernel释放的一个共享内存块,它将会收到一个错误提示,然后重新分配内存并重载数据。

内存控制台和日志装置

Android为调试错误增加了将Kernel记录信息储存到内存缓冲上的功能。另外,Android还增加了单独日志模块,这样用户进程就可以读写用户日志信息了。

Android调试桥

调试嵌入式设备可以说是个挑战。Google创造了Android调试桥(简称ADB)来简化调试,该调试通过一个USB连接运行Android的硬件设备和开发者用于编写应用程序的台式电脑之间。

Android同时增加了一个新的实时时钟、一个交换支持和一个计时的GPIO支持。我们在文章结尾列举了影响这些新模块的文件。

电源管理-5个文件

电源管理是一个好的移动设备中最难处理的问题之一,因此我们将其单独分成一组。有趣的是Google给Linux增加了一个新的电源管理系统,而不是利用现有的。我们在文章结尾列举了受影响的文件。

其他改变-36个文件

除了上边列举的例子之外,我们还发现一系列“各式各样”得改变。和其他的改变相比,这些改变包括了额外调试支持、键盘灯控制和TCP网络管理。

网络过滤器-0个文件

最后,我们的变更文件列表显示网络过滤器有22个被改变的文件。然而,测试显示只有文件名称得大小写不同(xt_DSCP.c对应xc_dscp.c),文件内容完全一致。因此在本文中我们将这些文件忽略不计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值