linux內核學習從零單排(一)

guanxi@Ubuntu11:~$ uname -a
Linux Ubuntu11.10-b409 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux

本人所用linux系統版本號。

從http://www.kernel.org/網站上下載自己對應的內核版本源碼,解壓縮,不重新編譯。內核源碼輸由很多目錄組成,arch,block,crypto,Documentation....,大多數目錄又含有更多子目錄。

準備選取的參考書有:《Linux內核設計與實現》第三版,《深入理解 Linux內核》第三版。先從《Linux內核設計與實現》這本書開始看。

每週至少保證10個小時內核學習時間,並持續更新博客。


內核開發的特點:

1,既不能訪問C庫也不能訪問標準C頭文件

2,必須使用GNU C

3,無內存保護機制

4,難以執行浮點運算

5,給每個進程只有一個很小的定常堆棧


linux進程創建:通過fork() 和exec()兩個函數實現。 fork通過拷貝當前父進程創建一個子進程,exec負責讀取可執行文件並將其載入地址空間開始運行。linux通過clone()系統調用實現fork().


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章