{eval=Array;=+count(Array);}
首先作為一個前資深的 Android 程序員,一定要糾正一下這個問題,不是谷歌系統(tǒng)升級,安卓「將」采用 Linux 內(nèi)核。不是:「將」。
而是 Android 一直就是采用的 Linux 內(nèi)核。安卓(Android)本身就是一種基于 Linux 的自由及開放源代碼的操作系統(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è)應(yīng)用,必須移除被 GNU GPL 授權(quán)證所約束的部份,例如 Android 將驅(qū)動程序移到 Userspace,使得 Linux driver 與 Linux kernel 徹底分開。Bionic/Libc/Kernel/ 并非標準的 Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結(jié)構(gòu)與宏。
Android 的 Linux kernel 控制包括安全(Security),存儲器管理(Memory Management),程序管理(Process Management),網(wǎng)絡(luò)堆棧(Network Stack), 驅(qū)動程序模型(Driver Model)等。下載 Android 源碼之前,先要安裝其構(gòu)建工具 Repo 來初始化源碼。Repo 是 Android 用來輔助 Git 工作的一個工具。
通過上述我們就可以看出 Android 就是運行在 Linux Kernel 之上的,基于授權(quán)版權(quán)等原因,它只不過是沒有 GNU/Linux 功能那么全面。
Android 是基于 Linux 內(nèi)核的操作系統(tǒng),但是,運行在 Android 設(shè)備上的內(nèi)核其實與 Google 選擇的 LTS 版本 Linux 內(nèi)核有很大不同。
在到達每一臺 Android 設(shè)備前,內(nèi)核會經(jīng)歷三個階段的 fork:Google 會先選擇某個 LTS(長期支持)版本的 Linux 內(nèi)核,打上 Android 操作系統(tǒng)的特定補丁,使其成為 Android 通用內(nèi)核;緊接著,通用內(nèi)核被交付給高通等 SoC 供應(yīng)商,打上硬件補?。蛔詈?,SoC 內(nèi)核再被移交至設(shè)備制造商,打上設(shè)備特定的各類元件補丁,這也就構(gòu)成到每臺設(shè)備中的設(shè)備內(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)核更新,它將永遠停留在 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)核團隊負責人 Sandeep Patil 表示,他們的目標是從根本上找到 Android 運行所需要的、但不必在給定的硬件上運行的東西,然后將其引入上游并盡可能接近主線。
Google 的打算是復制其早期工作 Project Treble 以模塊化 Android。Project Treble 用于在 Android 和 HAL(硬件抽象層)之間創(chuàng)建穩(wěn)定的接口。與此類似,Google 計劃穩(wěn)定 Linux 的內(nèi)核 ABI,從而提供一個穩(wěn)定的寫入接口,使硬件供應(yīng)商可以輕松地插入代碼,最終消除特定的設(shè)備內(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)核模塊加載。總之在該設(shè)想中,所有東西都被模塊化了。
考慮到 Android 生態(tài)系統(tǒng)的技術(shù)壁壘和多樣性,這應(yīng)該不是一件容易的事情。無論如何,將 Android 設(shè)備內(nèi)核引入主線 Linux 內(nèi)核肯定會使包括 Android 用戶、手機制造商和 Linux 社區(qū)等在內(nèi)的不少人受益。
所以,最近有新聞爆出,谷歌計劃將 Android 內(nèi)核統(tǒng)一至Linux內(nèi)核主線上,后續(xù)其實還有很多工作要完成。
谷歌只是想將 Android 內(nèi)核統(tǒng)一至Linux內(nèi)核主線上,Linux內(nèi)核主線上,Linux內(nèi)核主線上,重要的事情說三遍,是主線上。其實 Android 一直都是基于 Linux 內(nèi)核的操作系統(tǒng)。
不知道大家看明白了沒有?
先糾正一個不準確的地方。安卓的系統(tǒng)一直采用的都是Linux的內(nèi)核,只是在Linux的基礎(chǔ)上,谷歌做了很多內(nèi)核代碼的修改。
2017年,谷歌就修改了超過6萬行Linux內(nèi)核的代碼,2018年,谷歌又加入了32000行代碼,刪除了1500多行代碼。但是這并不能改變安卓是基于Linux來研發(fā)的事實。
這一次谷歌進行安卓的系統(tǒng)升級,只是對現(xiàn)有的安卓內(nèi)核進行再一次的升級,讓安卓的內(nèi)核能夠更接近于主流的Linux內(nèi)核。而目的,是準備將安卓內(nèi)核和應(yīng)用程序與驅(qū)動分離,保持內(nèi)核的獨立于純凈。
谷歌再次進行內(nèi)核的優(yōu)化,其核心的目的可能是為了谷歌的新系統(tǒng)Fuchsia鋪路。
谷歌很早就在研發(fā)自己的新系統(tǒng)Fuchsia,而這也是谷歌的第三個操作系統(tǒng)。Fuchsia已經(jīng)毫無疑問的將會使用新的內(nèi)核Zircon,而不再使用Linux內(nèi)核。不過,F(xiàn)uchsia將會兼容基于Linux內(nèi)核的應(yīng)用程序。
如果要想量Fuchsia擁有更好的兼容性,自然安卓的內(nèi)核越接近Linux的主流內(nèi)核,就能夠更好的進行兼容。越多的自定義內(nèi)容,只會讓安卓進行Fuchsia的切換時,難度更加的大。
谷歌和甲骨文之間由于安卓系統(tǒng)的各種糾紛,一直讓谷歌很苦惱,安卓成為了最大的移動操作系統(tǒng),但是卻使用了Java平臺的內(nèi)容,其中就包括甲骨文沒有授權(quán)的源代碼修改,所以一直官司不斷。谷歌的一直想進行安卓的平穩(wěn)切換,因此,F(xiàn)uchsia是迫在眉睫的事情。
因此,谷歌在優(yōu)化安卓的同時,將安卓的內(nèi)核分離,并且讓內(nèi)核更接近于主流的Linux,這對于谷歌未來的新系統(tǒng)切換有著重要的意義。
這問題就看不懂了,android本身就是基于Linux內(nèi)核開發(fā)的,而且android也已經(jīng)滿足高性能需求了,雖然android有自己的缺點,但是Linux直接安裝在手機上的效果也并沒有很好。所以不明白題主想說什么,android換用Linux內(nèi)核不是就相當于沒換嘛。
一、安卓本來就是采用linux內(nèi)核
首先要說明的一點是,安卓是基于linux內(nèi)核而來的,谷歌并沒有否認這一點。只是谷歌在linux內(nèi)核的基礎(chǔ)上,做了很多的修改完善,然后成為了安卓系統(tǒng)。
下面這張圖很好的說明了這個問題,所有的系統(tǒng)其實都是基于nuix,然后再發(fā)展到linux,而安卓、ucloud鴻蒙基于linux,iOS基于unix。
二、谷歌這次是指讓安卓接近目前的主流Linux內(nèi)核,意思是以后盡量少改,與linux內(nèi)核盡量保持一致。
前面已經(jīng)講過,安卓是linux修改而來的,所以雖然它采用的是linux內(nèi)核,但卻做了修改,谷歌這次升級的意思是以后要盡量少修改,在內(nèi)核上盡量與linux內(nèi)核保持一致。
它為何要這么做?有兩個原因:
1、同時物聯(lián)網(wǎng)的到來,linux系統(tǒng)的設(shè)備越來越多,它們使用linux內(nèi)核,而安卓使用修改過的linux內(nèi)核,之間還是有區(qū)別的,所以谷歌打算盡量統(tǒng)一起來,以達到各設(shè)備之間的兼容等等,以后大家要更換系統(tǒng)也容易簡單了,這樣安卓會有更多的機會。
2、谷歌準備將安卓內(nèi)核和應(yīng)用程序與驅(qū)動分離,保持內(nèi)核的獨立、純凈。這個是基于目前目前l(fā)inux內(nèi)核已經(jīng)很強大了的基礎(chǔ)來的。
手機行業(yè)在不斷的更新?lián)Q代,硬件的不斷升級,軟件也是如此。最近,各個廠商也不斷的研發(fā)自己的系統(tǒng),包括三星ucloud蘋果等,而作為安卓的設(shè)計廠商谷歌,同樣如此。
最近,谷歌將要在安卓系統(tǒng)上使用更加主流的 Linux內(nèi)核,并加快自己的布局,以適應(yīng)未來時代對于手機性能的高要求。
在今年的 Linux Plumbers Conference 大會上,谷歌工程師在如何使 Android 系統(tǒng)底層更加接近主流 Linux 內(nèi)核方面做了演講。隨著 Linux 內(nèi)核的演變, Linux 內(nèi)核更加適合在移動設(shè)備當中使用,因此谷歌已經(jīng)不需要對目前主流的系統(tǒng)內(nèi)核進行很大的改動。升級將會給安卓系統(tǒng)帶來更好的安全性和兼容性,給用戶帶來更好的體驗,還能節(jié)省谷歌在研發(fā)上面的費用。
谷歌也可以將許多 Android 系統(tǒng)內(nèi)核的優(yōu)勢加入到 Linux 系統(tǒng)內(nèi)核當中,使 Linux 項目獲得整體收益。Android 系統(tǒng)在電源管理方面的優(yōu)勢,可以讓基于 Arm 架構(gòu)的 Linux 系統(tǒng)手機獲得更好續(xù)航和電池壽命。
計劃的第一步是將在 Android 內(nèi)核方面的修改更多的回歸主流 Linux 內(nèi)核。與 Linux 4.14.0 內(nèi)核相比,Android 通用內(nèi)核插入了 32000 行代碼,并且刪除了 1500 多行代碼。與幾年前 60000 行代碼的插入量相比,谷歌已經(jīng)大幅度減少了對內(nèi)核代碼的修改程度。
對于芯片制造商與 OEM 商場的修改,谷歌在 2017 年推出了 Project Treble 項目,將驅(qū)動程序和應(yīng)用程序與 Android 內(nèi)核區(qū)分開,從而保持系統(tǒng)內(nèi)核的純凈度。同時這個項目也是谷歌將 Android 內(nèi)核回歸主流 Linux 內(nèi)核計劃的一部分。
值得一提的是,現(xiàn)在谷歌還在研發(fā)新系統(tǒng),F(xiàn)uchsia 系統(tǒng)將在未來成為安卓的替代品,這個系統(tǒng)將會采用自定義內(nèi)核,打通 Linux和安卓的系統(tǒng)隔閡,突破技術(shù)限制,成為谷歌新的系統(tǒng)。
谷歌作為現(xiàn)在手機的最主流的系統(tǒng)服務(wù)商,決定著市場大份額的用戶系統(tǒng),而安卓系統(tǒng)又是現(xiàn)在國內(nèi)手機廠商所通用的手機系統(tǒng)。除了ucloud之外,小米ov魅族等幾乎都是采用的谷歌的安卓系統(tǒng),這也就意味著國內(nèi)大批用戶都是用的安卓系統(tǒng)。
在系統(tǒng)軟硬件上,被我們一直所熟知的就是不斷更新的高通驍龍芯片,但是卻對谷歌的安卓系統(tǒng)的更新知之甚少。而谷歌的系統(tǒng)更新將會徹底的改善現(xiàn)在的行業(yè)環(huán)境,在系統(tǒng)上面的提升也會提升消費者的實際體驗,提升谷歌系統(tǒng)的市場。而新的系統(tǒng)的推出也將會對現(xiàn)在的市場格局造成不小的沖擊,打通 Linux和安卓隔閡之后的全新系統(tǒng),將會在未來的手機行業(yè)綻放新的光彩。
安卓系統(tǒng)架構(gòu)分為四層,Linux內(nèi)核,程序支持庫,硬件驅(qū)動和程序,UI。Linux內(nèi)核基本不會換,要更改的也就只有程序支持庫。后面兩層那是手機廠家要動手的地方
安卓采用Linux內(nèi)核,做好了,還要什么電腦系統(tǒng)?未來手機電腦系統(tǒng)和形態(tài)全統(tǒng)一,既是手機,又是電腦,只需要解決電子可觸屏和電子鍵盤的問題。。我相信折疊屏,柔性屏一定不是未來的趨勢,而電子屏幕必將在未來5年實現(xiàn)!
這次谷歌版本升級是置換更主流的lunix內(nèi)核版本,
安卓系統(tǒng)的核心本來就是lunix ? Java
但是舊版的安卓lunix核心并不是最主流的內(nèi)核版本。
這次更換的lunix內(nèi)核版本增強了網(wǎng)絡(luò)性能與內(nèi)核架構(gòu)的全面優(yōu)化,是為了下一世代安卓系統(tǒng)的升級而準備的。
感謝您的閱讀!
難道安卓系統(tǒng)之前一直使用的是Unix系統(tǒng)?這讓我有點懵圈。了解下安卓系統(tǒng)——它是基于Linux的宏內(nèi)核操作系統(tǒng),它是由谷歌和開放手機聯(lián)盟共同開發(fā),因此它是開源式的系統(tǒng)。
確實,隨著谷歌不斷加深對于安卓系統(tǒng)的升級,目前的安卓系統(tǒng)已經(jīng)沒有了最早系統(tǒng)的卡頓:
谷歌其實并非是加大安卓系統(tǒng)的力度,而是另辟蹊徑,開發(fā)了全新的系統(tǒng)flushia。當然,現(xiàn)在關(guān)于它的消息不多,據(jù)說是為了制約iPhone的系統(tǒng)。
我們更期待的是微內(nèi)核的鴻蒙系統(tǒng)在手機中的應(yīng)用,一旦解決生態(tài)問題,可能又是一種全新的紛爭。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答