歡迎您光臨本站 註冊首頁

Google 試圖將 Android 設備內核統一至 Linux 內核主線

←手機掃碼閱讀     admin @ 2019-11-22 , reply:0

Android 是基於 Linux 內核的操作系統,但是,運行在 Android 設備上的內核其實與 Google 選擇的 LTS 版本 Linux 內核有很大不同。

在到達每一台 Android 設備前,內核會經歷三個階段的 fork:Google 會先選擇某個 LTS(長期支持)版本的 Linux 內核,打上 Android 操作系統的特定補丁,使其成為 Android 通用內核;緊接著,通用內核被交付給高通等 SoC 供應商,打上硬體補丁;最後,SoC 內核再被移交至設備製造商,打上設備特定的各類元件補丁,這也就構成到每台設備中的設備內核。

這是一個及其漫長的過程,執行多重 fork 並處理數百萬行代碼大大減慢了整個開發速度。因此,Android 設備使用的內核相較於 Linux 內核主線要滯后兩到三年的時間。Google 於 10 月份最新發布了 Pixel 4,其 Linux 內核則是 2017 年 11 月發布的 4.14 LTS 版本。並且由於過大的工作量,Android 設備通常不獲取內核更新,它將永遠停留在 4.14 版本上。

再者,各種設備的內核都不盡相同,一台設備的特定內核無法在其他設備上工作。於是,Google 正試圖縮小各 Android 設備內核與主線 Linux 內核間的差距,讓設備內核更接近上游內核主線。

在今年的 Linux Plumbers Conference 上,Android 內核團隊負責人 Sandeep Patil 表示,他們的目標是從根本上找到 Android 運行所需要的、但不必在給定的硬體上運行的東西,然後將其引入上游並儘可能接近主線。

Google 的打算是複製其早期工作 Project Treble 以模塊化 Android。Project Treble 用於在 Android 和 HAL(硬體抽象層)之間創建穩定的介面。與此類似,Google 計劃穩定 Linux 的內核 ABI,從而提供一個穩定的寫入介面,使硬體供應商可以輕鬆地插入代碼,最終消除特定的設備內核。

Google 的高級軟體工程師 MatthiasMännich 展示了一幅預想中的內核體系結構圖。」下一代 Android 設備「內核將由通用內核鏡像(Generic Kernel Image,GKI)和多個 GKI 模塊構成,特定硬體的驅動程序(可能是閉源驅動)將作為內核模塊載入。總之在該設想中,所有東西都被模塊化了。

考慮到 Android 生態系統的技術壁壘和多樣性,這應該不是一件容易的事情。無論如何,將 Android 設備內核引入主線 Linux 內核肯定會使包括 Android 用戶、手機製造商和 Linux 社區等在內的不少人受益。不過 Google 的計劃剛剛開始,後續還有更多的工作要完成。

參考:arstechnicafossbytes


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/111524/google-plans-for-mainline-linux-kernel-support-in-android
Google 試圖將 Android 設備內核統一至 Linux 內核主線已經有251次圍觀

http://coctec.com/news/soft/show-post-220194.html