Linux 發展史
說明
此前對linux認識模糊一知半解,近期通過學習將自己對于linux的發展總結一下方便大家日后的學習。那Linux是目前一款非?;馃岬拈_源操作系統,可是linux是什么時候出現的,又是因為什么樣的原因被開發出來的呢。以下將對linux的發展歷程進行詳細的講解。
目錄
一、Linux發展背景
二、UINIX的誕生
三、UNIX的重要分支-BSD的誕生
四、Minix的誕生
五、GNU與Free Software Foundation
六、Linux應時而生
七、linux發展圖構
注釋
一、Linux發展背景
自從20世紀40年代計算機誕生以來,它就以異乎尋常的速度發展著,但早期的硬件發展速度要遠遠高于軟件的發展速度。這時操作系統雖已出現,但應用得還比較少,運行在計算機里的程序大多是為了實現某種特定的功能而編制的。程序員需要對計算機內部各種設備的原理具有很深的了解才能夠寫出所需要的程序。雖然如Fortran等高級語言已經出現,但程序員很多仍使用機器語言或匯編語言編制程序,這時只有極少數人才能夠掌握程序的開發。
直到第三代集成電路計算機(1964-1971)時代的到來,操作系統才被越來越廣泛地用于計算機內部。操作系統事實上就是對計算機各種資源(設備)的一種抽象。這些資源(設備)包括CPU(Central Processor Unit)、主存(Main Memory)、輔存(Secondary Memory)、鍵盤(Keyboard)和顯示器(Monitor)等,并在此基礎上提供一系列服務(比如文件系統)。程序員可以通過調用操作系統所提供的編程接口獲得服務、對各種資源方便地進行訪問,從而開發出實現特定功能的應用軟件,提供給最終用戶(end user)。因此這一時期涌現出更多的程序員、分析員和計算機系統專家,軟件行業也得到了極大的發展。而對于最終用戶而言,他們對應用軟件的興趣遠遠高于操作系統本身,在他們看來,操作系統幾乎是透明的。這時的操作系統已由早期的單用戶作業操作系統發展成多用戶多任務的分時操作系統。也就是說,多個用戶可以通過多個終端同時訪問計算機資源。盡管一臺計算機物理上只有一套處理器、內存和輔存等資源,但是通過分時機制,每個用戶都會擁有一套虛擬的資源,就好像每個用戶都擁有一臺單獨的計算機。
二、UINIX的誕生
1964年在Bell貝爾實驗室①、MIT麻神理工學院②、GE美國通用電氣公司③共同參與研發的 Multic(MUL Tiplexed information and comuting system),是一套多人多任務的操作系統,后來因為計劃進度落后,資金短缺,宣告失敗。
Unics 此后在復雜的Multics計劃失敗后,曾經參與該計劃的湯姆遜(kenneth lane thompson)正在制作一款名為“星際旅行”的游戲程序,因為一些工作需求與1969年億DEC公司的計算機PDP-7為硬件基礎,設計出unics。該系統就是最早期的UNIX的源頭。
由于湯姆遜的操作系統的實用性,此后unics系統在貝爾實驗室內廣為流傳,并且經過多次改版后于1973年將unics利用更好地C語言將unics核心改寫。從此unics正式改名為UNIX。
三、UNIX的重要分支-BSD的誕生
在unix的早期發展中,有一件相當重要的事情,那就是BSD的誕生。由于C語言是一種高級語言,它可以被應用在不同的硬件架構上,而Unix本身也是由C語言寫成的!在Unix發表之后,伯克利大學(Berkeley)的教授對于這個操作系統相當感興趣,在經過取得Unix的原始碼,并且幾經修改之后,終于在1977年發表了第一代的BerkeleySoftware Distribution(BSD)。這個BSD是Unix的一個分支,它的發展對于Unix有相當大的影響,例如后來的Sun公司就是使用BSD發展的核心進行自己商業的Unix版本的發展的。
四、Minix的誕生
由于UNIX高可移植性、強大性能、無版權糾紛,商業公司開發UNIX操作系統,推出自家的主機搭配“自家”的UNIX操作系統。這些公司開發的硬件沒有遵循統一的協議④(當時沒有),開發的UNIX操作系統及相關軟件只能在自家硬件架構的主機上運行。這些公司有:AT&T、IBM、HP、DEC、Sun、Cray等。1983年AT&T推出的System V第七版UNIX,支持x86架構的個人計算機,后來AT&T出于商業考慮,發行其第七版UNIX時,提出“不可對學生提供源碼”,即要將UNIX版權收回。
由于AT&T的政策改變,在Version 7 Unix推出之后,發布新的使用條款,將UNIX源代碼私有化,在大學中不再能使用UNIX源代碼。Andrew S. Tanenbaum教授為了能在課堂上教授學生操作系統運作的實務細節,決定在不使用任何AT&T的源代碼前提下,自行開發與UNIX兼容的操作系統,以避免版權上的爭議。他以小型UNIX(mini-UNIX)之意,將它稱為MINIX。
五、GNU與Free Software Foundation
由于Unix在商業上面的問題讓許多Unix喜好者感到憂心,其中一個就是有名的Richard M. Stallman先生。他認為,Unix是一個相當好的操作系統,在這個系統上面,如果大家能夠將自己所學的貢獻出來,那么這個系統將會更加的優異。Stallman先生認為最大的快樂就是讓自己開發的好軟件讓大家來使用。而且,由于每個人的工作環境(指軟硬件平臺)可能都不太相同,所以,他也強調應該要有Open Source的概念,讓大家都能夠分享彼此的心得。他認為,有了Open Source之后,個人開發的程序將有很多的人可以幫忙檢驗,將使得Unix社群更加的茁壯。為了自己的理想,Stallman在1984年創立了GNU與自由軟件基金會(Free Software Foundation,FSF),并創作了許多“自由軟件”供大眾來使用。并且,對于其作品以自由(free)的GNU GeneralPublic License (GPL)⑤的授權模式提供大眾使用。FSF的核心觀念是“版權制度是促進社會進步的手段,版權本身不是自然權力”。而且,Stallman的GNU General Public License一直強調Free這個字眼。他是這樣說的:"Freesoftware" is a matter of liberty, not price. To understand the concept,you should think of "free speech", not "free beer"."Free software" refers to the users freedom to run, copy, distribute,study, change, and improve the software。大意是說,自由軟件并不是指“免費”的,而是指具有“自由度,freedom”的軟件,什么是自由度呢?也就是你在取得這個軟件之后,可以自由地進行修改、進一步發表或復制在不同的計算機上。這無疑是個好消息,因為如此一來,你所拿到的軟件可能原先只能在Unix上面運行,但是經過原始碼的修改之后,你將可以拿他在Linux或者是Windows上面來運行。
六、Linux應時而生
在后來的幾年內,由于計算機硬件工業的強力運作,以intel主導的x86系統架構的個人計算機大行其道,個人計算機算是相當流行的一個機器了!但在此時,人們使用的大多還是需要吃很多系統資源的DOS系列或其它的操作系統。此時,芬蘭的郝爾辛基大學 (Helsinki)的一位名叫Linus Torvalds的學生做了件不尋常的事情。Linus手邊有個Minix系統(這也是 Unix的分支),他對這個操作系統相當的有興趣。此外,由于當時他正好買了一部386的計算機,所以他就想將Unix移植到個人計算機(X86架構)來使用。受Stallman提倡的Open Source運動的影響,他得以接觸到一些source code。在他的努力下,他將Unix改寫成可以適用于一般個人計算機的操作系統,到了1991年,他終于將0.02版的hobby放到網絡上面供大家下載,并且由于hobby受到大家的肯定,相當多的朋友一起投入這個工作中。終于到了1994年將第一個完整的核心Version 1.0開發完成,并取名Linux。
由于Linux kernel的發展是由“虛擬團隊”來完成的,大家都是通過網絡取得Linux的核心原始碼,經由自己精心改造后再回傳給Linux社群,進而一步一步的發展完成完整的 Linux系統,由于這個群策群力的緣故,Torvalds先生將Linux定為同樣造福大家的GNU授權模式。
至此,Linux誕生了,并在短時間內迅速風靡全球。
七、linux發展圖構
注釋:
① Bell 貝爾實驗室
美國貝爾實驗室是晶體管、激光器、太陽能電池、發光二極管、數字交換機、通信衛星、電子數字計算機、蜂窩移動通信設備、長途電視傳送、仿真語言、有聲電影、立體聲錄音,以及通信網等許多重大發明的誕生地。
② MIT麻神理工學院
麻省理工學院(Massachusetts Institute of Technology,MIT)是美國一所綜合性私立大學,位于馬薩諸塞州劍橋市。二次世界大戰后,麻省理工學院借由美國國防科技研究需要而迅速崛起。
③ GE 通用電氣
美國通用電氣公司(General Electric Company,簡稱GE,創立于1892年,又稱奇異公司,NYSE:GE),是世界上最大的提供技術和服務業務的跨國公司。
④ 協議
這里指硬件架構的通用生產協議,當時計算機硬件公司沒有該概念,因此所生產的硬件需要合適的UNIX系統。
⑤GPL
GPL 是General Public License的縮寫,是一份GNU通用公共授權非正式的中文翻譯。它并非由自由軟件基金會所發表,亦非使用GNU通用公共授權的軟件的法定發布條款─直有GNU通用公共授權英文原文的版本始具有此等效力。
原創文章,作者:秋季,如若轉載,請注明出處:http://www.www58058.com/50817
內容格式把握得很好,希望可以將這段發展史和幾個關鍵性時間點熟知,加油!