色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux內核的發展史

Linux愛好者 ? 來源:IT之家 ? 作者:IT之家 ? 2020-09-15 14:07 ? 次閱讀

1991 年,21 歲的芬蘭大學生 Linus Torvalds 寫下第一行 Linux內核代碼時,多半沒有想到它會成長為今天這樣的龐然大物。

當年 8 月 25 日,Torvalds 在 Minix Usenet 新聞組里發了一封帖子,稱自己正在做一個自由的操作系統,“就是個興趣愛好,不會搞得像 GNU 那么大那么專業”。

事情的發展顯然遠超他的預期,如今小到傳感器,大到超級計算機,從智能手機、手表、汽車等日常用品到航天器等設備,Linux 內核的身影已無處不在。

隨著迄今為止最大版本 Linux Kernel 5.8 于今年 8 月初的發布,Linux 內核已擁有超過 2 萬名貢獻者,歷史 commit 數超過 100 萬次,迎來一個新的里程碑。

上周恰逢 Linux 29 周年紀念日,Linux 基金會發布了一份詳盡的 Linux 內核報告,涵蓋了自 1991 年 9 月 17 日首次發布以來,到 2020 年 8 月 2 日最新版本的 Linux內核歷史。

版本控制:從 BitKeeper 到 Git

Linux 基金會從 2008 年開始每年發布 Linux 內核報告,但此前一直難以將其發展過程完整串聯起來。

今年,借助 Daniel German 博士的 cregit 工具,他們成功追溯到了第一個版本,Linux 內核的發展時間線變得清晰。根據版本控制方式,可大致分為以下三個階段:

pre-version control(前版本控制):1991 年 9 月 - 2002 年 2 月 4 日

BitKeeper:2002 年 2 月 4 日 - 2005 年 4 月 15 日

Git:2005 年 4 月 16 日至今

版本控制對社區協作能力影響重大,這在 2000 年代初是一件令人頗為苦惱的事情。使用版本控制系統,也就是 BitKeeper 之前,貢獻者需要將補丁提交至郵件列表,待 Torvalds 接受后放進源碼樹,再發布整個樹的新版本。 在這種方式下,具體是誰在做貢獻、貢獻的數量和路徑都不夠透明。 2002 年 2 月 4 日,BitKeeper 的使用標志著 Linux 內核 commit 歷史的開啟。然而 BitKeeper 為專有軟件,這一決定在社區中遭受了長期質疑。 直到 2005 年,BitKeeper 擁有者 Larry McVoy 決定收回無償使用 BitKeeper 的許可。Torvalds 本人當時又對現成的 CVS 和 Subversion 等集中式版本控制工具感到不滿,因此自己動手,用十天時間寫出了 Git 的第一個版本。 Git 目前已成為開發者們非常熟知且廣泛使用的分布式版本控制系統。Linus Torvalds 則表現得更多的是迫于無奈,他曾聲稱自己“根本不想做源代碼管理,覺得這是計算機世界中最無趣的事情”。 自從版本控制系統由 BitKeeper 改為 Git 后,Linux 內核每年的貢獻者和 commit 數量都在穩步增長。歷年的內核報告數據顯示,2005 年 5 月發布的 2.6.12 版本平均每小時收到 2 次 commit。 15 年后,2019 年的平均數是每小時 9.4 次。而在最新的 5.8 內核中,平均每小時 commit 數達到了 10.7 次。

繁雜且自成體系的內核代碼

首個內核版本 linux-0.01.tar.Z 由 88 個文件和 10,239 行代碼組成,運行在 i386 這樣單一的硬件架構上。到了 5.8 版本,這一數據擴張為 69,325 個文件和 28,442,673 行代碼,并能夠在 30 多種主要的架構上運行。 數量上的龐大僅是 Linux 內核代碼的表象,它自身更是形成了一套復雜的體系,不熟悉的人往往不知從何處下手,極有可能“牽一發而動全身”。這或許也是內核維護者難尋的原因之一。 Linux 內核發布第一天起的某些代碼仍在當前版本中使用,例如 Torvalds 和大學好友 Lars Wirzenius 共同編寫的 vsprintf 例程,它也是為數不多存在至今的首次 commit 中的源代碼。

