日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

android內核版本獲取,Android

谷歌系統(tǒng)升級,安卓將采用Linux內核,滿足手機高性能需求,你怎么看?
首先作為一個前資深的 Android 程序員,一定要糾正一下這個問題,不是谷歌系統(tǒng)升級,安卓「將」采用 Linux 內核 。不是:「將」 。而是 Android 一直就是采用的 Linux 內核 。安卓(Android)本身就是一種基于 Linux 的自由及開放源代碼的操作系統(tǒng) 。系統(tǒng)內核Android 是運行于 Linux kernel 之上,但并不是 GNU/Linux 。
因為在一般 GNU/Linux 里支持的功能,Android 大都沒有支持,包括 Cairo、X11、Alsa、FFmpeg、GTK、Pango 及 Glibc 等都被移除掉了 。Android 又以 Bionic 取代 Glibc、以 Skia 取代 Cairo、再以 opencore 取代 FFmpeg 等等 。
Android 為了達到商業(yè)應用,必須移除被 GNU GPL 授權證所約束的部份,例如 Android 將驅動程序移到 Userspace,使得 Linux driver 與 Linux kernel 徹底分開 。Bionic/Libc/Kernel/ 并非標準的 Kernel header files 。
Android 的 Kernel header 是利用工具由 Linux Kernel header 所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結構與宏 。Android 的 Linux kernel 控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網(wǎng)絡堆棧(Network Stack),驅動程序模型(Driver Model)等 。
下載 Android 源碼之前,先要安裝其構建工具 Repo 來初始化源碼 。Repo 是 Android 用來輔助 Git 工作的一個工具 。通過上述我們就可以看出 Android 就是運行在 Linux Kernel 之上的,基于授權版權等原因,它只不過是沒有 GNU/Linux 功能那么全面 。為什么會出現(xiàn)這個問題?Android 是基于 Linux 內核的操作系統(tǒng),但是,運行在 Android 設備上的內核其實與 Google 選擇的 LTS 版本 Linux 內核有很大不同 。
在到達每一臺 Android 設備前,內核會經(jīng)歷三個階段的 fork:Google 會先選擇某個 LTS(長期支持)版本的 Linux 內核,打上 Android 操作系統(tǒng)的特定補丁,使其成為 Android 通用內核;緊接著,通用內核被交付給高通等 SoC 供應商,打上硬件補丁;最后,SoC 內核再被移交至設備制造商,打上設備特定的各類元件補丁,這也就構成到每臺設備中的設備內核 。
這是一個及其漫長的過程,執(zhí)行多重 fork 并處理數(shù)百萬行代碼大大減慢了整個開發(fā)速度 。因此,Android 設備使用的內核相較于 Linux 內核主線要滯后兩到三年的時間 。Google 于 10 月份最新發(fā)布了 Pixel 4,其 Linux 內核則是 2017 年 11 月發(fā)布的 4.14 LTS 版本 。
并且由于過大的工作量,Android 設備通常不獲取內核更新,它將永遠停留在 4.14 版本上 。再者,各種設備的內核都不盡相同,一臺設備的特定內核無法在其他設備上工作 。于是,Google 正試圖縮小各 Android 設備內核與主線 Linux 內核間的差距,讓設備內核更接近上游內核主線 。在今年的 Linux Plumbers Conference 上,Android 內核團隊負責人 Sandeep Patil 表示,他們的目標是從根本上找到 Android 運行所需要的、但不必在給定的硬件上運行的東西,然后將其引入上游并盡可能接近主線 。
Google 的打算是復制其早期工作 Project Treble 以模塊化 Android 。Project Treble 用于在 Android 和 HAL(硬件抽象層)之間創(chuàng)建穩(wěn)定的接口 。與此類似,Google 計劃穩(wěn)定 Linux 的內核 ABI,從而提供一個穩(wěn)定的寫入接口,使硬件供應商可以輕松地插入代碼,最終消除特定的設備內核 。
Google 的高級軟件工程師 MatthiasM?nnich 展示了一幅預想中的內核體系結構圖 ?!跋乱淮?Android 設備”內核將由通用內核鏡像(Generic Kernel Image,GKI)和多個?GKI?模塊構成,特定硬件的驅動程序(可能是閉源驅動)將作為內核模塊加載 ??傊谠撛O想中,所有東西都被模塊化了 。
【android內核版本獲取,Android】

推薦閱讀