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().