今年的內核報告提到,有 2,964 個能被追溯至 1991 年的 token 如今在 5.8 版本中也能找到。5.8 版本超過一半的代碼寫于近 7 年內,但之前所有年份都對此版本有貢獻。過去的代碼不斷在后續的版本中留下痕跡。 持續膨脹的內核文件量和代碼行數未見得完全是一件好事,為了使系統不變得臃腫,內核維護者需要做一些修枝剪葉的工作。 Linux 內核中未使用的代碼和文件都會被視情況刪除,有一些版本還會進行大的清理,例如 2018 年的 4.17 版本,刪除了 8 個架構,凈減少代碼大約 180,000 行。 不僅僅是源碼,Linux 內核維護者還會關注空白行和代碼注釋,以確保源碼的可讀性。

開發者原創證書和標簽管理

2004 年對開發者原創證書(Developer Certificate of Origin,簡稱 DCO)的標準化是 Linux 內核史上的一個關鍵變化點。DCO 的引入為開發者和用戶提供了法律保護,同時又不至于增加程序負擔。 它極大地提高了跟蹤補丁進入內核的路徑的能力,加上版本控制系統向 Git 的過渡,DCO 有效地減輕了開發者做貢獻的開銷,因此變得很受歡迎,后來也被許多其他開源項目采用。 隨著 DCO 的標準化使用,現在幾乎所有的 commit 都有一個 Signed-off-by 標簽。通常每個 commit 平均會有兩個該標簽,能夠反映代碼在合并之前的維護者層次結構,有助于追溯補丁進入代碼的路徑。

Signed-off-by 之外,Linux 內核還增加了表示審查的標簽(Reviewed-by 和 Acked-by)。審查對內核代碼的質量來說相當重要,標簽的加入令這個過程更加清晰,有越來越多的維護者選擇使用標簽來表示已審查。 在審查 git 倉庫時,Linux 基金會發現了一些比較有趣的標簽,像是 "Enithusiastically-ack'd by"、"Thanksto"、"Based-on-the-Original-screenplay-by"、"Catched-by-andrightfully-ranted-at-by" 等等。 但這些標簽并沒有像上述兩類一樣被廣泛采用。

行之有效的發布模式

Linux 內核的發布模式已漸趨成熟,現在基本固定為 Prepatch(或"-rc")、Mainline、Stable 和 Long Term Stable 四類版本。

社區曾對發布周期進行了大量的探討和實驗,并逐漸找到了行之有效的發布模式,發布周期也幾乎完全可預測——每個發布周期由時長兩周的“合并窗口”開始,這時,新功能經適當的 review 后可被納入接下來要發布的 git 倉庫。 一旦它被標記為 rc1,那么集成測試、調試和穩定化的周期就開始了。然后每周對 rc 候選版本進行標記,直到達到目標質量和穩定性。發布后,隨著下一個合并窗口的到來,這個周期又開始循環。 內核的主線樹由 Linus Torvalds 維護,這棵樹引入了所有新功能。新的主線(Mainline)內核每 2 到 3 個月發布一次。但這樣的發布節奏較慢,難以滿足大多數用戶的需求。因此,從 2005 年開始,每周發行一次穩定版(Stable)內核。 用戶還想要受維護時間更長的版本,于是 2006 年發布的 2.6.16 版本成為第一個長期支持(LTS)版本內核。此后每年都有一個新的 LTS 內核,該內核將由內核社區維護至少 2 年(從 4.4 版本開始延長至 6 年)。 Linux 內核官網公布了所有現存 LTS 版本的發行日期、EOL 日期及維護者(目前 6 個 LTS 版本都由 Greg Kroah-Hartman 和 Sasha Levin 這兩人維護)。

貢獻者:長尾的力量不可忽視

不少組織都在為 Linux 內核做貢獻,貢獻者排行榜前列幾乎都被 Intel、Red Hat、IBM、SUSE、Google、Samsung、AMD、Oracle、華為和 ARM 這樣的大企業占據。 從 2007 年到 2019 年,Linux 內核共接受了來自 1,730 個組織的 780,048 次 commit。排在最前面的 20 個組織占了 68% 的 commit 量。

