Jollen 的 Linux 核心分享包,#1: 《開工篇》

jollen 發表於 October 22, 2006 9:04 PM

Jollen 計畫在自己的 Blog 陸續與大與分享一些 Linux kernel 的研究心得,我們的寫作方向是以重點式的心得整理為主,不過希望加入一些教學性的風格,希望對大家有幫助。到目前為止,我們與大家分享了 Linux system call service 的幾篇日記,接下來仍會再討論幾個系統服務。

故事是這樣開始的

「Linux System Calls' Forum(LSCT)」旨在討論重要的系統服務(system service),以便將來我們能用最有效率的方式研究 kernel;「Jollen 的 Linux 核心分享包」則是在討論 Linux kernel 與作業系統有關的主題,方向是「討論 kernel 實作」。

Jollen 打算以「講義配合 Blog 開講」的方式跟大家一起玩核心!「一份講義」會以多篇日記方式跟大家討論,這裡的講義是從以前的筆記、演講、內訓課程或是討論會節錄並整理而成(需要時當然也會重新編製),Jollen 打算以講義的形式來整理,因此可能並不適合當做「教材」來使用;因此,在與朋友分享這份講義的同時,也要請大家一同分享 Jollen's Blog 網站。

第一份講義請由本文最後的網址下載,在開始看 kernel 前,以下的準備工作是很重要的:

1. 準備一份 Linux 2.6.11 以上的 kernel source code。請參考以下的幾張投影片,大略了解 kernel code 的分佈與原始碼結構。
2. 準備 Source Insight。這個工具非常熱門,所以我想大家都己經有了!
3. 先備知識(enabling technology):作業系統原理是一定要啦。大家在學校都修過這門必修課,不過日記偶而也會提到參考章節,所以可以的話,也能準備一份在手邊。

發佈計畫

以目前的手稿整理狀況來看,大約會以一星期 1~2 篇日記的進度刊出,第一份講義計畫以 10 篇的篇幅來講解。

Kernel Source 結構

kernel_tree%20%281%29.JPG

kernel_tree%20%283%29.JPG

重要目錄:

  • System Call Interfaces: 實作程式碼散落於各目錄
  • Network System: net/ 目錄
  • File System: fs/ 目錄
  • Memory Management: mm/ 目錄, 一些 helper-routine 實作於 arch/ 目錄
  • Process Management: 大部份實作於 kernel/ 目錄
  • Interprocess Communication: ipc/ 目錄
  • Device Drivers: drivers/ 目錄
  • SELinux (Security Enhanced Linux): security/ 目錄 (only kernel 2.6 or kernel 2.4 for mobile phone)

下載講義

本系列專欄旨在銜接以下的文章

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw