|
|
Linux 歷史簡介 |
|
|
|
由於版權問題,Unix 的源碼不再適用於教學,1987 年 Andrew Tanenbaum 遂寫了 MINIX 作為教學的工具,MINIX 的意思為 mini-Unix,它是一個簡化的作業系統,適合入門者學習作業系統,因為簡單,剛開始時獲得眾人的青睞,但好景不長,原因是它過於簡單反而不切實用。 1991 年,Linus Torvalds 開始使用 MINIX,他對 MINIX 提供的功能不滿意,自行發展 Linux,他把 Linux 的原始碼放在 Internet 上,允許人們自由使用 (under GNU Public License)。Linux 是第一個完全免費的 Unix,很快地,許多人開始修改及加強 Linux,如今,Linux 除了可以在原先設計的 Intel x86(x>=3) 上執行外,它也被移植到 Alpha, Sun Sparc, Motorola 68K, MIPS, PowerPC 等等的平台上。 由於 Linux 提供和 Unix 類似的介面,因此,在資源的抽象化上及資源分享的型式上就必須和 Unix 相同,它和其它Unix不同的地方在於實作這些介面時所使用的資料結構及演算法。 Linux 是一個多工的作業系統,許多程式可以一次讀到記憶體內,作業系統執行某個程式一陣時間後,就會切換去執行另一個程式。所以記憶體是被空間分割,分成數個區塊,每個區塊稱為 memory partition,內含一個隨時可以執行的程式。CPU 是被時間分割,每段時間執行一個在記憶區塊內的程式,時間到了便切換到另支一程式。在 Intel x86 平台上,CPU 每秒約切換100次,在 Alpha 平台則切換約 1024 次,這些切換次數可依需要而修改,大致而言,降低切換次數會使諸如鍵盤,mouse 的反應變慢,但應用程式執行的效率會提高,相反地,如果提高切換次數則會使程式的執行變慢,因為更多的 CPU 時間被用來切換程式。 Linux 核心和傳統的 Unix 一樣,是屬於集成式的作業系統核心 (monolithic kernel),和目前流行的微核心 (microkernel) 不同。它們將行程管理,記憶體管理和檔案系統包在一起,成為一個單一的可執行檔,而週邊硬體裝置管理則另外分開,成為一組驅動程式,每一個驅動程式的目的是控制某一類型的硬體裝置,例如控制軟碟機。這種設計是為了降低核心更動的頻率,不必為了新硬體裝置更改核心,而且驅動程式也比較好寫。但是 Linux 核心的進步非常迅速,這種設計反而不利於核心的實驗更新,為了克服這個缺點,Linux 提出模組 (module) 機制,這是種軟體容器,它和核心的介面要比傳統 Unix 的驅動程式來的有彈性,可以用來提供新功能給核心,當然也適用於寫驅動程式。 1-1 Linux 的起源 Linux是一套 Unix-like 的多人多工作業系統,她的操作方式與所提供的環境甚至是程式發展的環境幾乎與Unix如出一轍。各種版本的Unix幾乎都是價格昂貴的;而Linux卻是免費的,並且還有上千種的GNU(Gnu’s Not Unix)軟體、各種伺服器軟體,都是免費的。 Linux起源於1991年10月初由芬蘭的一位大學生Linus Torvalds,撰寫了Linux核心程式0.02版開始的,自此之後,Linux的發展是由網路上熱心的網友們,以愛好Linux的熱忱撰寫系統所需的程式,並且不斷的修改系統Bug及維護整個系統,目前的系統核心已發展到 2.2.x 版本。 1-2 Linux 的發展 Linux的發展模式,原本是由熱心的網友多方拼湊系統的程式而成的,如此的發展方式使得系統顯得凌亂、沒有結構性、系統穩定性也不足、系統安全性也不夠,但是卻也因此促成Linux的蓬勃發展,因為任何人都可依據自己的需求修改或發展程式、模組,例如:一位美國大學生可能為了需要安裝一片新的顯示卡,因而寫了安裝此顯示卡的模組,並將這個顯示卡模組免費的發散於網路上供大家使用,若您覺得這個模組程式不夠完備,您可自己動手更改,再將修改後的模組程式提供在網路上供大家使用,可想而知,Linux是如何的快速蓬勃發展。這種軟體發展方式就是所謂的「自由軟體」發展模式,「自由軟體」是流放在網路上供大眾下載的免費軟體,通常她提供原始碼與可執行檔,鼓勵使用者可以任意的拷貝、修改讓程式能符合自己的需求,若您將自由軟體改良後出售牟利也不會觸犯刑罰,不過如此健會違反自由軟體的創作精神。 早期的Linux雖然改版速度極快(幾乎每星期都有新的系統核心更新程式出現),且以免費的型態發布於網路上供大夥下載使用,但是總是被視為實驗室裡類似Unix的玩具,但隨著「自由軟體」的風潮逐漸盛行起來,漸漸的有專業的免費軟體組織(如:GNU、Gnome、Samba、Apache)及商業化的Linux軟體公司(如:Redhat、Suse、Cadera)負責維護及發展Linux系統。如今Linux已不再是實驗室裡的寵兒,而是發展成能在許多應用領域裡獨挑大樑的成熟作業系統,無論在工程、繪圖、網路伺服主機等方面都是Linux發揮超強能力的舞台,例如:風靡全球的電影鐵達尼號,電影中的雲彩、海水、煙囪所冒出的煙就是使用200台SGI + 150 台安裝Redhat 4.2的 Alpha 機器執行繪圖軟體所繪出的結果。又如美國太空總署NASA也選用Linux做為工作站作業平台,更令人感到欣慰的是,墨西哥的中小學接受Redhat 公司的贊助採用Redhat Linux作業系統做為學校學生的電腦工作平台(原因無他,因為Windows 9x需要極高的授權費用),或許您會質疑採用Linux做為一般的工作平台形嗎?事實上Linux 所提供的數千種各類的免費軟體足夠您業務上的需要,例如:電子郵遞、遊戲、電子傳真、多媒體撥放工具、文書處理、數位影像繪圖、資料庫、各類伺服軟體、網路工具軟體,只要您想得到的軟體工具,Linux大體上都免費供應,當然專業型的軟體(類似Office軟體)還是需要費用的,不過售價遠比Windows下的軟體便宜。 愈來越多知名的商業軟體公司也逐漸轉移到Linux 平台上發展軟體,如:IBM、Netscape、Sybase、Informix、Visual Work,最近(1999年3月之後)軟硬體界的大老們Itel、IBM、Compaq、Novell、Oracle 也對 Redhat 投入資本發展 Linux 軟體加速推動Linux的成功,而 IBM 更是以Redhat Linux為作業平台,出售網路伺服主機、工作站、商用機器、筆記型電腦,HP、Compaq、宏�眲�國廠在網路伺服主機也逐漸以Linux做為作業平台。 似乎Linux的發展是欣欣向榮,的確是如此,試想在現今各行各業都不景氣的情況下,在電腦硬體及軟體上節省投資成本及日後維護費用是相當必要的事情,尤其現今網路盛行,網路交易與網路購物將是未來的走向,而Linux 所提供的成千上萬免費軟體及穩定的系統效能,相信是企業界、商業界與教育界節省軟體成本的最佳利器。 有人對Linux質疑,認為免費的軟體等於品質低劣的軟體,既沒有售後服務,又沒有專人維護系統的Bug,這樣的想法對Linux、FreeBSD此類的免費作業系統是行不通的,因為現今幾類重量級的Linux(Redhat、Suse、Cadera)都是以商業公司的型態經營,雖然這些商業版Linux 是要費用的,但通常都是價廉物美,事實上購買商業版Linux的價格還是遠低於 Windows系列,若您不想購買原版光碟,也可以上網下載免費版本的Linux,不過下載Linux並不提供技術支援與操作手冊,而您下載所花的時間與費用還不如購買一片100、200元的平裝版Linux。 |
|