閱讀時間:2015年11月2日
閱讀技巧:閱讀書的目錄
閱讀筆記:
boot/目錄下的三個匯編程序,其中包括磁盤引導(dǎo)程序 bootsect.s定庵、32 位運(yùn)行啟 動代碼程序 head.s 和獲取 BIOS 中參數(shù)的 setup.s 匯編程序产弹。
init/目錄中內(nèi)核系統(tǒng)的初始化程序 main.c歼郭。它是內(nèi)核完成所有初始化工作并進(jìn)入 正常運(yùn)行的關(guān)鍵地方荐捻。在介紹該程序時將需要查看其所調(diào)用的其它程序,因此對后續(xù)章節(jié)的閱讀可以按 照這里調(diào)用的順序進(jìn)行蛋欣。當(dāng)你能真正看懂直到 main.c 程序為止的所有程序時航徙,你應(yīng)該已經(jīng)對 Linux 內(nèi)核 有了一定的了解,可以說已經(jīng)有一半入門了?陷虎,但你還需要對文件系統(tǒng)到踏、系統(tǒng)調(diào)用、各種驅(qū)動程序等進(jìn) 行更深一步的閱讀尚猿。
kenel/目錄中的所有程序窝稿。
內(nèi)核源代碼 fs/目錄中的文件系統(tǒng)程序谊路,在看這章內(nèi)容時建議你能夠暫停一下而去閱讀 Andrew S. Tanenbaum 的《操作系統(tǒng)設(shè)計與實現(xiàn)》一書中有關(guān) minix 文件系統(tǒng)的章節(jié)菩彬,因為最初的 Linux 系統(tǒng)是只支持 minix 一種文件系統(tǒng)缠劝,Linux 0.11 版也不例外骗灶。
mm/目錄中的內(nèi)存管理程序。要透徹地理解這方面的內(nèi)容耙旦,需要對 Intel 80X86 微處理 器的保護(hù)模式運(yùn)行方式有足夠的理解,因此本章在適當(dāng)?shù)牡胤桨休^為完整的有關(guān) 80X86 保護(hù)模式運(yùn) 行方式的說明免都,這些知識基本上是從 Intel 80386 程序員編程手冊(Intel 80386 Programmer's Reference Manual) 中摘錄下來的,但在此是以源代碼中的運(yùn)用實例為對象進(jìn)行解說的绕娘,因此應(yīng)該能更好地理解它 的原理脓规。
include/目錄中的所有頭文件進(jìn)行詳細(xì)說明,基本上對每一個定義险领、每一個常量或數(shù)據(jù) 結(jié)構(gòu)都進(jìn)行了詳細(xì)注釋侨舆。為了便于在閱讀時參考查閱,本書在附錄中還對一些經(jīng)常要用到的重要的數(shù)據(jù) 結(jié)構(gòu)和變量進(jìn)行了歸納注釋绢陌,但這些內(nèi)容其實都能在這一章中找到挨下。
Linux 0.11 版內(nèi)核源代碼中 lib/目錄中的所有文件。由于這個版本較低脐湾,所以這里的 內(nèi)容并不是很多臭笆,可以很快地看完。這也是我們?yōu)槭裁催x擇 0.11 版的原因之一。
tools/目錄下的 build.c 程序愁铺。這個程序并不會包括在編譯生成的內(nèi)核映像(image)文 件中凿菩,它僅用于將內(nèi)核中的磁盤引導(dǎo)程序塊與其它主要內(nèi)核模塊連接成一個完整了內(nèi)核映像(kernel image)文件。