Linux 內(nèi)核設(shè)計的藝術(shù)(第2版)_第1頁
Linux 內(nèi)核設(shè)計的藝術(shù)(第2版)_第2頁
Linux 內(nèi)核設(shè)計的藝術(shù)(第2版)_第3頁
Linux 內(nèi)核設(shè)計的藝術(shù)(第2版)_第4頁
Linux 內(nèi)核設(shè)計的藝術(shù)(第2版)_第5頁
已閱讀5頁,還剩1216頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Linux內(nèi)核設(shè)計的藝術(shù)(第2版)圖解Linux操作系統(tǒng)架構(gòu)設(shè)計與實現(xiàn)原理目錄第1章從開機加電到執(zhí)行

main函數(shù)之前的過程

1.1啟動BIOS,準(zhǔn)備實模式下的中斷向量表和中斷服務(wù)程序

1.1.1BIOS的啟動原理

1.1.2BIOS在內(nèi)存中加載中斷向量表和中斷服務(wù)程序

1.2加載操作系統(tǒng)內(nèi)核程序并為保護模式做準(zhǔn)備

1.2.1加載第一部分內(nèi)核代碼--引導(dǎo)程序(bootsect)

1.2.2加載第二部分內(nèi)核代碼--setup

1.2.3加載第三部分內(nèi)核代碼--system模塊

1.3開始向32位模式轉(zhuǎn)變,為main函數(shù)的調(diào)用做準(zhǔn)備

1.3.1關(guān)中斷并將system移動到內(nèi)存地址起始位置0x0000

1.3.2設(shè)置中斷描述符表和全局描述符表

1.3.3打開A20,實現(xiàn)32位尋址

1.3.4為保護模式下執(zhí)行head.s做準(zhǔn)備

1.3.5head.s開始執(zhí)行

1.4本章小結(jié)

第2章設(shè)備環(huán)境初始化及激活進程

2.1設(shè)置根設(shè)備、硬盤

2.2規(guī)劃物理內(nèi)存格局,設(shè)置緩沖區(qū)、虛擬盤、主內(nèi)存

2.3設(shè)置虛擬盤空間并初始化

2.4內(nèi)存管理結(jié)構(gòu)mem_map初始化

2.5異常處理類中斷服務(wù)程序掛接

2.6初始化塊設(shè)備請求項結(jié)構(gòu)

2.7與建立人機交互界面相關(guān)的外設(shè)的中斷服務(wù)程序掛接

2.7.1對串行口進行設(shè)置

2.7.2對顯示器進行設(shè)置

2.7.3對鍵盤進行設(shè)置

2.8開機啟動時間設(shè)置

2.9初始化進程

2.9.1初始化進程

2.9.2設(shè)置時鐘中斷

2.9.3設(shè)置系統(tǒng)調(diào)用總?cè)肟?/p>

2.10初始化緩沖區(qū)管理結(jié)構(gòu)

2.11初始化硬盤

2.12初始化軟盤

2.13開啟中斷

2.14進程0由0特權(quán)級翻轉(zhuǎn)到3特權(quán)級,成為真正的進程

2.15本章小結(jié)

第3章進程1的創(chuàng)建及執(zhí)行

3.1進程1的創(chuàng)建

3.1.1進程0創(chuàng)建進程

3.1.2在task[64]中為進程1申請一個空閑位置并獲取進程號

3.1.3調(diào)用copy_process函數(shù)

3.1.4設(shè)置進程1的分頁管理

3.1.5進程1共享進程0的文件

3.1.6設(shè)置進程1在GDT中的表項

3.1.7進程1處于就緒態(tài)

3.2內(nèi)核第一次做進程調(diào)度

3.3輪轉(zhuǎn)到進程1執(zhí)行

3.3.1進程1為安裝硬盤文件系統(tǒng)做準(zhǔn)備

3.3.2進程1格式化虛擬盤并更換根設(shè)備為虛擬盤

3.3.3進程1在根設(shè)備上加載根文件系統(tǒng)

3.4本章小結(jié)

第4章進程2的創(chuàng)建及執(zhí)行

4.1打開終端設(shè)備文件及復(fù)制文件句柄

4.1.1打開標(biāo)準(zhǔn)輸入設(shè)備文件

4.1.2打開標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯誤輸出設(shè)備文件

4.2進程1創(chuàng)建進程2并切換到進程2執(zhí)行

4.3加載shell程序

4.3.1關(guān)閉標(biāo)準(zhǔn)輸入設(shè)備文件,打開rc文件

4.3.2檢測shell文件

