日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析Linux內(nèi)核的運(yùn)行流程與工作原理(linux內(nèi)核流程)

Linux是一種廣泛使用的開源操作系統(tǒng)。它的成功在于其強(qiáng)大的內(nèi)核,它是Linux操作系統(tǒng)的核心部分,負(fù)責(zé)管理進(jìn)程,內(nèi)存,設(shè)備和文件系統(tǒng)等系統(tǒng)資源。這篇文章將介紹Linux內(nèi)核的運(yùn)行流程和工作原理。

創(chuàng)新互聯(lián)建站是一家專業(yè)提供東豐企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)H5建站、小程序制作等業(yè)務(wù)。10年已為東豐眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

Linux內(nèi)核的運(yùn)行流程

當(dāng)Linux系統(tǒng)啟動(dòng)時(shí),內(nèi)核會(huì)被加載到內(nèi)存中,并且開始執(zhí)行。內(nèi)核的運(yùn)行可以分為以下幾個(gè)步驟:

1. 初始化

內(nèi)核在加載時(shí),會(huì)對(duì)所有硬件設(shè)備進(jìn)行初始化,識(shí)別和配置所有可用的硬件資源,包括中央處理器,內(nèi)存,硬盤,網(wǎng)卡等。

2. 啟動(dòng)進(jìn)程

內(nèi)核會(huì)啟動(dòng)之一個(gè)用戶進(jìn)程,這個(gè)進(jìn)程通常是init進(jìn)程。該進(jìn)程負(fù)責(zé)將系統(tǒng)中的所有其他進(jìn)程啟動(dòng),并加載所有的必需文件。

3. 加載驅(qū)動(dòng)程序

內(nèi)核會(huì)加載所有的必需驅(qū)動(dòng)程序,使在運(yùn)行時(shí)可以正確訪問硬件資源。這些驅(qū)動(dòng)程序負(fù)責(zé)處理輸入和輸出設(shè)備,并控制硬件資源的訪問。

4. 管理進(jìn)程

內(nèi)核會(huì)在運(yùn)行時(shí)管理所有的進(jìn)程,包括新建進(jìn)程,運(yùn)行進(jìn)程,中止進(jìn)程和調(diào)度進(jìn)程等。進(jìn)程管理是內(nèi)核的核心功能之一,它允許多個(gè)程序同時(shí)運(yùn)行,不僅增加了系統(tǒng)的效率,而且可以大大簡化系統(tǒng)的管理。

5. 管理內(nèi)存

內(nèi)核還負(fù)責(zé)管理系統(tǒng)的內(nèi)存,包括分配,釋放和交換內(nèi)存。內(nèi)存管理是系統(tǒng)運(yùn)行的關(guān)鍵,如果內(nèi)存管理有問題,可能會(huì)導(dǎo)致系統(tǒng)崩潰。

6. 管理文件系統(tǒng)

內(nèi)核還負(fù)責(zé)管理文件系統(tǒng),包括讀寫文件和管理文件系統(tǒng)中的各個(gè)部分。Linux系統(tǒng)支持多種文件系統(tǒng),包括ext2,ext3,NTFS等。

Linux內(nèi)核的工作原理

了解Linux內(nèi)核的工作原理有助于我們更好地理解它的運(yùn)行方式。內(nèi)核的工作原理主要分為以下三個(gè)方面:

1. 模塊化

Linux內(nèi)核是一個(gè)模塊化的內(nèi)核。這意味著,內(nèi)核由許多不同的組件組成,每個(gè)組件都可以作為模塊進(jìn)行加載和卸載。模塊化使系統(tǒng)更加靈活,可以適應(yīng)不同的應(yīng)用場(chǎng)景。

2. 系統(tǒng)調(diào)用

Linux內(nèi)核通過系統(tǒng)調(diào)用來與用戶程序進(jìn)行通信。系統(tǒng)調(diào)用是用戶程序和內(nèi)核之間的通信接口。它允許用戶程序訪問內(nèi)核提供的各種資源和服務(wù)。

