linux 核心完全註釋筆記 1章--2.4章 2006.04.06
第一章 linux的誕生
1990年 芬蘭 赫爾辛基大學計算機系 20歲的 Linus Benedict Torvalds
通過學習 《MINIX 系統》的原始碼 後決定開發的 linux 系統
包括學習了 M.J.Bach 的《UNIX作業系統設計》
第二章 Linux 核心體系結構
2.1、Linux 核心模式和體系結構
完整的作業系統主要由4部分組成:硬體、作業系統核心、作業系統服務和使用者應用程式。
作業系統核心的結構模式可分為:整體式的單核心模式和層次式的微核心模式。
這裡用的是單核心模式,他的優點:結構緊湊、執行速度快,缺點:層次結構性不強。
單核心系統的結構模式,作業系統提供服務的流程:應用主程式使用指定的引數執行系統呼叫指令
(int x80),使cpu從使用者態(User Mode)切換到核心態(Kernel Mode),然後系統根據引數
值呼叫特定的系統呼叫服務程式,而這些服務程式則根據需要呼叫底層的支援函式以完成特定的功能。
在完成了應用程式要求的服務後,作業系統又從核心態切換回使用者態,回到應用程式中繼續執行後續
指令。
linux核心主要由5個模組構成:程序排程模組、記憶體管理模組、檔案系統模組、程序通訊模組和
網路介面模組。
2.2 Linux 中斷機制
在使用80x86組成的pc中,採用2片8259A可程式設計中斷控制晶片。每片管理8箇中斷源。
通過多片的級聯方式,能構成最多管理64箇中斷向量的系統。
在PC/AT系列相容機中,使用了2片8259A晶片,共可管理15級中斷向量。
其中 從晶片的INT 引腳連線到主晶片的IR2引腳上。主8259A晶片的埠基地址是0x20,
從晶片是 0xA0。在匯流排控制器控制下,8259A晶片可以處於程式設計狀態和操作狀態。
程式設計狀態是CPU使用IN 和 OUT 指令對8259A晶片進行初始化變成的狀態。
完成初始化後,晶片即進入操作狀態,可以隨時響應外部裝置提出的中斷請求(IRQ0--IRQ15)。
通過中斷優先選擇,選擇優先順序最高的中斷請求作為中斷服務物件,並通過CPU引腳INT通知CPU
外中斷請求的到來,CPU響應後,晶片從資料匯流排D7~D0將程式設計設定的當前服務物件的中斷號送出,
CPU獲得相應的中斷向量值,執行中斷。
對核心來說,中斷訊號分為2類:硬體中斷和軟體中斷(異常)。每個中斷由0~255之間的一個數字標識。
2.3 Linux 系統定時