Linux核心設計與實現 從核心出發

2021-09-26 09:37:35 字數 1089 閱讀 1108

使用補丁

原始碼樹根目錄中的很多檔案值得提及。

配置項會被存放在核心**樹根目錄下的.config檔案中,可以查詢和修改核心選項,修改後或者在用已有的配置檔案配置新的**樹的時候,應該驗證和更新配置:

make oldconfig

編譯核心之前都應該這麼做

配置選項config_ikconfig_proc把完整的壓縮過的核心配置檔案存放在/proc/config.gz下,可方便轉殖配置。若核心啟動了config_ikconfig_proc,就可以從/proc下複製出配置檔案並且使用它來編譯乙個新核心

zcat /proc/config.gz > .config

make oldconfig

核心配置好之後,使用make編譯

內聯函式

內聯彙編

分支宣告

if

(error)

​ 如果想要把這個選擇標記成絕少發生的分支:

/*我們認為error絕大部分時間都會為0...*/if(

unlikely

(error)

)

​ 相反,如果我們想把乙個分支標記成通常為真的選擇:

/*我們認為success通常都不會為0...*/if(

likely

(success)

)

核心很容易產生競爭條件。和單執行緒的使用者空間程式不同,核心的許多特性都要求能夠併發地訪問共享資料,這就要求有同步機制以保證不出現競爭條件,特別是:

開始學習到好多新接觸的知識啦,等實習結束回到學校盡量就拿板子上手多練習吧,加油加油!!

Linux核心設計與實現 從核心出發

使用補丁 原始碼樹根目錄中的很多檔案值得提及。配置項會被存放在核心 樹根目錄下的.config檔案中,可以查詢和修改核心選項,修改後或者在用已有的配置檔案配置新的 樹的時候,應該驗證和更新配置 make oldconfig 編譯核心之前都應該這麼做 配置選項config ikconfig proc把...

linux核心設計與實現 核心同步介紹

小結 核心同步方法 順序和屏障 第10章 核心同步方法 臨界區 訪問和操作共享資料的 競爭條件 兩個執行執行緒有可能在同乙個臨界區中同時執行。同步 避免併發和防止競爭條件。鎖的形式和鎖的粒度各不相同,各個鎖機制之前的主要區別在於 當鎖被其他執行緒持有時,其他的行為表現。造成併發執行的原因 使用者空間...

Linux核心設計與實現 10 核心同步介紹

臨界區 就是訪問和操作共享資料的 段。如果兩個執行執行緒有可能處於同乙個臨界區中同時執行,如果這個情況發生了,就叫做競爭條件。避免併發和防止競爭條件稱為同步。我們必須在某些操作期間對資料加鎖,確保每個事務相對其他操作是原子性的,這樣的事務必須完整地發生,要麼乾脆不發生,但是決不能打斷。對於單個變數的...