0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

谷歌Android設(shè)備內(nèi)核引入主線Linux內(nèi)核難嗎?

汽車玩家 ? 來源:開源中國 ? 作者:xplanet ? 2019-11-22 10:41 ? 次閱讀

Android是基于Linux內(nèi)核的操作系統(tǒng),但是,運(yùn)行在Android設(shè)備上的內(nèi)核其實(shí)與Google選擇的LTS版本Linux內(nèi)核有很大不同。

在到達(dá)每一臺Android設(shè)備前,內(nèi)核會經(jīng)歷三個階段的fork:Google會先選擇某個LTS(長期支持)版本的Linux內(nèi)核,打上Android操作系統(tǒng)的特定補(bǔ)丁,使其成為Android通用內(nèi)核;緊接著,通用內(nèi)核被交付給高通等SoC供應(yīng)商,打上硬件補(bǔ)??;最后,SoC內(nèi)核再被移交至設(shè)備制造商,打上設(shè)備特定的各類元件補(bǔ)丁,這也就構(gòu)成到每臺設(shè)備中的設(shè)備內(nèi)核。

谷歌Android設(shè)備內(nèi)核引入主線Linux內(nèi)核難嗎?

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

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

在今年的Linux Plumbers Conference上,Android內(nèi)核團(tuán)隊(duì)負(fù)責(zé)人Sandeep Patil表示,他們的目標(biāo)是從根本上找到Android運(yùn)行所需要的、但不必在給定的硬件上運(yùn)行的東西,然后將其引入上游并盡可能接近主線。

Google的打算是復(fù)制其早期工作Project Treble以模塊化Android。Project Treble用于在Android和HAL(硬件抽象層)之間創(chuàng)建穩(wěn)定的接口。與此類似,Google計(jì)劃穩(wěn)定Linux的內(nèi)核ABI,從而提供一個穩(wěn)定的寫入接口,使硬件供應(yīng)商可以輕松地插入代碼,最終消除特定的設(shè)備內(nèi)核。

谷歌Android設(shè)備內(nèi)核引入主線Linux內(nèi)核難嗎?

Google的高級軟件工程師MatthiasM?nnich展示了一幅預(yù)想中的內(nèi)核體系結(jié)構(gòu)圖。”下一代Android設(shè)備“內(nèi)核將由通用內(nèi)核鏡像(Generic Kernel Image,GKI)和多個?GKI?模塊構(gòu)成,特定硬件的驅(qū)動程序(可能是閉源驅(qū)動)將作為內(nèi)核模塊加載??傊谠撛O(shè)想中,所有東西都被模塊化了。