3. 進(jìn)程和線程

Linux內(nèi)核通過進(jìn)程和線程來執(zhí)行應(yīng)用程序。一個(gè)程序可以啟動(dòng)多個(gè)進(jìn)程或線程,每個(gè)進(jìn)程或線程運(yùn)行在自己的程序空間。進(jìn)程之間可以共享內(nèi)存和資源,這大大提高了系統(tǒng)的效率。

結(jié)論

Linux內(nèi)核是Linux操作系統(tǒng)的核心部分,負(fù)責(zé)管理進(jìn)程,內(nèi)存,設(shè)備和文件系統(tǒng)等系統(tǒng)資源。內(nèi)核的運(yùn)行流程由初始化,啟動(dòng)進(jìn)程,加載驅(qū)動(dòng)程序,管理進(jìn)程,管理內(nèi)存和管理文件系統(tǒng)等步驟組成。了解Linux內(nèi)核的工作原理可以幫助我們更好地理解它的運(yùn)行方式,包括模塊化,系統(tǒng)調(diào)用和進(jìn)程和線程等。

相關(guān)問題拓展閱讀:

  • 編譯Linux內(nèi)核的具體步驟?
  • 如何參與linux 內(nèi)核開發(fā)

編譯Linux內(nèi)核的具體步驟?

直接導(dǎo)入。

不行的話,make menuconfig完全默認(rèn),再粘貼替換。

1. 下載內(nèi)核源代碼,并解壓家目錄

2. 設(shè)察碼置好亂談編譯環(huán)境

3. 修改好Makefile和.config

4. 執(zhí)行make -j4

等一下,編敗陪哪譯就會(huì)結(jié)束了。

什么版本的操作系統(tǒng) rh centos freebSD 還是fedora debian

簡單方旅如法皮余yum -y install Kernel*

可燃鎮(zhèn)滾以去下rpm包 或者源碼包 稍微比較麻煩些

如何參與linux 內(nèi)核開發(fā)

如何參與Linux內(nèi)核開發(fā)

這是一篇將如何參與Linux內(nèi)核開發(fā)的相關(guān)問題一網(wǎng)打盡的終極秘笈。它將指導(dǎo)你

成為一名Linux內(nèi)核開發(fā)者,并且學(xué)會(huì)如何同Linux內(nèi)核開發(fā)社區(qū)合作。它盡可能不

包括任何關(guān)于內(nèi)核編程的技術(shù)細(xì)節(jié),但會(huì)給你指引一條獲得這些知識(shí)的正確途徑。

如果這篇文章中的任何內(nèi)容不再適用,請(qǐng)給文末列出的文件維護(hù)者發(fā)送補(bǔ)丁。

入門

—-

你想了解如何成為一名Linux內(nèi)核開發(fā)者?或者老板吩咐你“給這個(gè)設(shè)備寫個(gè)Linux

驅(qū)動(dòng)程序”?這篇文章的目的就是教會(huì)你達(dá)成這些目標(biāo)的全部訣竅,它將描述你需

要經(jīng)過的流程以及給出如何同內(nèi)核社區(qū)合作的一些提示。它還將試圖解釋內(nèi)核社區(qū)

為何這樣運(yùn)作。

Linux內(nèi)核大部分是由C語言寫成的,一些體系結(jié)構(gòu)相關(guān)的代碼用到了匯編語言。要

參與內(nèi)核開發(fā),你必須精通C語言。除非你想為某個(gè)架構(gòu)開發(fā)底層代碼,否則你并

不需要了解(任何體系結(jié)構(gòu)的)匯編語言。下面列舉的書籍雖然不能替代扎實(shí)的C

語言教育和多年的開發(fā)經(jīng)驗(yàn),但如果需要的話,做為參考還是不錯(cuò)的盯含:

– “The C Programming Language” by Kernighan and Ritchie

《C程序設(shè)計(jì)語言(第2版·新版)》(徐寶文 李志 譯)

– “Practical C Programming”正則和 by Steve Oualline

《實(shí)用C語言編程(第三版)》(郭大海 譯)

– “C: A Reference Manual” by Harbison and Steele

《C語言參考手冊(cè)(原書第5版)》(邱仲潘 等譯)

Linux內(nèi)核使用GNU C和GNU工具鏈開發(fā)。雖然它遵循ISO C89標(biāo)準(zhǔn),但也用到了一些

標(biāo)準(zhǔn)中沒有定義的擴(kuò)展。內(nèi)核是自給自足的C環(huán)境,不依賴于標(biāo)準(zhǔn)C庫的支持,所以

并不支持C標(biāo)準(zhǔn)中的部分定義。比如long long類型的大數(shù)除法和浮點(diǎn)運(yùn)算就不允許

使用。有時(shí)候確實(shí)很難弄清楚內(nèi)核對(duì)工具鏈的要求和它所使用的擴(kuò)展,不幸的是目

前還沒有明確的參考資料可以解釋它們。請(qǐng)查閱gcc信息頁(使用“info gcc”命令

顯示)獲得一些這方面信息。

請(qǐng)記住你是在學(xué)習(xí)怎么和已經(jīng)存在的開發(fā)社區(qū)打交道。它由一群形形的人組成,

他們對(duì)代碼、風(fēng)格和過程有著很高的標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)是在長期實(shí)踐中總結(jié)出來的,

適應(yīng)于地理上分散的大型開發(fā)團(tuán)隊(duì)。它們已經(jīng)被很好得整理成檔,建議你在開發(fā)

之前盡可能多的學(xué)習(xí)這些標(biāo)準(zhǔn),而不要期望別人來適應(yīng)你或者你公司的行為方式。

法律問題

Linux內(nèi)核源代碼都是在GPL(通用公共許可證)的保護(hù)下發(fā)布的。要了解這種許可

的細(xì)節(jié)請(qǐng)查看源代碼主目錄下的COPYING文件。如果你對(duì)它還有更深入問題請(qǐng)聯(lián)系

律師,而不要在Linux內(nèi)核郵件組上提問。因?yàn)猷]件組里的人并不是律師,不要期

望他們的話有法律效力。

對(duì)于GPL的常見問題和解答,請(qǐng)?jiān)L問以下鏈接:

文檔

—-

Linux內(nèi)核代碼中包含有大量的文檔。這些文檔對(duì)于學(xué)習(xí)如何與內(nèi)核社區(qū)互動(dòng)有著

不可估量的價(jià)值。當(dāng)一個(gè)新的功能被加入內(nèi)核,更好把解釋如何使用這個(gè)功能的文

檔也放進(jìn)內(nèi)核。當(dāng)內(nèi)核的改動(dòng)導(dǎo)致面向用戶空間的接口發(fā)生變化時(shí),更好將相關(guān)信

息或手冊(cè)頁(manpages),以向手冊(cè)頁(manpages)

的維護(hù)者解釋這些變化。

以下是內(nèi)核代碼中需要閱讀的文檔:

README

文件簡要介紹了Linux內(nèi)核的背景,并且描述了如何配置和編譯內(nèi)核。內(nèi)核的

新用戶應(yīng)該從這里開始。

Documentation/Changes

文件給出了用來編譯和使用內(nèi)核所需要的最舉盯小軟件包列表。

Documentation/CodingStyle

描述Linux內(nèi)核的代碼風(fēng)格和理由。所有新代碼需要遵守這篇文檔中定義的規(guī)

范。大多數(shù)維護(hù)者只會(huì)接收符合規(guī)定的補(bǔ)丁,很多人也只會(huì)幫忙檢查符合風(fēng)格

的代碼。

Documentation/SubmittingPatches

