linux學習建議

linux學習建議

Linux是一種自由和開放源碼的類Unix操作系統。目前存在着許多不同的Linux,但它們都使用了Linux內核。Linux可安裝在各種計算機硬件設備中,從手機、平板電腦、路由器和視頻遊戲控制檯,到臺式計算機、大型機和超級計算機。Linux是一個領先的操作系統,世界上運算最快的10臺超級計算機運行的都是Linux操作系統。嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和數據庫的操作系統。Linux得名於計算機業餘愛好者Linus Torvalds。Linux操作系統是UNIX操作系統的一種克隆系統。它誕生於1991 年的10 月5 日(這是第一次正式向外公佈的時間)。以後藉助於Internet 網絡,並經過全世界各地計算機愛好者的共同努力下,現已成爲今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

Linux 操作系統的誕生、發展和成長過程始終依賴着以下五個重要支柱:UNIX 操作系統、MINIX 操作系統、GNU 計劃、POSIX 標準和Internet 網絡。

下面主要根據這五個基本線索來追尋一下Linux 的開發歷程,它的醞釀過程,最初的發展經歷。首先分別介紹其中的四個基本要素(UNIX、MINIX、GNU 和POSIX,Internet 的重要性顯而易見,所以不用對其羅嗦),然後根據Linux 的創始人Linus Torvalds 從對計算機感興趣而自學計算機知識,到心裏開始醞釀編制一個自己的操作系統,到最初Linux 內核0.01 版公佈,以及從此如何艱難地一步一個腳印地在全世界hacker 的幫助下最後推出比較完善的1.0 版本這段時間的發展經過,也即對Linux 的早期發展歷史進行詳細介紹。

目前,Linux的發行版有很多,如Ubuntu,RedHat,Debian,Fedora等等。Linux 操作系統是UNIX 操作系統的一個克隆版本。UNIX 操作系統是美國貝爾實驗室的肯·湯普遜pson和丹尼斯·裏奇Dennis Ritchie 於1969 年夏在DEC PDP-7 小型計算機上開發的一個分時操作系統。當時Ken Thompson 爲了能在閒置不用的PDP-7 計算機上運行他非常喜歡的星際旅行(Space travel)遊戲,在1969 年夏天乘他夫人回家鄉加利福尼亞渡假期間,在一個月內開發出了unix 操作系統的原型。當時使用的是BCPL 語言(基本組合編程語言),後經Dennis Ritchie 於1972 年用移植性很強的C 語言進行了改寫,使得UNIX 系統在大專院校得到了推廣。

Linux 操作系統的誕生1981 年IBM公司推出享譽全球的微型計算機IBM PC。在1981-1991 年間,MS-DOS操作系統一直是微型計算機上操作系統的主宰。此時計算機硬件價格雖然逐年下降,但軟件價格仍然是居高不下。當時Apple 的MACs 操作系統可以說是性能最好的,但是其天價沒人能夠輕易靠近。

到1991 年,GNU 計劃已經開發出了許多工具軟件。最受期盼的Gnu C 編譯器已經出現,但還沒有開發出免費的GNU 操作系統。即使是MINIX 也開始有了版權,需要購買才能得到源代碼。而GNU 的操作系統HURD 一直在開發之中,但並不能在幾年內完成。對於Linus 來說,已經不能等待了。從1991 年4 月份起,他開始醞釀並着手編制自己的操作系統。剛開始,他的目的很簡單,只是爲了學習Intel 386 體系結構保護模式運行方式下的編程技術。但後來Linux 的發展卻完全改變了初衷。

1991 年初,Linus 開始在一臺386sx 兼容微機上學習minix 操作系統。通過學習,他逐漸不能滿足於minix 系統的現有性能,並開始醞釀開發一個新的免費操作系統。根據Linux 在x 新聞組上發佈的消息,我們可以知道他逐步從學習minix 系統到開發自己的Linux 的過程。

從1991 年的4 月份開始,Linus 幾乎花了全部時間研究386-minix 系統(hack the kernel),並且嘗試着移植GNU 的軟件到該系統上(GNU gcc、bash、gdb 等)。並於4 月13 日在x 上發佈說自己已經成功地將bash 移植到了minix 上,而且已經愛不釋手、不能離開這個shell 軟件了。

第一個與Linux 有關的消息是在1991 年7 月3 日在x 上發佈的(當然此時還不存在Linux 這個名稱,當時Linus 的腦子裏想的可能是FREAX ,FREAX 的英文含義是怪誕的、怪物、異想天開等)。其中透露了他正在進行Linux 系統的開發,並且在Linux 最初的.時候已經想到要實現與POSIX(UNIX 的國際標準)的兼容問題了。

在Linus 的下一發布的消息中(1991 年8 月25 日 x),他向所有minix 用戶詢問"What would you like to see in minix?"("你最想在minix 中見到什麼?"),在該消息中他首次透露出正在開發一個(免費的)386(486)操作系統,並且說只是興趣而已,代碼不會很大,也不會象GNU 的那樣專業。開發免費操作系統這個想法從4 月份就開始醞釀了,希望大家反饋一些對於minix 系統中喜歡那些特色不喜歡什麼等信息,由於實際的和其它一些原因,新開發的系統剛開始與minix 很象(並且使用了minix 的文件系統)。並且已經成功地將bash(1.08 版)和gcc(1.40 版)移植到了新系統上,而且再過幾個月就可以使用了。

最後,Linus 申明他開發的操作系統沒有使用一行minix 的源代碼;而且由於使用了386 的任務切換特性,所以該操作系統不好移植(沒有可移植性),並且只能使用AT 硬盤。對於Linux 的移植性問題,Linus 當時並沒有考慮。但是目前Linux 幾乎可以運行在任何一種硬件體系結構上。

到了1991 年的10 月5 日,Linus 在x 新聞組上發佈消息,正式向外宣佈Linux 內核系統的誕生(Free minix-like kernel sources for 386-AT)。這段消息可以稱爲Linux 的誕生宣言,並且一直廣爲流傳。因此10 月5 日對Linux 社區來說是一個特殊的日子,許多後來Linux 的新版本發佈時都選擇了這個日子。所以RedHat 公司選擇這個日子發佈它的新系統也不是偶然的。