在過去十年中,每年有超過 400 個組織為 Linux 內核做出貢獻。其中相當一部分可能只有過一次 commit。從每年的 commit 比例來看,其中 1/3 貢獻來自神秘的長尾。也就是圖中最上面淺灰色 “Others”的部分。 Linux 基金會指出,企業的貢獻會根據業務需求和戰略的不同而有所變化。前 20 名貢獻者中,有些是 2007 年之后才加入,有些在此前做過很多貢獻的公司,被收購后便不再繼續參與。貢獻者的多樣性為內核發展賦予了一些彈性。 除了組織貢獻者,Linux 內核社區成員也致力于增加個人貢獻者的多樣性,他們通常愿意花費自己的時間來指導新的開發者。 Linux 基金會有一個 Kernel Mentorship(LKMP)項目,用來幫助新加入開源的開發者進行實驗、學習,并為開源社區做出貢獻。

內核社區的共同目標:高質量、可靠性

報告的最后,Linux 基金會指出,內核社區的重點是保持一個共同的目標,即擁有一個沒有回歸的高質量操作系統,愿意根據需要創建新的流程和工具,以幫助提高效率,并繼續提升 Linux 內核的可靠性。 內核測試現在也引入了一些自動化測試工具:靜態分析工具如 sparse(語義解析器)、smatch(源匹配器)和cocicheck(語義補丁,測試特定的 bug),由 0-day 和 Hulk Robot 這樣的自動測試機器人在 Linux 內核樹上運行。 機器人在發現和跟蹤 bug 上起到不少作用。這些測試工具能夠幫助開發人員跟上上游內核的速率變化,并繼續改進內核版本,提升其穩定性。 Linux 內核如今被應用于諸多領域,基金會認為,改進基礎設施,進行正確的安全分析,是接下來要應對的重大挑戰之一。 目前 Linux 內核已擁有一個很好的基礎,它應當繼續引領創造最佳實踐,以促進整個開源軟件行業的發展。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11313

    瀏覽量

    209748
  • LINUX內核
    +關注

    關注

    1

    文章

    316

    瀏覽量

    21664

