跳轉到內容

關於書籍 Linux 核心

來自華夏公益教科書


本書的標題頁和結構最初受到 Linux 裝置驅動程式書籍中“分割核心”文章的影響,該文章包含一個圖表。該圖表的多彩矩陣設計借鑑了“互動式 Linux 核心地圖”。此外,本書中資訊的層級化展示靈感來源於OSI 模型的層級。層級和功能的數量有意接近神奇的數字七

核心之上的使用者模式下的應用程式和庫可以與 OSI 模型的應用層相關聯。

上層:

使用者空間介面 - 核心的外觀。它主要由系統呼叫表示。它可以與 OSI 模型的表示層相關聯。
虛擬 - 為上層提供聚合的服務,以虛擬記憶體和虛擬檔案系統命名。類似於會話層

中間層:

橋接 - 管理互操作性,以橋接模式命名。類似於傳輸層
邏輯 - 提供邏輯實現。以邏輯記憶體、地址和邏輯檔案系統命名。類似於網路層

下層,類似於資料鏈路層

裝置控制 - HW 介面的抽象和控制。裝置類別。與 HW 無關的通用裝置。
硬體介面 - 直接 HW 介面。與 HW 相關的驅動程式。

處理、記憶體、儲存和網路功能看起來非常熟悉和明顯,而人機介面和系統功能需要一些解釋。人機介面功能涵蓋與人類使用者而不是基本計算相關的主題。顯然,HID(人機互動裝置)屬於此功能,因此名稱和多媒體也屬於此功能。字元裝置,儘管在系統和儲存中用作位元組流,也被分配給 HI。系統功能涵蓋基本和通用功能。核心的通用系統呼叫基礎設施在該功能下進行了描述。特定系統呼叫和介面在其他相應功能下進行了描述。

二維佈局而不是線性 TOC 佈局允許有效地組織書籍內容,索引現有文件和手冊頁。

這本書需要貢獻者。以下是指南

  1. 使文章完整、連續且引人入勝。
    • 修復錯別字並改寫。
    • 保持一致的格式。
  2. 透過用現代內容替換過時內容來保持資訊更新。
  3. 分享您關於核心的知識和經驗。
  4. 探索原始碼並對其進行描述。
  5. 為不完整的部分新增解釋。
  6. 從維基百科複製貼上文字。
  7. 使用模板新增指向外部資源的連結


段落模板

[編輯 | 編輯原始碼]

🔧 待辦事項

...


🗝️ 首字母縮略詞和/或關鍵詞

API – 應用程式程式設計介面
...


🖱️ GUI

man 1 git-gui – Git 的一個行動式圖形介面
...


⚲ APIs

man 1 intro – 使用者命令介紹
man 2 intro – 系統呼叫介紹
man 4 intro – 特殊檔案介紹
uapi inc – 使用者空間 API
man 2 syscall
entry_SYSCALL_64 id ↯ 呼叫層次結構
do_syscall_64id
...
...

🛠️ 工具

man 1 ls – 列出目錄內容
...


👁️ 示例

示例src
...


⚙️ 內部結構

printkid
核心src
...


🚀 高階功能

...


📖 參考資料

Linux 核心文件 doc
/proc/sys/kernel/ doc 文件
...


📚 進一步閱讀

https://lore.kernel.org/
LKML
linux-doc ML
KernelNewbies ML
...


💾 歷史

https://tldp.org/LDP/lki/
https://tldp.org/HOWTO/KernelAnalysis-HOWTO.html
https://kernel.linux.club.tw/doc/html/
...


感謝

華夏公益教科書