国产日韩在线视频_欧美综合视频在线观看_狠狠视频_成人免费在线视频观看_97在线免费观看_欧美性一区二区三区

2013-07-29 15:36:00
分享

ROM之家:Linux 2.x內(nèi)核與Linux 3.x的區(qū)別

標(biāo)簽:Linux 2.x,Linux 3.x

  安卓與Linux的關(guān)系:

  安卓是基于Linux內(nèi)核,但不是Linux操作系統(tǒng)。

  “Android是一種以Linux為基礎(chǔ)的開(kāi)放源碼操作系統(tǒng),主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱(chēng),中國(guó)大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開(kāi)發(fā),最初主要支持手機(jī)。2005年由Google收購(gòu)注資,并組建開(kāi)放手機(jī)聯(lián)盟開(kāi)發(fā)改良,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上。Android的主要競(jìng)爭(zhēng)對(duì)手是蘋(píng)果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市場(chǎng)份額首次超過(guò)塞班系統(tǒng),躍居全球第一。 2012年2月數(shù)據(jù),Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)52.5%的份額,中國(guó)市場(chǎng)占有率為68.4%。”

  “Android 是運(yùn)行于 Linux kernel之上,但并不是GNU/Linux。因?yàn)樵谝话鉍NU/Linux 里支持的功能,Android 大都沒(méi)有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達(dá)到商業(yè)應(yīng)用,必須移除被GNU GPL授權(quán)證所約束的部份,例如Android將驅(qū)動(dòng)程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開(kāi)。bionic/libc/kernel/ 并非標(biāo)準(zhǔn)的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結(jié)構(gòu)與宏。”

  嚴(yán)格的版本號(hào):

  2.6 的分支開(kāi)發(fā)都已經(jīng)很多年了,即使是 3.0 以后的版本也似乎發(fā)布了兩年以上了。。最上游內(nèi)核(即 Linus 維護(hù)的源,以下稱(chēng)“主流內(nèi)核”)最活躍的分支的開(kāi)發(fā)以每天幾十個(gè)補(bǔ)丁的速度更新。你可以想象一下幾年下來(lái)的差別,沒(méi)有人能說(shuō)得清。之所以 Android 用戶(hù)感覺(jué)不到區(qū)別,是因?yàn)榕c Android 設(shè)備相關(guān)的部分代碼更改并不那么大。但這只是最上游的更新,而 Google 為 Nexus 一眾設(shè)備維護(hù)的內(nèi)核的更新就與 Android 用戶(hù)息息相關(guān)了。還有硬件提供商(如 OMAP,QCOM,三棒等)維護(hù)的平臺(tái)內(nèi)核源的更新以及 OEM 商發(fā)布的內(nèi)核與用戶(hù)就更緊密了。

  好了,切入正題!

  對(duì)于 Android 而言,可以說(shuō) Google 維護(hù)的內(nèi)核就是除了主流內(nèi)核外所有與 Android 相關(guān)的內(nèi)核源的風(fēng)向標(biāo),因?yàn)樗? Boss。Android 新版本特性都由它決定。而這些特性有很大一部分是需要內(nèi)核支援的,屁如 2.2.3 引入的各種 Tethering,4.1 引入的 VSYNC 以及 Triple Frame Buffer,4.1.2 為高端設(shè)備引入的硬件同步(SYNC 驅(qū)動(dòng),對(duì) KGSL 有影響),以及黃油計(jì)劃中的 CPU 調(diào)度器的 boostpulse 等等。雖然 Linus 在維護(hù)主流內(nèi)核時(shí)非常強(qiáng)調(diào)不要改變內(nèi)核 API ,但 Android 世界中的內(nèi)核部分接口卻一直在變,而且相對(duì)主流源非常之頻繁。這與 Google 這版本的推進(jìn) Android 的速度有關(guān)。

  所以你在開(kāi)發(fā)社區(qū)經(jīng)常會(huì)見(jiàn)到“backport”,即后向移植。目的就是將高版本內(nèi)核(Google 或硬件提供商)中的特性移植到低版本中。這低版本的內(nèi)核即是設(shè)備廠商提供的為低版本的 Android 寫(xiě)的內(nèi)核。因?yàn)閺S商在不為你的設(shè)備提供 Android 高版本更新時(shí),他們也不會(huì)發(fā)布內(nèi)核更新。所以民間通常的做法就要后向移植以滿(mǎn)足民間移植的高版本 Android 系統(tǒng)所需(這里又要提一下我們可愛(ài)的ZTE,您屬于民間嗎?)。其實(shí)這些都是臨時(shí)的解決方法。

  除了后向移植,另一種民間做法就是全面以新內(nèi)核(通常是以同一廠商發(fā)布的相近平臺(tái)內(nèi)核)為基礎(chǔ),添加平臺(tái)的特有驅(qū)動(dòng)。這就是人人打心里都喜歡的內(nèi)核更新了,雖然他們嘴上可能會(huì)說(shuō)這個(gè)不好那個(gè)不好。但這對(duì)于民間開(kāi)發(fā)者,是非常難的事,能移植成功多少要靠點(diǎn)運(yùn)氣。因?yàn)槟愕脤?duì)平臺(tái)各方面參數(shù)都很了解,而且對(duì)內(nèi)核編寫(xiě)以及平臺(tái)啟動(dòng)很熟悉才行。所以如果廠商發(fā)布的新 Android 系統(tǒng)中編進(jìn)去是舊于 Google 所要求的內(nèi)核版本的話(huà),它這是在偷懶。典型的有(后面的廠商自己腦補(bǔ)吧!)翔尼,摩狗(尼瑪 4.0 系統(tǒng)居然還在跑 2.6.32 內(nèi)核)。火腿腸 也干過(guò)這事(迫于輿論壓力發(fā)布的 Desire HD 新版 4.0 系統(tǒng)自帶 2.6.35 內(nèi)核)。寨廠無(wú)底線(我可沒(méi)點(diǎn)ZTE的名~),不提!

  那哪些部分是民間內(nèi)核維護(hù)者最難頭疼呢?如果講高通的話(huà),大概是 Android 2.3 到 4.X 升級(jí)帶來(lái)的 MSM FB(與用戶(hù)空間 qcom/display HAL 驅(qū)動(dòng)效率生死相關(guān))的更新。翔尼 CM 維護(hù)者們 FXP 團(tuán)隊(duì)對(duì)于一砣舊設(shè)備至今仍然在 4.X 系統(tǒng)上跑的舊 FB 驅(qū)動(dòng)。而 CM 發(fā)起者 Steve(他維護(hù)的通常都是最新設(shè)備及驅(qū)動(dòng))有天還因?yàn)?FXP 在 HAL 層的舊設(shè)備兼容性更改不耐煩地質(zhì)問(wèn)他:為什么不使用新的驅(qū)動(dòng)?這讓 FXP 情何以堪啊。尼瑪翔尼官方都是舊內(nèi)核,你讓我去移植新驅(qū)動(dòng)么?不是不使用,而是移植需要付出太多代價(jià)與時(shí)間,還無(wú)法預(yù)知是否值得。

  HTC 也是這樣想的!!!一砣 8255/7X30 平臺(tái) 4.0 系統(tǒng)自帶的內(nèi)核雖然版本是 3.0, FB 驅(qū)動(dòng)仍然是沿用的 2.6 時(shí)代的,幾乎只字未改。節(jié)操掉一地。。為什么都這樣,難道是高通沒(méi)給他們么?借口,代碼不都在 gitweb 中掛著的么?說(shuō)到 FB 驅(qū)動(dòng),HTC 泄漏版 4.0 RUU 在 Desire S 上居然有字體花屏 bug,一時(shí)傳為社區(qū)佳話(huà)。這都是驅(qū)動(dòng)不兼容導(dǎo)致的,需要更新。這個(gè)例子說(shuō)明了內(nèi)核更新的好處,但也說(shuō)明了后向移植的價(jià)值。二者都有效。但作為開(kāi)發(fā)者,顯然更傾向于內(nèi)核的版本更新,因?yàn)榘姹靖聲?huì)帶來(lái)各種各樣的小 bug 修復(fù)(嗯,你很可能感覺(jué)不到,話(huà)說(shuō)你感覺(jué)不到的存在多了去了。。。),只不過(guò)后向移植更省事。但升級(jí)內(nèi)核也會(huì)帶來(lái)很多不穩(wěn)定性,各種小 bug,需要維護(hù)者慢慢修復(fù)。所以調(diào)戲內(nèi)核絕對(duì)是件吃力不討好的事!

  總結(jié):

  當(dāng)然什么問(wèn)題都推到內(nèi)核上,顯然不對(duì)。內(nèi)核就這樣被小眾小白視為黑箱當(dāng)球踢,我表示很桑心。但你要是與內(nèi)核無(wú)關(guān),似乎也說(shuō)不過(guò)去。你要知道你的 每一個(gè)操作(注意是每一個(gè))都要經(jīng)過(guò)內(nèi)核處理。它不可見(jiàn),但卻無(wú)處不在。比如要寫(xiě)數(shù)據(jù),要過(guò)文件系統(tǒng);要聽(tīng)歌,要過(guò) ADSP;要申請(qǐng)內(nèi)存,要過(guò) VM;要滑屏,要過(guò)觸摸驅(qū)動(dòng)與 CPU 調(diào)度;要打游戲,要過(guò) KGSL 驅(qū)動(dòng);要喚醒,要過(guò) FB;要振動(dòng),要過(guò) AKM;要偷拍,要過(guò)相機(jī)驅(qū)動(dòng)。。

  所以說(shuō)內(nèi)核有更新你就用吧,積極幫助社區(qū)報(bào)告 ,bug 豈能說(shuō)你看不見(jiàn)就說(shuō)它不存在?!

主站蜘蛛池模板: 一二区视频 | av片在线观看 | 欧洲一区二区视频 | 一区二区三区在线免费观看视频 | 久久久久久久久久毛片 | 国产国产精品 | 日韩一区二区三区在线 | 男人电影天堂 | 亚洲精品一区二三区不卡 | 日本高清不卡视频 | 羞羞视频在线观看 | 欧美综合网 | 午夜精品久久久久久久久久久久久 | 青青操91 | 日日日日日日bbbbb视频 | 精品九九九 | 偷牌自拍 | 国产亚洲一区二区三区在线观看 | 精品一二三区在线观看 | 国产精品一区二区av | 成人国产一区二区三区精品麻豆 | 国产精品久久久久不卡 | 国产精品福利视频 | av网站在线看 | 久久剧场 | 亚洲免费视频网址 | 亚洲成人精选 | 国产91丝袜在线播放 | 国产成人免费视频网站高清观看视频 | 久久在线看 | 黄色精品 | 久久久久精 | 欧美黄色片| a在线观看| 黄网站免费在线观看 | 蜜臀网 | 国产精品国产成人国产三级 | 久久精品成人 | 亚洲精品欧美 | 亚洲第一av| 91亚洲精华国产 |