Documentation/SubmittingDrivers

這兩份文檔明確描述如何創(chuàng)建和發(fā)送補(bǔ)丁,其中包括(但不僅限于):

– 郵件內(nèi)容

– 郵件格式

– 選擇收件人

遵守這些規(guī)定并不能保證提交成功(因?yàn)樗醒a(bǔ)丁需要通過嚴(yán)格的內(nèi)容和風(fēng)格

審查),但是忽視他們幾乎就意味著失敗。

其他關(guān)于如何正確地生成補(bǔ)丁的優(yōu)秀文檔包括:

“The Perfect Patch”

“Linux kernel patch submission format”

Documentation/stable_api_nonsense.txt

論證內(nèi)核為什么特意不包括穩(wěn)定的內(nèi)核內(nèi)部API,也就是說不包括像這樣的特

性:

– 子系統(tǒng)中間層(為了兼容性?)

– 在不同操作系統(tǒng)間易于移植的驅(qū)動(dòng)程序

– 減緩(甚至阻止)內(nèi)核代碼的快速變化

這篇文檔對(duì)于理解Linux的開發(fā)哲學(xué)至關(guān)重要。對(duì)于將開發(fā)平臺(tái)從其他操作系

統(tǒng)轉(zhuǎn)移到Linux的人來說也很重要。

Documentation/SecurityBugs

如果你認(rèn)為自己發(fā)現(xiàn)了Linux內(nèi)核的安全性問題,請(qǐng)根據(jù)這篇文檔中的步驟來

提醒其他內(nèi)核開發(fā)者并幫助解決這個(gè)問題。

Documentation/ManagementStyle

描述內(nèi)核維護(hù)者的工作方法及其共有特點(diǎn)。這對(duì)于剛剛接觸內(nèi)核開發(fā)(或者對(duì)

它感到好奇)的人來說很重要,因?yàn)樗忉屃撕芏鄬?duì)于內(nèi)核維護(hù)者獨(dú)特行為的

普遍誤解與迷惑。

Documentation/stable_kernel_rules.txt

解釋了穩(wěn)定版內(nèi)核發(fā)布的規(guī)則,以及如何將改動(dòng)放入這些版本的步驟。

Documentation/kernel-docs.txt

有助于內(nèi)核開發(fā)的外部文檔列表。如果你在內(nèi)核自帶的文檔中沒有找到你想找

的內(nèi)容,可以查看這些文檔。

Documentation/applying-patches.txt

關(guān)于補(bǔ)丁是什么以及如何將它打在不同內(nèi)核開發(fā)分支上的好介紹

內(nèi)核還擁有大量從代碼自動(dòng)生成的文檔。它包含內(nèi)核內(nèi)部API的全面介紹以及如何

妥善處理加鎖的規(guī)則。生成的文檔會(huì)放在 Documentation/DocBook/目錄下。在內(nèi)

核源碼的主目錄中使用以下不同命令將會(huì)分別生成PDF、Postscript、HTML和手冊(cè)

頁等不同格式的文檔:

make pdfdocs

make psdocs

make htmldocs

make mandocs

如何成為內(nèi)核開發(fā)者

—-

如果你對(duì)Linux內(nèi)核開發(fā)一無所知,你應(yīng)該訪問“Linux內(nèi)核新手”計(jì)劃:

它擁有一個(gè)可以問各種最基本的內(nèi)核開發(fā)問題的郵件列表(在提問之前一定要記得

查找已往的郵件,確認(rèn)是否有人已經(jīng)回答過相同的問題)。它還擁有一個(gè)可以獲得

實(shí)時(shí)反饋的IRC聊天頻道,以及大量對(duì)于學(xué)習(xí)Linux內(nèi)核開發(fā)相當(dāng)有幫助的文檔。

