出版時(shí)間:2011-12 出版社:中國鐵道出版社 作者:孫更新,賓晟,孫海倫 編著 頁數(shù):443
Tag標(biāo)簽:無
內(nèi)容概要
本書通過對(duì)完整的0.95版本Linux內(nèi)核源代碼進(jìn)行完全剖析和逐行注釋,使得讀者能夠在較短時(shí)間內(nèi)深刻理解Linux操作系統(tǒng)的基本功能和實(shí)現(xiàn)方式,為深入研究Linux操作系統(tǒng)打下堅(jiān)實(shí)基礎(chǔ)。作為Linux早期內(nèi)核版本的0.95版本,其內(nèi)核是目前所使用的較新內(nèi)核的精簡版,代碼量比較小,卻包括了幾乎所有的基本功能原理的內(nèi)容,通過閱讀源代碼能夠使讀者快速地理解內(nèi)核工作的基本原理。
本書共分l0章,全面系統(tǒng)地介紹了Linux內(nèi)核發(fā)展歷史和版本變化,詳細(xì)說明了Linux運(yùn)行的硬件基礎(chǔ)和Linux內(nèi)核體系結(jié)構(gòu),完全剖析和注釋了Linux內(nèi)存管理、中斷處理與系統(tǒng)調(diào)用、進(jìn)程控制、塊設(shè)備驅(qū)動(dòng)程序、字符設(shè)備驅(qū)動(dòng)程序、文件系統(tǒng)、引導(dǎo)啟動(dòng)程序、初始化程序,最后總結(jié)性地介紹了繼續(xù)研究Linux系統(tǒng)的方法和著手點(diǎn)。
本書適合Linux愛好者學(xué)習(xí)內(nèi)核工作原理使用,也可作為高校計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)操作系統(tǒng)課程的輔助和實(shí)驗(yàn)教材,還可供一般技術(shù)人員作為開發(fā)嵌入式系統(tǒng)的參考書使用。
書籍目錄
第1章Linux操作系統(tǒng)原理
1.1 Linux操作系統(tǒng)簡介
1.1.1 Linux內(nèi)核的構(gòu)成
1.1.2 Linux操作系統(tǒng)的特征
1.2 Linux內(nèi)核概述
1.2.1 Linux內(nèi)核的版本
1.2.2研究Linux內(nèi)核的意義
1.3 Linux運(yùn)行的硬件基礎(chǔ)
1.3.1 i386寄存器和系統(tǒng)指令
1.3.2分段機(jī)制
1.3.3分頁機(jī)制
1.4 Linux內(nèi)核體系結(jié)構(gòu)
1.4.1 Linux內(nèi)核體系結(jié)構(gòu)及模式
1.4.2 Linux內(nèi)核源代碼目錄結(jié)構(gòu)
1.4.3 Linux內(nèi)核的編譯
第2章 引導(dǎo)啟動(dòng)與初始化程序
2.1引導(dǎo)啟動(dòng)程序(boot)
2.1.1總體功能
2.1.2 bootsect.S文件
2.1.3 setup.S文件
2.1.4 head.S文件
2.2初始化程序(init)
2.2.1概述
2.2.2 main.C文件
第3章 頭文件
3.1 include/目錄下的文件
3.2 a.out.h文件
3.3 const.h文件
3.4 ctype.h文件
3.5 errn0.h文件
3.6 fcntl.h文件
3.7 signal.h文件
3.8 stdar9.h文件
3.9 stddef.h文件
……
第4章 中斷處理與系統(tǒng)調(diào)用
第5章 進(jìn)程控制
第6章 字符設(shè)備驅(qū)動(dòng)程序
第7章 塊設(shè)備驅(qū)動(dòng)程序
第8章 文件系統(tǒng)
第9章 內(nèi)存管理
第10章 Linux內(nèi)核編程環(huán)境
章節(jié)摘錄
版權(quán)頁:插圖:在第一種情況下,產(chǎn)生無效地址的程序必須被終止。在第二種情況下,該無效地址實(shí)際上是請(qǐng)求操作系統(tǒng)虛擬內(nèi)存管理器把對(duì)應(yīng)頁面從磁盤上加載到物理內(nèi)存中,以供程序訪問。因?yàn)闊o效頁面通常與虛擬存儲(chǔ)系統(tǒng)相關(guān),因此它們被稱為不存在的頁面,并且由頁表中稱為存在(present)的屬性來確定。在保護(hù)模式中,80×86允許線性地址空間直接映射到大容量的物理內(nèi)存(如4GB的RAM)上,或者(使用分頁)間接地映射到較小容量的物理內(nèi)存和磁盤存儲(chǔ)空間中。后一種映射線性地址空間的方法被稱為虛擬存儲(chǔ)或者需求頁(Demand-paged)虛擬存儲(chǔ)。當(dāng)使用分頁時(shí),處理器會(huì)把線性地址空間劃分成固定大小的頁面(長度4KB),這些頁面可以映射到物理內(nèi)存中或磁盤存儲(chǔ)空間中。當(dāng)一個(gè)程序(或任務(wù))引用內(nèi)存中的邏輯地址時(shí),處理)器會(huì)把該邏輯地址轉(zhuǎn)換成一個(gè)線性地址,然后使用分頁機(jī)制把該線性地址轉(zhuǎn)換成對(duì)應(yīng)的物理地址。如果包含線性地址的頁面當(dāng)前不在物理內(nèi)存中,處理器就會(huì)產(chǎn)生一個(gè)頁錯(cuò)誤異常。頁錯(cuò)誤異常的處理程序通常就會(huì)讓操作系統(tǒng)從磁盤中把相應(yīng)頁面加載到物理內(nèi)存中(操作過程中可能還會(huì)把物理內(nèi)存中不同的頁面寫到磁盤上)。當(dāng)頁面加載到物理內(nèi)存中之后,從異常處理過程的返回操作會(huì)使得導(dǎo)致異常的指令被重新執(zhí)行。
編輯推薦
《Linux內(nèi)核注釋》:讀者應(yīng)具備的基礎(chǔ)知識(shí):掌握C語言的相關(guān)知識(shí),掌握有關(guān)80×86處理器結(jié)構(gòu)和編程的知識(shí),掌握有關(guān)80×86硬件體系結(jié)構(gòu)和接口編程的知識(shí),對(duì)Linux比較熟愚,具備使用Linux操作系統(tǒng)的初級(jí)技巧,如果讀者還具有操作系統(tǒng)設(shè)計(jì)相關(guān)經(jīng)驗(yàn)或其他計(jì)算機(jī)科學(xué)的概念則更佳。《Linux內(nèi)核注釋》主要面向讀者群體:適合Linux愛好看學(xué)習(xí)內(nèi)核工作原理,可供一般技術(shù)人員作為開發(fā)嵌入式系統(tǒng)的參考書使用,可作為高校計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)操作系統(tǒng)課程的輔助和實(shí)驗(yàn)教材。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載