亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

Linux內(nèi)核源代碼的閱讀和工具介紹

  • 相關(guān)推薦

Linux內(nèi)核源代碼的閱讀和工具介紹

Linux內(nèi)核源代碼的閱讀和工具介紹 Linux的內(nèi)核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統(tǒng)下,/usr/src/linux目錄下的東西就是內(nèi)核源代碼。另外還可以從互連網(wǎng)上下載,解壓縮后文件一般也都位于linux目錄下。內(nèi)核源代碼有很多版本,目前最新的版本是2.2.14。

  許多人對(duì)于閱讀Linux內(nèi)核有一種恐懼感,其實(shí)大可不必。當(dāng)然,象Linux內(nèi)核這樣大而復(fù)雜的系統(tǒng)代碼,閱讀起來確實(shí)有很多困難,但是也不象想象的那么高不可攀。只要有恒心,困難都是可以克服的。任何事情做起來都需要有方法和工具。正確的方法可以指導(dǎo)工作,良好的工具可以事半功倍。對(duì)于Linux 內(nèi)核源代碼的閱讀也同樣如此。下面我就把自己閱讀內(nèi)核源代碼的一點(diǎn)經(jīng)驗(yàn)介紹一下,最后介紹Window平臺(tái)下的一種閱讀工具。

  對(duì)于源代碼的閱讀,要想比較順利,事先最好對(duì)源代碼的知識(shí)背景有一定的了解。對(duì)于linux內(nèi)核源代碼來講,基本要求是:⑴ 操作系統(tǒng)的基本知識(shí);⑵ 對(duì)C語言比較熟悉,最好要有匯編語言的知識(shí)和GNU C對(duì)標(biāo)準(zhǔn)C的擴(kuò)展的知識(shí)的了解。另外在閱讀之前,還應(yīng)該知道Linux內(nèi)核源代碼的整體分布情況。我們知道現(xiàn)代的操作系統(tǒng)一般由進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動(dòng)程序、網(wǎng)絡(luò)等組成。看一下Linux內(nèi)核源代碼就可看出,各個(gè)目錄大致對(duì)應(yīng)了這些方面。Linux內(nèi)核源代碼的組成如下(假設(shè)相對(duì)于linux目錄):

  arch 這個(gè)子目錄包含了此核心源代碼所支持的硬件體系結(jié)構(gòu)相關(guān)的核心代碼。如對(duì)于X86平臺(tái)就是i386。

  include 這個(gè)目錄包括了核心的大多數(shù)include文件。另外對(duì)于每種支持的體系結(jié)構(gòu)分別有一個(gè)子目錄。

  init 此目錄包含核心啟動(dòng)代碼。

  mm 此目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/*/mm目錄下,如對(duì)應(yīng)于X86的就是arch/i386/mm/fault.c 。

 drivers 系統(tǒng)中所有的設(shè)備驅(qū)動(dòng)都位于此目錄中。它又進(jìn)一步劃分成幾類設(shè)備驅(qū)動(dòng),每一種也有對(duì)應(yīng)的子目錄,如聲卡的驅(qū)動(dòng)對(duì)應(yīng)于drivers/sound。

  ipc 此目錄包含了核心的進(jìn)程間通訊代碼。

  modules 此目錄包含已建好可動(dòng)態(tài)加載的模塊。

  fs Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對(duì)應(yīng),如ext2文件系統(tǒng)對(duì)應(yīng)的就是ext2子目錄。

  kernel 主要核心代碼。同時(shí)與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/*/kernel目錄下。

  net 核心的網(wǎng)絡(luò)部分代碼。里面的每個(gè)子目錄對(duì)應(yīng)于網(wǎng)絡(luò)的一個(gè)方面。

  lib 此目錄包含了核心的庫(kù)代碼。與處理器結(jié)構(gòu)相關(guān)庫(kù)代碼被放在arch/*/lib/目錄下。

Linux內(nèi)核源代碼的閱讀和工具介紹

下一頁

【Linux內(nèi)核源代碼的閱讀和工具介紹】相關(guān)文章:

架設(shè)基于Linux(2.6內(nèi)核)的服務(wù)器集群08-22

基于OMAP5912的Linux內(nèi)核移植技術(shù)09-08

在嵌入式linux2.4.18內(nèi)核中實(shí)現(xiàn)CS8900A網(wǎng)卡驅(qū)動(dòng)10-12

論文:Linux進(jìn)程和線程的基礎(chǔ)與管理08-18

嵌入式Linux的MiniGUI研究和移植07-13

Gdb/Armulator 源代碼分析05-09

LINUX操作系統(tǒng)10-11

幾個(gè)實(shí)用的AutoCAD附加工具和系統(tǒng)變量08-09

隱性知識(shí)的管理理論和應(yīng)用工具08-09

企業(yè)知識(shí)管理的實(shí)現(xiàn)技術(shù)和工具的電商論文09-17