第一章、緒論
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允許使用者在編譯核心的時候配置十分啟用 程序臨界區 每個程序中訪問臨界資源 一次僅允許乙個程序使用的共享資源 的那段 稱為臨界區。優化屏障 保證編譯程式不會混淆放在原...