深入理解Linux核心 筆記

2022-07-22 15:21:25 字數 893 閱讀 8494

第一章、緒論

1.unix檔案可以是下列型別之一:

a.正規檔案(regular file)

b.目錄(directroy)

c.符號鏈(symbolic link)

d.塊裝置檔案(block-oriented device file)

e.字元裝置檔案(charactor-oriented device file)

f.管道(pipe)命名管道(named pipe)(即fifo)

h.套接字(socket)

2.核心分配給程序的虛擬位址空間由以下記憶體區域組成:

a.程式的可執行**

b.程式的初始化資料

c.程式的未初始化資料

d.初始程式棧(即使用者態棧)

e.需要共享的庫的可執行**和資料

f.堆(由程式動態請求的記憶體)

3.裝置驅動程式

核心通過裝置驅動程式(device driver)與i/o裝置打交道。裝置驅動程式包含在核心中,由控制乙個或多個裝置的資料結構和函式組成。

這些裝置包括硬碟、鍵盤、滑鼠和監視器等。通過特定的介面,每個驅動程式與核心中的其餘部分(甚至與其他驅動程式)相互作用:

優點:1.可以把特定裝置的**封裝在特定的模組中。

2.廠商可以不懂核心**,只知道介面規範,就能增加新的裝置。

3.核心以統一的方式對待所有的裝置,並且通過相同的介面訪問這些裝置。

4.可以把裝置驅動程式寫成模組,並動態裝到核心中,不需要重啟系統,不需要的時候可以解除安裝模組,

以減少儲存在ram中的核心映像大小。

第三章、程序

1.程序狀態:

a.可執行狀態

b.可中斷狀態

c.不可中斷的等待狀態

d.暫停狀態

e.僵死狀態

《深入理解LINUX核心》筆記(四)

每個能夠發出中斷請求的硬體裝置控制器都有一條名為 irq iinterpretrequest 的輸出線 80x86微處理器大約發布了約 20種不同的異常,核心必須位每種異常提供一種專門的異常處理程式 對某些異常,cpu控制單元會在執行異常處理程式前產生乙個硬體出錯碼 hardwareerror co...

《深入理解LINUX核心》筆記(五)

一種廣泛應用的同步技術就是加鎖 locking 當核心控制路徑必須訪問共享資料結構或進入臨界區時,就需要獲取 鎖 自旋鎖 spinlock 是用來在一種多處理器環境中工作的一種特殊的鎖 在單處理器系統上,這種鎖本身並不起鎖的作用,自旋鎖原語僅僅是禁止或啟用核心搶占 讀 寫自旋鎖的引入是為了增加核心的...

深入理解Linux核心 核心同步

核心基本的同步機制 搶占核心的主要特點 乙個在核心態執行的程序,可能在執行核心函式期間被另外乙個程序取代。核心搶占 linux 2.6允許使用者在編譯核心的時候配置十分啟用 程序臨界區 每個程序中訪問臨界資源 一次僅允許乙個程序使用的共享資源 的那段 稱為臨界區。優化屏障 保證編譯程式不會混淆放在原...