Linux發展史

適用對象:本文適合希望開始學習以及想了解Linux的朋友閱讀。本文中所有內容僅供參考,不作為科學依據。

一、      Linux的起源

最初的計算機其實是具有單一功能的大型計算器,只能完成指定或者設定好的工作。多數情況下計算機資源是處于空閑狀態的,為了不使資源浪費,就需要使計算機能夠或者可以進行多種工作?;蛘吣軌蜃尪鄠€用戶同時進行操作。因此就需要一種程序能夠讓多個用戶操作同一臺計算機或者在同一計算機上運行多個任務,這種程序就被稱為分時多任務操作系統。20世紀60年代末由貝爾實驗室、麻省理工學院、通用電氣公司發起分時多任務操作系統的研究開發工作,該系統被稱為Multics。由于歷時3年未出現明顯成果,該項目最終被解散。

1969年的時候,AT&T下屬的貝爾實驗室中研究員Ken Thompson為了能夠在已被廢棄的PDP-7機器上運行自己的小游戲,為PDP-7編寫了一套平臺,并被命名為UNICS。

早期的UNIX是由匯編語言編寫,向其它的機器上移植很困難。1971年Dennis Ritchie開發出能在不同平臺上使用的編程語言C語言。1973年Thmpson和Ritchie成功地用C語言重寫了整個Unics,并命名為UNIX。

1974年UNIX被發布在《美國計算機通信雜志上》,得到全世界計算機愛好者的關注。

1975年,AT&T被反壟斷組織調查,UNIX被免費提供給其他組織或機構進行研究學習,掀起了UNIX發展的高潮。

1975年-1976年期間Thmpson到伯克利大學任教,伯克利大學在此期間并啟動了自己的UNIX項目即BSD項目,該項目由Thmpson的學生Bill Joy管理。同時,在其他機構中其他基于UNIX的衍生版本也層出不窮。

1983年AT&T在反壟斷官司中敗訴,其公司被分拆成,貝爾實驗室借此擺脫不允許商業化經營Unix的限制,開始向此前研究使用Unix的機構收費,并與BSD陷入長達十年的版權之爭。與此同時,微軟公司的MS-DOS系統大肆發展,占據計算機操作系統的大部分市場。

1984年,Richard Stallman發表了GNU宣言(the GNU manifesto) [Stallman],目的是開放一個自由、開源的UNIX(Free UNIX),并發起了自由軟件基金會(Free Software Foundation)。由于工程量十分浩大,Stallman決定先編寫應用程序,如GCC,Emacs等出現。同時,大量的軟件開發人員及組織紛紛加入GUN組織。例如:X-Window。

1987年,荷蘭阿姆斯特丹大學的Tanenbaum教授為了使學生更好的學習操作系統原理,編寫了Minux。到1991年的時候版本已經發展到1.5版本。

1991年芬蘭赫爾辛基大學的學生Linus Torvalds在學習Minux的過程中逐漸覺得Minux系統有很多的限制。為了學習Intel 386 體系結構保護模式運行方式下的編程技術,他通過修改終端仿真程序和硬件驅動程序,開始編制起自己的操作系統。并于1991年10月將自己的Linux內核(Linux  v0.01)發布至論壇上。由此,Linux開始進入發展時期。

二、      Linux的發展

最初,Linux只能運行在Intel 386機器上,后經過全世界程序員的參與修改,其可移植性大大提高。1995年的時候,Linux已經可以在Intel、Digital 以及Sun SPARC處理器上運行。

1995年,Apache服務程序的出現了。Apache是開源程序,遵循GPL協議。Linux也遵循GPL協議,兩者的結合,更是推動了Linux在服務器領域的發展速度。

1996年,Linux2.0內核發布,并支持多處理器。全球大約350萬人在使用Linux,Linux進入實用期。

1997年,電影《泰坦尼克號》上映。在為其制作特效中使用的160臺Alpha圖形工作站中,有105臺采用了Linux操作系統。

1998年,RedHat成立。IBM發布了適用于Linux的文件系統AFS 3.5以及Jikes Java 編輯器和Secure Mailer及DB2測試版。SUN也逐漸開放 了Java協議,并且在UltraSparc上支持Linux操作系統。

1999年,IBM與RedHat達成伙伴,以確保Redhat在IBM機器上正確運行。Oracle、Sun等大批公司投入力量支持Linux,并開發出自己的Linux系統。隨著其他機構和個人的進入,基于Linux的各種衍生版層出不窮。

         經過十幾年的發展,Linux得到了IBM、HP、Novell、Oracle等諸多廠商的支持,占據了服務器操作系統領域百分之八十以上的市場。

原創文章,作者:jacklei,如若轉載,請注明出處:http://www.www58058.com/51035

(0)
jackleijacklei
上一篇 2016-10-14 11:40
下一篇 2016-10-14 11:41

相關推薦

  • 三種方案實現tomcat反代服務

    要求: 分別實現這三種架構:    1、nginx + tomcat cluster    2、httpd(proxy_http_module)+tomcat cluster    3、httpd(proxy_ajp_module)+tomcat cluster;   &nbsp…

    2017-07-03
  • gzip壓縮輸出

    一、gzip介紹          gzip是GNU zip的縮寫,它是一個GNU自由軟件的文件壓縮程序,也經常用來表示gzip這種文件格式。軟件的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號是0.1,目前的穩定版本是…

    Linux干貨 2015-07-29
  • 0809vim編輯器作業

    1、如何設置tab縮進為4個字符? :set tabstop=4 首先在命令擴展模式下列出所以set設置的相關選項set all  找到一個跟tab相關的選項,上網查了下意思,tabstop表示的意思就是制表為,他的默認值設置的為8,我們目的是4,那么在命令擴展模式下設置:set tabstop=4就OK了 2、復制/etc/rc.d/init.d…

    Linux干貨 2016-08-09
  • 設計模式(一)工廠模式Factory(創建型)

      在面向對象編程中, 最通常的方法是一個new操作符產生一個對象實例,new操作符就是用來構造對象實例的。但是在一些情況下, new操作符直接生成對象會帶來一些問題。舉例來說, 許多類型對象的創造需要一系列的步驟: 你可能需要計算或取得對象的初始設置; 選擇生成哪個子對象實例; 或在生成你需要的對象之前必須先生成一些輔助功能的對象。 在…

    Linux干貨 2015-06-23
  • 6個變態的C語言Hello World程序

    下面的六個程序片段主要完成這些事情: 輸出Hello, World 混亂C語言的源代碼 下面的所有程序都可以在GCC下編譯通過,只有最后一個需要動用C++的編譯器g++才能編程通過。 hello1.c   #define _________ }     #define …

    Linux干貨 2015-04-01
欧美性久久久久