考慮到Android生態(tài)系統(tǒng)的技術(shù)壁壘和多樣性,這應(yīng)該不是一件容易的事情。無論如何,將Android設(shè)備內(nèi)核引入主線Linux內(nèi)核肯定會使包括Android用戶、手機(jī)制造商和Linux社區(qū)等在內(nèi)的不少人受益。不過Google的計(jì)劃剛剛開始,后續(xù)還有更多的工作要完成。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3936

    瀏覽量

    127413
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6168

    瀏覽量

    105392
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209520
收藏 人收藏

    評論

    相關(guān)推薦

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核簡介

    學(xué)到本章節(jié),大家應(yīng)該對Linux操作系統(tǒng)都有了一定的了解,但可能還不知道我們拿到手的內(nèi)核源碼都經(jīng)歷了什么。linux有一個龐大的開源社區(qū),每個人都可以向開源社區(qū)提交代碼。由于linux
    發(fā)表于 12-13 09:03

    deepin社區(qū)亮相第19屆中國Linux內(nèi)核開發(fā)者大會

    中國 Linux 內(nèi)核開發(fā)者大會,作為中國 Linux 內(nèi)核領(lǐng)域最具影響力的峰會之一,一直以來都備受矚目。
    的頭像 發(fā)表于 10-29 16:35 ?512次閱讀

    linux內(nèi)核中通用HID觸摸驅(qū)動

    linux內(nèi)核中,為HID觸摸面板實(shí)現(xiàn)了一個通用的驅(qū)動程序,位于/drivers/hid/hid-multitouch.c文件中。hid觸摸驅(qū)動是以struct hid_driver實(shí)現(xiàn),首先定義一個描述hid觸摸驅(qū)動的結(jié)構(gòu)mt_driver。
    的頭像 發(fā)表于 10-29 10:55 ?615次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>內(nèi)核</b>中通用HID觸摸驅(qū)動

    詳解linux內(nèi)核的uevent機(jī)制

    linux內(nèi)核中,uevent機(jī)制是一種內(nèi)核和用戶空間通信的機(jī)制,用于通知用戶空間應(yīng)用程序各種硬件更改或其他事件,比如插入或移除硬件設(shè)備(如USB驅(qū)動器或網(wǎng)絡(luò)接口)。uevent表示
    的頭像 發(fā)表于 09-29 17:01 ?692次閱讀

    linux驅(qū)動程序如何加載進(jìn)內(nèi)核

    Linux系統(tǒng)中,驅(qū)動程序是內(nèi)核與硬件設(shè)備之間的橋梁。它們允許內(nèi)核與硬件設(shè)備進(jìn)行通信,從而實(shí)現(xiàn)對硬件設(shè)
    的頭像 發(fā)表于 08-30 15:02 ?474次閱讀

    Linux內(nèi)核測試技術(shù)

    Linux 內(nèi)核Linux操作系統(tǒng)的核心部分,負(fù)責(zé)管理硬件資源和提供系統(tǒng)調(diào)用接口。隨著 Linux 內(nèi)核的不斷發(fā)展和更新,其復(fù)雜性和代碼規(guī)
    的頭像 發(fā)表于 08-13 13:42 ?493次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>測試技術(shù)

    Linux內(nèi)核中的頁面分配機(jī)制

    Linux內(nèi)核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計(jì)算機(jī)中常講的分頁機(jī)制。本文就看下Linux內(nèi)核是如何管
    的頭像 發(fā)表于 08-07 15:51 ?292次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>中的頁面分配機(jī)制

    歡創(chuàng)播報 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核

    1 華為宣布鴻蒙內(nèi)核已超越Linux內(nèi)核 ? 6月21日,在華為開發(fā)者大會上, HarmonyOS NEXT(鴻蒙NEXT)——真正獨(dú)立于安卓和iOS的鴻蒙操作系統(tǒng),正式登場。這是HarmonyOS
    的頭像 發(fā)表于 06-27 11:30 ?843次閱讀

    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時 Linux 內(nèi)核

    盟通技術(shù)干貨構(gòu)建實(shí)時Linux內(nèi)核簡介盟通技術(shù)干貨Motrotech如果需要在Linux中實(shí)現(xiàn)實(shí)時計(jì)算性能,進(jìn)而有效地將Linux轉(zhuǎn)變?yōu)镽TOS,那么大多數(shù)發(fā)行版都可以打上名為PREE
    的頭像 發(fā)表于 04-12 08:36 ?2472次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時 <b class='flag-5'>Linux</b> <b class='flag-5'>內(nèi)核</b>

    C++在Linux內(nèi)核開發(fā)中從爭議到成熟

    Linux 內(nèi)核郵件列表中一篇已有六年歷史的老帖近日再次引發(fā)激烈討論 —— 主題是建議將 Linux 內(nèi)核的開發(fā)語言從 C 轉(zhuǎn)換為更現(xiàn)代的 C++。
    的頭像 發(fā)表于 01-31 14:11 ?633次閱讀
    C++在<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>開發(fā)中從爭議到成熟

    Ubuntu 24.04 LTS選用Linux 6.8為默認(rèn)內(nèi)核

    關(guān)于Ubuntu 24.04 LTS使用何種內(nèi)核版本,一直備受關(guān)注。Canonical工程師Andrea Righi昨日宣布,Ubuntu 24.04將默認(rèn)搭載Linux 6.8內(nèi)核。
    的頭像 發(fā)表于 01-29 11:27 ?1118次閱讀

    linux內(nèi)核主要由哪幾個部分組成,作用是什么

    Linux內(nèi)核主要由以下幾個部分組成: 進(jìn)程管理:Linux內(nèi)核負(fù)責(zé)管理和調(diào)度系統(tǒng)中的進(jìn)程。它通過進(jìn)程調(diào)度算法來決定哪個進(jìn)程在什么時間運(yùn)行以及如何分配系統(tǒng)資源。 內(nèi)存管理:
    的頭像 發(fā)表于 01-22 14:34 ?2691次閱讀

    Linux內(nèi)核中信號的傳遞過程

    前面我們已經(jīng)介紹了內(nèi)核注意到信號的到來,調(diào)用相關(guān)函數(shù)更新進(jìn)程描述符以便進(jìn)程接收處理信號。但是,如果目標(biāo)進(jìn)程此時沒有運(yùn)行,內(nèi)核則推遲傳遞信號?,F(xiàn)在,我們看看內(nèi)核如何處理進(jìn)程掛起的信號。
    的頭像 發(fā)表于 01-17 09:51 ?1177次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核</b>中信號的傳遞過程

    rk3399移植Linux內(nèi)核

    RK3399是一款由中國廠商瑞芯微推出的高性能處理器芯片,被廣泛用于嵌入式系統(tǒng)開發(fā)。在進(jìn)行應(yīng)用程序開發(fā)之前,我們需要將Linux內(nèi)核移植到RK3399上,以支持硬件的驅(qū)動和功能。本文將詳細(xì)介紹如何將
    的頭像 發(fā)表于 01-08 09:56 ?1149次閱讀

    RZ/G2L Linux系統(tǒng)如何添加新的內(nèi)核模塊

    RZ/G2L Linux系統(tǒng)的鏡像基于yocto構(gòu)建,本篇介紹如何添加新的內(nèi)核模塊。
    的頭像 發(fā)表于 01-04 12:19 ?1789次閱讀
    RZ/G2L <b class='flag-5'>Linux</b>系統(tǒng)如何添加新的<b class='flag-5'>內(nèi)核</b>模塊