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

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

ROM之家:Linux 2.x內核與Linux 3.x的區別

標簽:Linux 2.x,Linux 3.x

  安卓與Linux的關系:

  安卓是基于Linux內核,但不是Linux操作系統。

  “Android是一種以Linux為基礎的開放源碼操作系統,主要使用于便攜設備。目前尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由Andy Rubin開發,最初主要支持手機。2005年由Google收購注資,并組建開放手機聯盟開發改良,逐漸擴展到平板電腦及其他領域上。Android的主要競爭對手是蘋果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2012年2月數據,Android占據全球智能手機操作系統市場52.5%的份額,中國市場占有率為68.4%。”

  “Android 是運行于 Linux kernel之上,但并不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 userspace,使得Linux driver 與 Linux kernel徹底分開。bionic/libc/kernel/ 并非標準的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。”

  嚴格的版本號:

  2.6 的分支開發都已經很多年了,即使是 3.0 以后的版本也似乎發布了兩年以上了。。最上游內核(即 Linus 維護的源,以下稱“主流內核”)最活躍的分支的開發以每天幾十個補丁的速度更新。你可以想象一下幾年下來的差別,沒有人能說得清。之所以 Android 用戶感覺不到區別,是因為與 Android 設備相關的部分代碼更改并不那么大。但這只是最上游的更新,而 Google 為 Nexus 一眾設備維護的內核的更新就與 Android 用戶息息相關了。還有硬件提供商(如 OMAP,QCOM,三棒等)維護的平臺內核源的更新以及 OEM 商發布的內核與用戶就更緊密了。

  好了,切入正題!

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

  所以你在開發社區經常會見到“backport”,即后向移植。目的就是將高版本內核(Google 或硬件提供商)中的特性移植到低版本中。這低版本的內核即是設備廠商提供的為低版本的 Android 寫的內核。因為廠商在不為你的設備提供 Android 高版本更新時,他們也不會發布內核更新。所以民間通常的做法就要后向移植以滿足民間移植的高版本 Android 系統所需(這里又要提一下我們可愛的ZTE,您屬于民間嗎?)。其實這些都是臨時的解決方法。

  除了后向移植,另一種民間做法就是全面以新內核(通常是以同一廠商發布的相近平臺內核)為基礎,添加平臺的特有驅動。這就是人人打心里都喜歡的內核更新了,雖然他們嘴上可能會說這個不好那個不好。但這對于民間開發者,是非常難的事,能移植成功多少要靠點運氣。因為你得對平臺各方面參數都很了解,而且對內核編寫以及平臺啟動很熟悉才行。所以如果廠商發布的新 Android 系統中編進去是舊于 Google 所要求的內核版本的話,它這是在偷懶。典型的有(后面的廠商自己腦補吧!)翔尼,摩狗(尼瑪 4.0 系統居然還在跑 2.6.32 內核)。火腿腸 也干過這事(迫于輿論壓力發布的 Desire HD 新版 4.0 系統自帶 2.6.35 內核)。寨廠無底線(我可沒點ZTE的名~),不提!

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

  HTC 也是這樣想的!!!一砣 8255/7X30 平臺 4.0 系統自帶的內核雖然版本是 3.0, FB 驅動仍然是沿用的 2.6 時代的,幾乎只字未改。節操掉一地。。為什么都這樣,難道是高通沒給他們么?借口,代碼不都在 gitweb 中掛著的么?說到 FB 驅動,HTC 泄漏版 4.0 RUU 在 Desire S 上居然有字體花屏 bug,一時傳為社區佳話。這都是驅動不兼容導致的,需要更新。這個例子說明了內核更新的好處,但也說明了后向移植的價值。二者都有效。但作為開發者,顯然更傾向于內核的版本更新,因為版本更新會帶來各種各樣的小 bug 修復(嗯,你很可能感覺不到,話說你感覺不到的存在多了去了。。。),只不過后向移植更省事。但升級內核也會帶來很多不穩定性,各種小 bug,需要維護者慢慢修復。所以調戲內核絕對是件吃力不討好的事!

  總結:

  當然什么問題都推到內核上,顯然不對。內核就這樣被小眾小白視為黑箱當球踢,我表示很桑心。但你要是與內核無關,似乎也說不過去。你要知道你的 每一個操作(注意是每一個)都要經過內核處理。它不可見,但卻無處不在。比如要寫數據,要過文件系統;要聽歌,要過 ADSP;要申請內存,要過 VM;要滑屏,要過觸摸驅動與 CPU 調度;要打游戲,要過 KGSL 驅動;要喚醒,要過 FB;要振動,要過 AKM;要偷拍,要過相機驅動。。

  所以說內核有更新你就用吧,積極幫助社區報告 ,bug 豈能說你看不見就說它不存在?!

最新資料下載
主站蜘蛛池模板: 日韩91| 在线国产视频 | 国产一区中文字幕 | 欧美激情综合网 | 欧美电影大全 | 视频一二区| 91 在线| 久久久国产一区 | 久久天堂网 | 俺去俺来也www色官网cms | 日韩在线精品 | 99精品一区二区 | 视频一区二区三区四区五区 | 91欧美激情一区二区三区成人 | 亚洲精品在线播放 | 欧美激情在线精品一区二区三区 | 特黄色毛片 | 亚洲精品播放 | 国产色片在线 | 日韩欧美操 | 国产精品久久久久久久免费观看 | 久久天天躁狠狠躁夜夜躁2014 | 91九色porny首页最多播放 | 成人精品视频免费 | 激情婷婷| 国产精品一区二区久久精品爱微奶 | 国产精品成人一区 | 6080yy精品一区二区三区 | 欧美黑人一级爽快片淫片高清 | 91av在线视频观看 | 日韩毛片播放 | 亚洲视频一 | 亚洲免费在线观看 | 欧美精品在线一区 | 久久久综合网 | 国产精品美女 | 日本免费在线看 | 人妖一区 | 51ⅴ精品国产91久久久久久 | 亚洲最大av | 日韩中文在线 |