无码网站在线免费观看_午夜视频刺激性视频场所_国产极品99热在线播放69_97高清国语自产拍

讓商業(yè)變得更智能

Android官方正在著手解決碎片化問題
Android

一年一度的 Linux Plumbers 大會是從事 Linux 系統(tǒng)底層開發(fā)的工程師的聚會??紤]到 Android 作為全球規(guī)模最大的 Linux 內(nèi)核發(fā)行版之一,谷歌軟件工程師 Todd Kjos 今年也參與了大會并做了分享。

他表示,即將正式亮相的 Android 12 承諾向最終用戶提供谷歌打造的“通用內(nèi)核鏡像(Generic Kernel Image,簡稱 GKI)”,以確保新一代 Android 能無限拉近與主流 Linux 的距離。

在傳統(tǒng)上,Linux 內(nèi)核在入駐 Android 手機之前會經(jīng)歷多次分叉,而且 Android 設(shè)備供應(yīng)流程中的每個利益相關(guān)方都會進行自己的分叉。簡單來說,就是谷歌先將 Linux LTS 內(nèi)核分叉為 Android Comon Kernel,之后再由 SoC 供應(yīng)商針對每款芯片進行分叉,最后由設(shè)備制造商進行再次分叉。

首先,谷歌會將 Linux 內(nèi)核分叉為“Android Common”——即 Linux 內(nèi)核加上一系列手機與 Android 特定調(diào)整。之后以高通、三星或聯(lián)發(fā)科為代表的 SoC 供應(yīng)商又會對 Android Common 進行分叉,為各個主要芯片版本開發(fā)一套 SoC 專用內(nèi)核。最后,每臺設(shè)備都要對應(yīng) SoC 內(nèi)核的一個特定分叉,用于實現(xiàn)對特定設(shè)備的硬件支持。

可以看到,Android 內(nèi)核的這種嚴重碎片化必然引發(fā)巨大混亂,我們不難想象從分支樹頂端到最終用戶推動 bug 修復(fù)會是一項多么漫長而艱難的旅程。Android.com 官方文檔提到,“內(nèi)核修改范圍極為廣泛,因此在最終設(shè)備上運行的代碼中有多達 50% 的代碼屬于樹外代碼(并非來自上游 Linux 或 AOSP 通用內(nèi)核)?!贝送?,這樣的方式還帶來嚴重的時間浪費,即使是谷歌自家的官方品牌手機也得提前兩年就開始供應(yīng)內(nèi)核。

谷歌一直希望通過 GKI 拉近 Android 與 Linux 之間的距離。谷歌的目標是只為 Android 對 Linux 內(nèi)核進行一次分叉(而不是三次),再通過插件模塊為 SoC 及設(shè)備制造商提供定制化空間。

演示文稿中的幻燈片,其中詳細介紹了新的內(nèi)核策略時間表

Kjos 解釋道,“最大的驅(qū)動力是將所有特定于硬件的代碼從通用內(nèi)核中遷移至供應(yīng)商模塊處。要達成這個目標,我們必須在各供應(yīng)商模塊與通用內(nèi)核之間建立起穩(wěn)定的接口。只有這樣,才能讓異步發(fā)布成為現(xiàn)實?!痹摻涌诒环Q為“KMI”,即“內(nèi)核模塊接口”。Kjos 指出,目前 Android GKI 與主線 Liux 之間的“主要區(qū)別”就是各供應(yīng)商模塊間使用的 hook 有所不同。

Kjos 提到,谷歌更傾向于在供應(yīng)商模塊中使用短小的 hook(而非主干代碼),只有這樣“才能盡可能靠近上游”。雖然一直在努力將供應(yīng)商代碼推向上游,但谷歌也承認“這是一項需要耗時多年的龐大計劃,我們覺得恐怕很難真正實現(xiàn)?!?/p>

Kjos 還為未來幾年的內(nèi)核工作制定了時間表,其中 2020 年至 2022 年期間的主要任務(wù)是將現(xiàn)有功能推向上游、并隔離供應(yīng)商的變更模塊;從 2023 年開始,正式采用“上游優(yōu)先”新功能開發(fā)模型?!翱紤]到樹外模式對我們的用例非常重要,我們希望能在上游之外也始終保持一定程度的外部開發(fā)空間。但必須承認,這項將耗時多年的整體計劃是要盡可能消除樹外補丁,讓下游產(chǎn)出盡可能與上游保持一致?!?/p>

谷歌的通用內(nèi)核鏡像工作與 Treble 項目非常相似,后者的目標在于建立起 GSI(即「通用系統(tǒng)鏡像」),允許以硬件中立的方式更新 Android 版本。如今,我們可以將通用版本的 Android 下載到手機并獲得不錯的運行體驗。但 GKI 的意義有所不同,谷歌希望通過它直接將通用內(nèi)核交付至最終用戶手中。

雖然演講中并沒有明確提及,但谷歌確實在努力將 GKI 作為“項目主線”模塊進行發(fā)布。在它的幫助下,內(nèi)核更新將能夠通過 Play 應(yīng)用商店發(fā)布,整個更新過程與移動應(yīng)用基本一致。我們已經(jīng)多次就 GKI 采訪了 Android 團隊的成員,他們的最終計劃不僅是通過 Play 應(yīng)用商店更新 LTS 內(nèi)核版本,更是要實現(xiàn)對主要新版本的升級能力。如今,TLS 內(nèi)核更新偶爾會通過 OTA 的形式送達,但新的主要內(nèi)核版本更新對大多數(shù)移動設(shè)備仍是個老大難問題。

GKI 計劃在“Android 12”版本中與廣大消費者正式見面。因為這次內(nèi)核升級調(diào)整只適用于新設(shè)備,所以全世界的目光都集中在了 Pixel 6 身上。我們也期待著雄心勃勃的谷歌能借此機會一展自己的強大實力。

Pixel 6 將是第一款配備內(nèi)部“Google Tensor”SoC 的移動設(shè)備;如果關(guān)于谷歌延長技術(shù)支持時間線的理論準確無誤,那么這種內(nèi)核大版本升級能力將使該設(shè)備的生命周期超過五年。而且如果 Pixel 6 中使用的是發(fā)布于 2020 年 12 月的 Linux 5.10 內(nèi)核,則代表著谷歌已經(jīng)在以往平均滯后兩年的內(nèi)核版本基礎(chǔ)之上邁出了重要的一步。

Android