1. 程式人生 > >《Linux系統》之"皮毛系列"(一) Linux系統的簡介與歷史發展

《Linux系統》之"皮毛系列"(一) Linux系統的簡介與歷史發展

一、Linux系統的簡介

Linux是一套免費使用和自由傳播的類Unix作業系統,是一個基於POSIX和UNIX的多使用者、多工、支援多執行緒和多CPU的作業系統。它能執行主要的UNIX工具軟體、應用程式和網路協議。支援32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多使用者網路作業系統。

Linux存在著許多不同的Linux版本,但它們都使用了Linux核心。Linux可安裝在各種計算機硬體裝置中,比如手機、平板電腦、路由器、視訊遊戲控制檯、臺式計算機、大型機和超級計算機。

嚴格來講,Linux作業系統指的是“linux核心+各種軟體”,Linux這個詞只表示Linux核心,但實際上人們已經習慣了用Linux來形容整個基於Linux核心,並且使用GNU 工程各種工具和資料庫的作業系統。

二、Linux的由來

1、想法誕生

眾所周知,linux核心是林納斯·託瓦茲(Linus Torvalds)最先設計的。在1988年,託瓦茲進入了赫爾辛基大學,選讀了計算機科學系。在學校期間,因為學業的需要與自己的興趣,接觸到了unix這個作業系統。當時整個赫爾辛基只有一部最新的UNIX系統,但是仍然很難滿足託瓦茲的需求。為此,他就想到自己寫一個類unix作業系統。不久之後,託瓦茲又瞭解到,譚寧邦教授為了教育需要而編寫的Minix系統。讓自己的想法更加堅定。

2、著手設計

1991年初,林納斯·託瓦茲購買了最新的intel 386的個人計算機,安裝了Minix系統,開始學習minix作業系統。經由Minix系統的原始碼學習到了很多的核心程式設計的設計概念。1991年4月,林納斯·託瓦茲開始醞釀並著手編制自己的作業系統。

3、分享與修改

當他發現自己的寫的東西真的可以在386上面順利執行,並且可以讀取Minix的檔案系統後,他將這個核心程式放置在當時芬蘭最大的ftp網路上供大家下載,同時在BBS上面貼了一則訊息,希望能獲得大家的一些修改建議。因此當用戶在安裝使用時,發生問題,會反饋給託瓦茲。在託瓦茲能夠解決的問題範圍內,他能很快速的進行linux核心的更新和排錯。

同時為了讓自己的Linux能夠兼容於UNIX系統,並讓所有的軟體都可以在Linux上執行,於是託瓦茲開始參考標準的POSIX規範。

POSIX是可攜式作業系統介面((Portable Operating System Interface))的縮寫,重點在於規範核心核心與應用程式之間的介面,這是由美國電氣與電子工程師學會((IEEE))所釋出的一項標準喔!

4、廣大愛好者的加入

一個人的力量畢竟是有限的。有些硬體託瓦茲無法取得,因此無法編寫相關驅動程式,這個時候,就有志願者站出來幫忙寫驅動程式。而且託瓦茲這個人還特別務實。只要經測試可以執行後,就會將這些程式程式碼加入到核心中。因為這樣的狀況,linux的開發逐漸模組化,可維護性也大大增加。

後來,因為Linux核心加入了太多的功能,光靠託瓦茲一個人進行核心的實際測試並加入核心源程式實在太費力,於是,就有很多的朋友跳出來幫忙。例如考克斯(Alan Cox)、與崔迪(Stephen Tweedie)等,這些重要的副手會先將志願者的修補程式或者新功能的程式程式碼進行測試,並且將結果上傳給託瓦茲看,讓託瓦茲做最後核心加入的原始碼的選擇與整並!這個分層負責的結果讓Linux的開發更加容易!

特別值得注意的是,這些託瓦茲的Linux開發副手,以及自願傳送修補程式的黑客志願者,其實都沒有見過面,而且彼此分佈在地球的各個角落,大家群策群力共同開發出現今的Linux。

5、linux正式版的釋出

這群素未謀面的虛擬團隊,在1994年終於完成了Linux的核心正式版Version 1.0。程式碼量達17萬行。這一版同時還加入了X Window System的支援!此外,託瓦茲指明瞭企鵝為Linux的吉祥物。

1996年6月,Linux 2.0核心釋出,此核心有大約40萬行程式碼,並可以支援多個處理器。此時的Linux 已經進入了實用階段,全球大約有350萬人使用。

三、Linux開枝散葉

1、不同distribution的產生

因為linux加入了gnu計劃,所以,任何人均可取得原始碼和可執行這個核心程式,並且可以修改。並且由於GNU的GPL授權並非不能從事商業行為,因此很多商業公司和團隊便專門來開發自己的linux distribution。比較出名的有Red Hat,SuSE,Ubuntu,Fedora,Debian,CentOS等。

2、不同distribution的支援標準

很多人不免擔心,這麼多distribution會不會都不相同呢?我可以告訴大家,無需擔心,因為這些版本使用的都是同一個核心,而且還有Linux Standard Base(LSB)以及目錄架構的File system Hierarchy Standard(FHS)標準規範等一些標準來規範開發者,它們的唯一差別可能就是該開發者自家所開發出來的管理工具以及套件管理的模式。

所以說,基本上,每個Linux distributions除了架構的嚴謹度與選擇的套件內容外,其實差異並不太大。大家可以選擇自己喜好的distribution來安裝即可!

--------------------------------------------------------------------未完待續,歡迎留言-----------------------------------------------------------------------------