網(wǎng)站簡要介紹了源代碼組織結(jié)構(gòu)、子系統(tǒng)劃分以及目前正在進(jìn)行的項(xiàng)目(包括內(nèi)核

中的和單獨(dú)維護(hù)的)。它還提供了一些基本的幫助信息,比如如何編譯內(nèi)核和打補(bǔ)

丁。

如果你想加入內(nèi)核開發(fā)社區(qū)并協(xié)助完成一些任務(wù),卻找不到從哪里開始,可以訪問

“Linux內(nèi)核房管員”計(jì)劃:

/KernelJanitors

這是極佳的起點(diǎn)。它提供一個(gè)相對(duì)簡單的任務(wù)列表,列出內(nèi)核代碼中需要被重新

整理或者改正的地方。通過和負(fù)責(zé)這個(gè)計(jì)劃的開發(fā)者們一同工作,你會(huì)學(xué)到將補(bǔ)丁

集成進(jìn)內(nèi)核的基本原理。如果還沒有決定下一步要做什么的話,你還可能會(huì)得到方

向性的指點(diǎn)。

如果你已經(jīng)有一些現(xiàn)成的代碼想要放到內(nèi)核中,但是需要一些幫助來使它們擁有正

確的格式。請(qǐng)?jiān)L問“內(nèi)核導(dǎo)師”計(jì)劃。這個(gè)計(jì)劃就是用來幫助你完成這個(gè)目標(biāo)的。它

是一個(gè)郵件列表,地址如下:

在真正動(dòng)手修改內(nèi)核代碼之前,理解要修改的代碼如何運(yùn)作是必需的。要達(dá)到這個(gè)

目的,沒什么辦法比直接讀代碼更有效了(大多數(shù)花招都會(huì)有相應(yīng)的注釋),而且

一些特制的工具還可以提供幫助。例如,“Linux代碼交叉引用”項(xiàng)目就是一個(gè)值得

特別推薦的幫助工具,它將源代碼顯示在有編目和索引的網(wǎng)頁上。其中一個(gè)更新及

時(shí)的內(nèi)核源碼庫,可以通過以下地址訪問:

開發(fā)流程

目前Linux內(nèi)核開發(fā)流程包括幾個(gè)“主內(nèi)核分支”和很多子系統(tǒng)相關(guān)的內(nèi)核分支。這

些分支包括:

– 2.6.x主內(nèi)核源碼樹

– 2.6.x.y -stable內(nèi)核源碼樹

– 2.6.x -git內(nèi)核補(bǔ)丁集

– 2.6.x -mm內(nèi)核補(bǔ)丁集

– 子系統(tǒng)相關(guān)的內(nèi)核源碼樹和補(bǔ)丁集

2.6.x內(nèi)核主源碼樹

2.6.x內(nèi)核是由Linus Torvalds(Linux的創(chuàng)造者)親自維護(hù)的。你可以在

kernel.org網(wǎng)站的pub/linux/kernel/v2.6/目錄下找到它。它的開發(fā)遵循以下步

驟:

– 每當(dāng)一個(gè)新版本的內(nèi)核被發(fā)布,為期兩周的集成窗口將被打開。在這段時(shí)間里

維護(hù)者可以向Linus提交大段的修改,通常這些修改已經(jīng)被放到-mm內(nèi)核中幾個(gè)

星期了。提交大量修改的首選方式是使用git工具(內(nèi)核的代碼版本管理工具

,更多的信息可以在

獲?。?,不過使用普通補(bǔ)丁也是可以

的。

– 兩個(gè)星期以后-rc1版本內(nèi)核發(fā)布。之后只有不包含可能影響整個(gè)內(nèi)核穩(wěn)定性的

新功能的補(bǔ)丁才可能被接受。請(qǐng)注意一個(gè)全新的驅(qū)動(dòng)程序(或者文件系統(tǒng))有

可能在-rc1后被接受是因?yàn)檫@樣的修改完全獨(dú)立,不會(huì)影響其他的代碼,所以

