1. 程式人生 > >《深入理解linux核心》筆記(一)

《深入理解linux核心》筆記(一)

第一章:緒論

Linux 是真UNIX核心

Linux原始碼通常在/usr/src/linux目錄下

執行緒之間的上下文切換比普通程序之間花費代價少,因為前者通常在一個共同的地址空間執行

linux是非搶佔式核心,意味不能交錯執行處於特權模式下的流

X.x.x 第一個是版本號,第二個偶數是穩定核心,技術是開發版本,第三個是釋出號

大部分unix核心的體系結構是單模組,每個核心層被集合到整個核心中,並代表當前程序在核心態下執行

相反,微核心作業系統只需要一個很小的函式集,包括幾個同步原語,一個簡單的排程程式和程序間的通訊機制

微核心的好處:1.迫使程式設計師採用模組的方法,必須定義明確的軟體介面與其他層互動

2.容易移位,因為硬體相關部分被封裝在微核心程式碼中

3.比單模組更充分利用RAM,因為將暫不需要的系統程序終止

硬連結:包含在一個目錄中的檔名

軟連結(符號連結):短檔案,該檔案包含了第一個檔案的任意一個路徑名

每個檔案都有自己的inode(索引節點),檔案系統用來識別一個檔案

檔案潛在的使用者:檔案所有者、同組使用者(不包括所有者)、其他(所有剩下的使用者)

訪問許可權:讀、寫、執行

訪問許可權由九種不同的二進位制來標記

三種附加標記:suid   程序擁有者的UID

Sgid  程序組的GID

Sticky  用於定義檔案模式

mode指定新建立檔案的訪問許可權

開啟檔案物件包括:

*一個檔案操作的資料結構,如指向核心辦公區的緩衝區指標,這塊核心區存放將要拷貝來的資料;offset域(即所謂的檔案指標)表示檔案中當前的位置,於此開始進行下一個操作

*指向程序和被允許呼叫的核心函式的指標

當核心暫停一個程序的執行時,在程序描述符中儲存幾個處理器暫存器的內容,這些暫存器包括:

程式計數器(PC),棧指標(SP)暫存器

通用暫存器

浮點暫存器

包含CPU狀態資訊的處理器控制暫存器(PSW

用來跟蹤程序對RAM訪問的記憶體頁的暫存器

核心控制路徑表示由核心指標的指令序列,用來處理系統呼叫異常及中斷