4.3.3為shell程序的執(zhí)行做準(zhǔn)備

4.3.4執(zhí)行shell程序

4.4系統(tǒng)實現(xiàn)怠速

4.4.1創(chuàng)建update進程

4.4.2切換到shell進程執(zhí)行

4.4.3重建shell

4.5本章小結(jié)

第5章文件操作

5.1安裝文件系統(tǒng)

5.1.1獲取外設(shè)的超級塊

5.1.2確定根文件系統(tǒng)的掛接點

5.1.3將超級塊與根文件系統(tǒng)掛接

5.2打開文件

5.2.1將進程的*filp[20]與file_table[64]掛接

5.2.2獲取文件i節(jié)點

5.2.3將文件i節(jié)點與file_table[64]掛接

5.3讀文件

5.3.1確定數(shù)據(jù)塊在外設(shè)中的位置

5.3.2將數(shù)據(jù)塊讀入緩沖塊

5.3.3將緩沖塊中的數(shù)據(jù)復(fù)制到進程空間

5.4新建文件

5.4.1查找文件

5.4.2新建文件i節(jié)點

5.4.3新建文件目錄項

5.5寫文件

5.5.1確定文件的寫入位置

5.5.2申請緩沖塊

5.5.3將指定的數(shù)據(jù)從進程空間復(fù)制到緩沖塊

5.5.4數(shù)據(jù)同步到外設(shè)的兩種方法

5.6修改文件

5.6.1重定位文件的當(dāng)前操作指針

5.6.2修改文件

5.7關(guān)閉文件

5.7.1當(dāng)前進程的filp與file_table[64]脫鉤

5.7.2文件i節(jié)點被釋放

5.8刪除文件

5.8.1對文件的刪除條件進行檢查

5.8.2進行具體的刪除工作

5.9本章小結(jié)

第6章用戶進程與內(nèi)存管理

6.1線性地址的保護

6.1.1進程線性地址空間的格局

6.1.2段基址、段限長、GDT、LDT、特權(quán)級

6.2分頁

6.2.1線性地址映射到物理地址

6.2.2進程執(zhí)行時分頁

6.2.3進程共享頁面

6.2.4內(nèi)核分頁

6.3一個用戶進程從創(chuàng)建到退出的完整過程

6.3.1創(chuàng)建str1進程

6.3.2str1進程加載的準(zhǔn)備工作

6.3.3str1進程的運行、加載

6.3.4str1進程的退出

6.4多個用戶進程同時運行

6.4.1進程調(diào)度

6.4.2頁寫保護

6.5本章小結(jié)

第7章緩沖區(qū)和多進程操作文件

7.1緩沖區(qū)的作用

7.2緩沖區(qū)的總體結(jié)構(gòu)

7.3b_dev、b_blocknr及request的作用

7.3.1保證進程與緩沖塊數(shù)據(jù)交互的正確性

7.3.2讓數(shù)據(jù)在緩沖區(qū)中停留的時間盡可能長

7.4uptodate和dirt的作用

7.4.1b_uptodate的作用

7.4.2b_dirt的作用

7.4.3i_uptodate、i_dirt和s_dirt的作用

7.5count、lock、wait、request的作用

7.5.1b_count的作用

7.5.2i_count的作用

7.5.3b_lock、*b_wait的作用

7.5.4i_lock、i_wait、s_lock、*s_wait的作用

7.5.5補充request的作用

7.6實例1:關(guān)于緩沖塊的進程等待隊列

7.7總體來看緩沖塊和請求項

7.8實例2:多進程操作文件的綜合實例

7.9本章小結(jié)

第8章進程間通信

8.1管道機制

8.1.1管道的創(chuàng)建過程

8.1.2管道的操作

8.2信號機制

8.2.1信號的使用

8.2.2信號對進程執(zhí)行狀態(tài)的影響

8.3本章小結(jié)

第9章操作系統(tǒng)的設(shè)計指導(dǎo)思想

9.1運行一個最簡單的程序,看操作系統(tǒng)為程序運行做了哪些工作

9.2操作系統(tǒng)的設(shè)計指導(dǎo)思想--主奴機制

9.2.1主奴機制中的進程及進程創(chuàng)建機制

9.2.2操作系統(tǒng)的設(shè)計如何體現(xiàn)主奴機制

9.3實現(xiàn)主奴機制的三種關(guān)鍵技術(shù)

9.3.1保護和分頁

9.3.2特權(quán)級

9.3.3中斷

9.4建立主奴機制的決定性因素--先機

9.5軟件和硬件的關(guān)系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論