沒有造成內(nèi)核退步的風(fēng)險(xiǎn)。在-rc1以后也可以用git向Linus提交補(bǔ)丁,不過所

有的補(bǔ)丁需要同時(shí)被發(fā)送到相應(yīng)的公眾郵件列表以征詢意見。

– 當(dāng)Linus認(rèn)為當(dāng)前的git源碼樹已經(jīng)達(dá)到一個(gè)合理健全的狀態(tài)足以發(fā)布供人測(cè)試

時(shí),一個(gè)新的-rc版本就會(huì)被發(fā)布。計(jì)劃是每周都發(fā)布新的-rc版本。

– 這個(gè)過程一直持續(xù)下去直到內(nèi)核被認(rèn)為達(dá)到足夠穩(wěn)定的狀態(tài),持續(xù)時(shí)間大概是

6個(gè)星期。

– 以下地址跟蹤了在每個(gè)-rc發(fā)布中發(fā)現(xiàn)的退步列表:

/known_regressions

關(guān)于內(nèi)核發(fā)布,值得一提的是Andrew Morton在linux-kernel郵件列表中如是說:

“沒有人知道新內(nèi)核何時(shí)會(huì)被發(fā)布,因?yàn)榘l(fā)布是根據(jù)已知bug的情況來決定

的,而不是根據(jù)一個(gè)事先制定好的時(shí)間表?!?/p>

2.6.x.y -stable(穩(wěn)定版)內(nèi)核源碼樹

由4個(gè)數(shù)字組成的內(nèi)核版本號(hào)說明此內(nèi)核是-stable版本。它們包含基于2.6.x版本

內(nèi)核的相對(duì)較小且至關(guān)重要的修補(bǔ),這些修補(bǔ)針對(duì)安全性問題或者嚴(yán)重的內(nèi)核退步。

這種版本的內(nèi)核適用于那些期望獲得最新的穩(wěn)定版內(nèi)核并且不想?yún)⑴c測(cè)試開發(fā)版或

者實(shí)驗(yàn)版的用戶。

如果沒有2.6.x.y版本內(nèi)核存在,那么最新的2.6.x版本內(nèi)核就相當(dāng)于是當(dāng)前的穩(wěn)定

版內(nèi)核。

2.6.x.y版本由“穩(wěn)定版”小組(郵件地址)維護(hù),一般隔周發(fā)

布新版本。

內(nèi)核源碼中的Documentation/stable_kernel_rules.txt文件具體描述了可被穩(wěn)定

版內(nèi)核接受的修改類型以及發(fā)布的流程。

2.6.x -git補(bǔ)丁集

Linus的內(nèi)核源碼樹的每日快照,這個(gè)源碼樹是由git工具管理的(由此得名)。這

些補(bǔ)丁通常每天更新以反映Linus的源碼樹的最新狀態(tài)。它們比-rc版本的內(nèi)核源碼

樹更具試驗(yàn)性質(zhì),因?yàn)檫@個(gè)補(bǔ)丁集是全自動(dòng)生成的,沒有任何人來確認(rèn)其是否真正

健全。

2.6.x -mm補(bǔ)丁集

這是由Andrew Morton維護(hù)的試驗(yàn)性內(nèi)核補(bǔ)丁集。Andrew將所有子系統(tǒng)的內(nèi)核源碼

和補(bǔ)丁拼湊到一起,并且加入了大量從linux-kernel郵件列表中采集的補(bǔ)丁。這個(gè)

源碼樹是新功能和補(bǔ)丁的試煉場(chǎng)。當(dāng)補(bǔ)丁在-mm補(bǔ)丁集里證明了其價(jià)值以后Andrew

或者相應(yīng)子系統(tǒng)的維護(hù)者會(huì)將補(bǔ)丁發(fā)給Linus以便集成進(jìn)主內(nèi)核源碼樹。

在將所有新補(bǔ)丁發(fā)給Linus以集成到主內(nèi)核源碼樹之前,我們非常鼓勵(lì)先把這些補(bǔ)