原文標題:29 年超 100 萬次 commit,Linux 內核何以發展至今?

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    淺談顯示屏的發展史

    顯示器如今已成為日常辦公、娛樂不可或缺的一部分,它是人們與機器之間交互的窗口,隨著顯示器技術的不斷發展,也讓人機交互體驗提升了一個又一個新的臺階,時至今日,歷經超100年的發展。從早期的黑白世界到彩色世界,顯示器走過了漫長而艱辛的歷程,隨著顯示器技術的不斷
    的頭像 發表于 12-18 09:12 ?508次閱讀

    deepin社區亮相第19屆中國Linux內核開發者大會

    中國 Linux 內核開發者大會,作為中國 Linux 內核領域最具影響力的峰會之一,一直以來都備受矚目。
    的頭像 發表于 10-29 16:35 ?522次閱讀

    詳解linux內核的uevent機制

    linux內核中,uevent機制是一種內核和用戶空間通信的機制,用于通知用戶空間應用程序各種硬件更改或其他事件,比如插入或移除硬件設備(如USB驅動器或網絡接口)。uevent表示“用戶空間
    的頭像 發表于 09-29 17:01 ?753次閱讀

    linux驅動程序如何加載進內核

    Linux系統中,驅動程序是內核與硬件設備之間的橋梁。它們允許內核與硬件設備進行通信,從而實現對硬件設備的控制和管理。 驅動程序的編寫 驅動程序的編寫是Linux驅動開發的基礎。在編
    的頭像 發表于 08-30 15:02 ?511次閱讀

    簡述半導體材料的發展史

    半導體材料的發展史是一段漫長而輝煌的歷程,它深刻地影響了現代信息社會的發展軌跡。從最初的發現到如今的廣泛應用,半導體材料經歷了從第一代到第三代的演變,每一次進步都帶來了技術上的巨大飛躍。
    的頭像 發表于 08-15 16:03 ?1665次閱讀

    Linux內核測試技術

    Linux 內核Linux操作系統的核心部分,負責管理硬件資源和提供系統調用接口。隨著 Linux 內核的不斷
    的頭像 發表于 08-13 13:42 ?515次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b>測試技術

    Linux內核中的頁面分配機制

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

    三菱電機功率器件發展史

    三菱電機從事功率半導體開發和生產已有六十多年的歷史,從早期的二極管、晶閘管,到MOSFET、IGBT和SiC器件,三菱電機一直致力于功率半導體芯片技術和封裝技術的研究探索,本篇章帶你了解三菱電機功率器件發展史
    的頭像 發表于 07-24 10:17 ?647次閱讀
    三菱電機功率器件<b class='flag-5'>發展史</b>

    歡創播報 華為宣布鴻蒙內核已超越Linux內核

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

    使用 PREEMPT_RT 在 Ubuntu 中構建實時 Linux 內核

    盟通技術干貨構建實時Linux內核簡介盟通技術干貨Motrotech如果需要在Linux中實現實時計算性能,進而有效地將Linux轉變為RTOS,那么大多數發行版都可以打上名為PREE
    的頭像 發表于 04-12 08:36 ?2564次閱讀
    使用 PREEMPT_RT 在 Ubuntu 中構建實時 <b class='flag-5'>Linux</b> <b class='flag-5'>內核</b>

    電阻柜的發展史

    電阻柜發展史
    的頭像 發表于 03-08 15:22 ?460次閱讀

    C++在Linux內核開發中從爭議到成熟

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

    Ubuntu 24.04 LTS選用Linux 6.8為默認內核

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

    PCIE的發展史及應用

    隨著PCIE版本的不斷升級,其應用范圍也越來越廣泛。除了傳統的顯卡、網卡、聲卡等設備外,SSD、USB控制器、Thunderbolt接口等設備也開始支持PCIE接口。
    的頭像 發表于 01-21 10:25 ?1304次閱讀

    rk3399移植Linux內核

    RK3399是一款由中國廠商瑞芯微推出的高性能處理器芯片,被廣泛用于嵌入式系統開發。在進行應用程序開發之前,我們需要將Linux內核移植到RK3399上,以支持硬件的驅動和功能。本文將詳細介紹如何將
    的頭像 發表于 01-08 09:56 ?1164次閱讀
    主站蜘蛛池模板: 日韩一区二区三区精品| 亚洲男同tv| 欧美多人群p刺激交换电影| 麻豆区蜜芽区| 男人天堂999| 人妻激情综合久久久久蜜桃| 强奷乱码欧妇女中文字幕熟女| 秋霞午夜鲁丝片午夜精品久| 日日操日日射| 亚洲 欧美 视频 手机在线| 亚洲无人区码二码三码区别图| 在线播放免费人成视频| 69国产精品人妻无码免费| 被黑人掹躁10次高潮| 国产成人综合在线观看| 国产亚洲美女精品久久久2020| 久久国产精品麻豆AV影视| 欧美18videosex性欧美老师| 日韩 国产 欧美视频二区| 胸太大被男同桌吃好爽| 伊人网中文字幕| OLDMAN老头456 TUBE| 国产精品伦理一二三区伦理| 精品视频在线一区| 欧美午夜免费观看福利片| 羞羞漫画免费漫画页面在线看漫画秋蝉 | 午夜福利免费0948视频| 一本色道久久综合亚洲精品| 99re8热视频这在线视频| 高h乱np甄宓| 精品亚洲AV无码蜜芽麻豆| 欧美日韩精品一区二区三区四区 | 国产欧美日韩中文视频在线| 久久久无码精品亚洲A片猫咪| 欧美特级另类xxx| 亚洲成A人片在线观看中文不卡 | 日本不卡一二三| 亚洲中文字幕国产综合| yellow在线观看免费高清的日本| 国产亚洲精品久久无码98| 男人和女人一起愁愁愁很痛|