感受開源底層技術的樂趣

 
 

也許你不必開發自己的操作系統,但如果你真想體驗一下底層技術開發帶給你的快樂,你就很有必要參與一下編譯操作系統內核的工作。因爲只有如此,你纔可能真的精通一個操作系統。早在2000年,國內開源軟件的早期倡導者宮敏先生就給出了這樣的建議。


     
  Linux內核發展簡史
1991年9月,Linux 0.01誕生,更確切地說,是0.01版的Linux內核誕生了。1994年3月,Linux 1.0推出,Linux內核開始真正成形。1996年6月,Linux推出了2.0版本的內核,從此Linux的大版本就沒有改動過。2001年1月,Linux 2.4推出。2003年12月 ,Linux2.6推出。至本月,Linux內核又發佈了2.6.12版本

Linux內核發展到了2.4的版本,已經是一個較爲成熟的版本了。支持所有64位處理器、面向企業、全方位整合系統資源、需要更少內存的Linux 2.4內核完整版,將爲人類打開一個美麗的新世界。
解密Linux內核2.4

2.6相對於2.4有很大的改動;它引入了許多新的特性,同樣也去除很多過時的特性。它在哪些方面有大的改動?它對Linux的開發人員以及其他層面的Linux用戶可能有什麼樣的影響?閱讀此文,你將得到答案。
Linux 2.6內核的精彩世界(一)
Linux 2.6內核的精彩世界(二)
Linux 2.6內核的精彩世界(三)
Linux 2.6內核的精彩世界(四)

     
  基本技能
要使用新的內核首先當然要取得新內核的源碼,內核的官方網站是http://www.kernel.org 在上面可以得到最新的內核。下載了內核源碼之後,我們還要提取源碼,然後才能進入編譯的過程。
2.6內核的安裝(一)
2.6內核的安裝(二)

配置與編譯內核用到的工具很多,在這裏只對幾個關鍵工具進行介紹:Make、GCC、RPMBuild、中間件。
linux配置、編譯內核實用工具

     
  編譯實戰
由於操作系統的內核貼近硬件,需要對計算機的體系結構有所瞭解,例如CPU的工作原理、接口特性和BIOS調用等。讀者千萬別因爲這些望而卻步,這裏將介紹一些閱讀Linux內核源碼必備的技能。
看Linux內核源碼 練內力必備技能

對於用戶,編譯一個內核版本需要的不僅是升級內核和軟件那麼簡單。一般來說,編譯後的內核都能很好地工作,但是有些功能在初始化時(準確地說是在系統初始化階段,即init執行rc.sysini和rcx.d時)會失敗。
內核編譯問題詳解

在Kernel 2.6x和以前的版本的編譯方法有點區別,所以就簡單的把編譯過程寫出來,主要是幫助初學Linux的兄弟。
Kernel 2.6x 編譯過程

編置內核包含兩大項內容,即配置內核和編譯內核。這兩項工作需要經常查看內核的文檔,至少要查看Readme文件和Documentation目錄下的Changes文件。它們對內核進行了描述,比如升級內核可能出現的問題和內核對系統中工具的版本要求等。Linux內核的編制方法下面將做具體說明。
Linux配置與編譯內核

linux-2.6.x內核發佈後,與2.6.x內核配套的系統程序並沒有相應的來得及更新, 升級過程會碰到很多問題。雖然網上已有很多關於升級到2.6.x文章,但總是有些細節沒有作很好的總結,因此撰寫本文將我的經驗與大家分享一下。
升級RH9.0到2.6.5內核全過程

配置和編譯內核很複雜嗎?如果對你來說答案是肯定的,那麼來試試看圖說話式的教學方法吧。
Linux 2.6內核編譯安裝全景體驗(上)
Linux 2.6內核編譯安裝全景體驗(中)
Linux 2.6內核編譯安裝全景體驗(下)

     
  提高篇
linux是一個具有保護模式的操作系統。它一直工作在i386 cpu的保護模式之下。
內存被分爲兩個單元: 內核區域和用戶區域。內核區域存放並運行着核心代碼,當然,顧名思義,用戶區域也存放並運行用戶程序。當然,作爲用戶進程來講它是不能訪問內核區域內存空間以及其他用戶進程的地址空間的。
關於Linux內核級後門的原理和簡單實戰

自動軟件測試讓您可以在一段時間內運行相同的測試,從而確保您所比較的內容具備真正的可比性。在本文中,Linux Test Project 團隊的成員們分享了他們對 Linux? 內核進行壓力所使用的測試的方法、原理以及腳本和工具。
對 Linux 內核進行壓力測試

推薦學習網站:http://www.oldlinux.org/index_cn.html,收集Linux從醞釀到開發初始版本有關的所有資料和信息(1991-1995);重新建立起最古老的Linux可運行系統,這些系統在其它地方很難再找到了;爲初學者提供一個學習Linux內核基本工作原理的最簡單方法。


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=425381

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