丁放在-mm版內(nèi)核源碼樹中進(jìn)行測(cè)試。

這些內(nèi)核版本不適合在需要穩(wěn)定運(yùn)行的系統(tǒng)上運(yùn)行,因?yàn)檫\(yùn)行它們比運(yùn)行任何其他

內(nèi)核分支都更具有風(fēng)險(xiǎn)。

如果你想為內(nèi)核開發(fā)進(jìn)程提供幫助,請(qǐng)嘗試并使用這些內(nèi)核版本,并在

linux-kernel郵件列表中提供反饋,告訴大家你遇到了問題還是一切正常。

通常-mm版補(bǔ)丁集不光包括這些額外的試驗(yàn)性補(bǔ)丁,還包括發(fā)布時(shí)-git版主源碼樹

中的改動(dòng)。

-mm版內(nèi)核沒有固定的發(fā)布周期,但是通常在每兩個(gè)-rc版內(nèi)核發(fā)布之間都會(huì)有若干

個(gè)-mm版內(nèi)核發(fā)布(一般是1至3個(gè))。

子系統(tǒng)相關(guān)內(nèi)核源碼樹和補(bǔ)丁集

相當(dāng)一部分內(nèi)核子系統(tǒng)開發(fā)者會(huì)公開他們自己的開發(fā)源碼樹,以便其他人能了解內(nèi)

核的不同領(lǐng)域正在發(fā)生的事情。如上所述,這些源碼樹會(huì)被集成到-mm版本內(nèi)核中。

下面是目前可用的一些內(nèi)核源碼樹的列表:

通過git管理的源碼樹:

– Kbuild開發(fā)源碼樹, Sam Ravnborg

git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git

– ACPI開發(fā)源碼樹, Len Brown

git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git

– 塊設(shè)備開發(fā)源碼樹, Jens Axboe

git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git

– DRM開發(fā)源碼樹, Dave Airlie

git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git

– ia64開發(fā)源碼樹, Tony Luck

git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git

– ieee1394開發(fā)源碼樹, Jody McIntyre

git.kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git

– infiniband開發(fā)源碼樹, Roland Dreier

git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git

– libata開發(fā)源碼樹, Jeff Garzik

git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git

– 網(wǎng)絡(luò)驅(qū)動(dòng)程序開發(fā)源碼樹, Jeff Garzik

git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

– pcmcia開發(fā)源碼樹, Dominik Brodowski

git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git

– SCSI開發(fā)源碼樹, James Bottomley

git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git

使用quilt管理的補(bǔ)丁集:

– USB, PCI, 驅(qū)動(dòng)程序核心和I2C, Greg Kroah-Hartman

kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/

– x86-64, 部分i386, Andi Kleen

ftp.firstfloor.org:/pub/ak/x86_64/quilt/

其他內(nèi)核源碼樹可以在

的列表中和MAINTAINERS文件里

找到。

報(bào)告bug

bugzilla.kernel.org是Linux內(nèi)核開發(fā)者們用來跟蹤內(nèi)核Bug的網(wǎng)站。我們鼓勵(lì)用

戶在這個(gè)工具中報(bào)告找到的所有bug。如何使用內(nèi)核bugzilla的細(xì)節(jié)請(qǐng)?jiān)L問:

內(nèi)核源碼主目錄中的REPORTING-BUGS文件里有一個(gè)很好的模板。它指導(dǎo)用戶如何報(bào)

告可能的內(nèi)核bug以及需要提供哪些信息來幫助內(nèi)核開發(fā)者們找到問題的根源。

利用bug報(bào)告

練習(xí)內(nèi)核開發(fā)技能的更好辦法就是修改其他人報(bào)告的bug。你不光可以幫助內(nèi)核變

得更加穩(wěn)定,還可以學(xué)會(huì)如何解決實(shí)際問題從而提高自己的技能,并且讓其他開發(fā)

