Linux Kernel和Android Kernel有什么区别?


Answers:


7

不同版本之间的差异有所不同(Linux和Android都不同),并且每个设备的确切内核都不同。Android的内核是主流的Linux内核,具有针对特定设备的附加驱动程序以及其他附加功能,例如增强的电源管理或更快的图形支持。

在开放源代码社区接受(或可能对其进行了修改)之后,Android内核中的许多功能随后又被添加到上游Linux中,但其他功能则从未被上游,这是因为Linux内核开发人员不接受它们,或者是因为仅适用于Android或特定硬件。


3
大多数针对Android特定硬件的驱动程序已被主流总线内核接受;但是某些功能(如前一段时间引起大争议的唤醒锁)仍然存在问题,因为主线和android内核开发人员不同意它是否是一个好主意。
Lie Ryan

“ Android内核是主流Linux内核,具有针对特定设备的附加驱动程序以及其他附加功能,例如增强的电源管理或更快的图形支持”,因此它主要是驱动程序吗?没有更改源代码?
Guerlando OC

@GuerlandoOCs我不确定您是否认为驱动程序不是源代码更改,但是不管怎么说,这些天我提到的“其他附加功能”相当大。源代码有很多更改。
Dan Hulme'8

@DanHulme是源更改补丁还是只是手动更改了代码?我如何看到变化的事物?我读过您可以修补Linux内核以使其与android兼容,但是这些修补程序在哪里,以便我可以阅读它们?
Guerlando OC

5

除了Dan Hulme和Lie Ryan提到的特定于设备的差异和唤醒锁定之外,Android删除了可能导致资源泄漏的System V IPC功能(消息队列,共享内存段,信号量)(http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html)。这可能只是配置内核构建的问题。同样,选择的Android IPC(称为Binder)在内核中也有一些支持,据我所知,标准Linux内核中未包含该支持。


4

我认为这个Android Source是理解它的绝佳文档。

这里是主线内核做了Android的内核4.14更改列表。

最大的功能包括:

  • 19.8%能源意识计划(内核/计划)
  • 13.8%联网(net / netfilter)
  • 13.5%sdcardfs(fs / sdcardfs)
  • 9.4%USB(驱动程序/ USB)
  • 7.2%SoC(arch / arm64,arch / x86)
  • 6.2%f2fs(fs / f2fs-来自上游的反向端口)
  • 6.1%输入(驱动程序/输入/杂项)
  • 5.4%FIQ调试器(drivers / staging / android / fiq_debugger)
  • 3.6%金鱼模拟器(驱动程序/平台/金鱼)
  • 3.4%真实性(驱动程序/ md)
  • 11.6%其他

与LTS的区别

与LTS(4.14.0)相比,Android通用内核具有355次更改,32266次插入和1546次删除(截至2018年2月)。

在此处输入图片说明


我不明白为什么人们会投票反对?我写了答案,在5秒钟内我就投票了!尼斯
chankruze

+1为您的答案。开车下车的人很烂。
iBug

+1。您的是最好的。
Irfan Latif
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.