核心

Linux內核幾乎是每個Android設備上軟件的極其重要的組成部分。本節介紹Linux內核開發和發行模型(如下),穩定和長期受支持的(LTS)內核(包括為什麼所有Android設備都應使用穩定發行版而不是挑選補丁的原因),內核配置強化接口要求以及模塊化內核(在Android O中引入),內核調試網絡測試以及SquashFS

Linux內核開發

Linux內核是有史以來最大的協作軟件項目。 2016年,來自450多家不同公司的4,000多名不同的開發人員為該項目做出了貢獻,共有6個版本,每個版本包含12,000至16,000個不同的更改。到2016年底,Linux內核的大小剛剛超過5.6萬個文件,其中包括2200萬行代碼,構建腳本和文檔(內核版本4.9)。 (有關完整的Linux開發統計信息,請參閱https://kernelnewbies.org/DevelopmentStatistics 。)

雖然Linux內核包含其支持的所有不同芯片體系結構和硬件驅動程序的代碼,但單個系統僅運行部分代碼庫。普通筆記本電腦使用5000個文件中的大約200萬行內核代碼才能正常工作,而Pixel手機使用6000個文件中的320萬行內核代碼(由於SoC的複雜性增加)。

Linux內核發行版

Linux內核使用的發布模型與標準AOSP發行版有很大的不同。隨著2003年12月2.6內核的發布,內核開發人員社區從以前的具有獨立開發和穩定內核分支的模型切換到了僅穩定分支模型。在此模型中,每2到3個月就會發布一個新版本,並且該版本被宣佈為穩定版本,建議所有用戶運行。開發模型的這種變化是由於2.6內核之前的發布週期非常長(將近3年),並且難以同時維護代碼庫的兩個不同分支。

內核發行版的編號從2.6.x開始,其中x是每個發行版都會更改的遞增編號(該編號的值沒有意義,除了比以前的內核發行版新)。從那時起,內核版本已移至4.x,其中包含2個主要版本更改。這些版本號僅由維護人員選擇,以避免由於較高的次要發行版號而導致用戶之間的混淆。