者感受到你的存在。修改bug是贏得其他開發(fā)者贊譽(yù)的更好辦法,因?yàn)椴⒉皇呛芏?/p>

人都喜歡浪費(fèi)時(shí)間去修改別人報(bào)告的bug。

要嘗試修改已知的bug,請(qǐng)?jiān)L問

網(wǎng)址。如果你想獲得

最新bug的通知,可以訂閱bugme-new郵件列表(只有新的bug報(bào)告會(huì)被寄到這里)

或者訂閱bugme-janitor郵件列表(所有bugzilla的變動(dòng)都會(huì)被寄到這里)。

郵件列表

正如上面的文檔所描述,大多數(shù)的骨干內(nèi)核開發(fā)者都加入了Linux Kernel郵件列

表。如何訂閱和退訂列表的細(xì)節(jié)可以在這里找到:

網(wǎng)上很多地方都有這個(gè)郵件列表的存檔(archive)??梢允褂盟阉饕鎭碚业竭@些

存檔。比如:

在發(fā)信之前,我們強(qiáng)烈建議你先在存檔中搜索你想要討論的問題。很多已經(jīng)被詳細(xì)

討論過的問題只在郵件列表的存檔中可以找到。

大多數(shù)內(nèi)核子系統(tǒng)也有自己獨(dú)立的郵件列表來協(xié)調(diào)各自的開發(fā)工作。從

MAINTAINERS文件中可以找到不同話題對(duì)應(yīng)的郵件列表。

很多郵件列表架設(shè)在kernel.org服務(wù)器上。這些列表的信息可以在這里找到:

在使用這些郵件列表時(shí),請(qǐng)記住保持良好的行為習(xí)慣。下面的鏈接提供了與這些列

表(或任何其它郵件列表)交流的一些簡單規(guī)則,雖然內(nèi)容有點(diǎn)濫竽充數(shù)。

當(dāng)有很多人回復(fù)你的郵件時(shí),郵件的抄送列表會(huì)變得很長。請(qǐng)不要將任何人從抄送

列表中刪除,除非你有足夠的理由這么做。也不要只回復(fù)到郵件列表。請(qǐng)習(xí)慣于同

一封郵件接收兩次(一封來自發(fā)送者一封來自郵件列表),而不要試圖通過添加一

些奇特的郵件頭來解決這個(gè)問題,人們不會(huì)喜歡的。

記住保留你所回復(fù)內(nèi)容的上下文和源頭。在你回復(fù)郵件的頂部保留“某某某說到……”

這幾行。將你的評(píng)論加在被引用的段落之間而不要放在郵件的頂部。

如果你在郵件中附帶補(bǔ)丁,請(qǐng)確認(rèn)它們是可以直接閱讀的純文本(如

Documentation/SubmittingPatches文檔中所述)。內(nèi)核開發(fā)者們不希望遇到附件

或者被壓縮了的補(bǔ)丁。只有這樣才能保證他們可以直接評(píng)論你的每行代碼。請(qǐng)確保

你使用的郵件發(fā)送程序不會(huì)修改空格和制表符。一個(gè)防范性的測(cè)試方法是先將郵件

發(fā)送給自己,然后自己嘗試是否可以順利地打上收到的補(bǔ)丁。如果測(cè)試不成功,請(qǐng)

調(diào)整或者更換你的郵件發(fā)送程序直到它正確工作為止。

linux內(nèi)核流程的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux內(nèi)核流程,淺析Linux內(nèi)核的運(yùn)行流程與工作原理,編譯Linux內(nèi)核的具體步驟?,如何參與linux 內(nèi)核開發(fā)的信息別忘了在本站進(jìn)行查找喔。

成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


分享名稱:淺析Linux內(nèi)核的運(yùn)行流程與工作原理(linux內(nèi)核流程)
分享鏈接:http://www.dlmjj.cn/article/djicchi.html