簡述Linux那些年–發展史

Linux發展史

作者:任飛鵬          日期:2016-10-13

Linux簡介:

Linux同Windows一樣,都是一套OS(操作系統)。Linux是一套開源的類Unix操作系統,可以免費使用和自由傳播。是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

Linux誕生于1991年10月5日(第一次正式對外公布)。嚴格意義上來說,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基于Linux內核,并且使用GNU 工程各種工具和數據庫的操作系統。發展至今,Linux已經發行了許多不同的版本,但是他們都是用了Linux內核。

鑒于Linux的穩定性能好,Linux被大量用于各種計算機硬件設備中,手機、平板電腦、路由器、視頻游戲控制臺、臺式計算機、大型機和超級計算機,甚至可以說所有的電子產品都與Linux有著千絲萬縷的關系。

Unix起源:

說到Linux就不得不提一提Unix。既然我們說到,Linux是一套類Unix的操作系統,所以不難看出二者之間的關系,可以說Linux起源于Unix。而談到Unix就有趣多了。

在計算機發展的初期,計算機都是大型機Mainframe,計算能力很強,但操作系統幾近于無,是所謂的批處理系統,單道批處理,用戶獨占。所以當時急需一套多任務、多用戶的操作系統。為此1964年由貝爾實驗室、麻省理工學院及美國通用電氣公司共同發起成立了Multics項目。由三所機構共同參與研發一套安裝在大型主機上的多人多任務的操作系統。很不幸,由于Multics目標太過于龐大,大家做了幾年后都不知道什么了,GE、Bell先后退出了該項目,項目也就以失敗告終。

不過,當時為了Multics項目,Bell實驗室招了一大批年輕人,其中一個叫Ken Thompson的年輕人在此期間研發了一款游戲Space Travel,當然游戲也是基于Multics的。但是項目失敗后,實驗室便不再給Ken提供用于開發Multics的PDP-11計算機。偶然間,ken在實驗發現了一臺閑置很久的PDP-7,既然沒人用,Ken就拿來研究游戲了。可是游戲需要運行在Multics平臺上,所以Ken就借鑒Multics的思想并將其簡化,寫出了一個文件系統FileSystem。然后把Space Travel移植到PDP-7上,并向同事兜售自己的游戲。可最后卻發現別人對他寫的游戲興趣缺缺,反而對他的文件系統很感興趣。而當時的Bell實驗室是不能出售任何與電話、電報無關的東西的,既然這么多人需要,那就需要無償的給他們,于是,Ken接下來的相當長的一段時間內開始給他人免費提供自己的系統。后來貝爾實驗室來了一個當時打印機排版的項目, Ken立刻將項目攔了下來,這樣便有了自己的PDP-11。

    不得不說Ken寫的那個操作系統實在太好用了,所以在 Bell 研究室內部廣為流傳,并且多次經過改版。到了1973年,Bell研究室的Dennis Ritchie 等人為了讓這個系統的執行效能更佳化,所以使用編譯效能更好的 C 語言將原有的1969年的那個系統核心大幅度的改寫,并且將操作系統命名為Unics,短小、精悍之類的意思,之后大家慢慢的將其讀為unix。最后,不得不說,游戲成就了Ken Thompson。

http://pic.baike.soso.com/p/20131203/20131203163458-314702683.jpg

Ken Thompson和Dennis Ritchie

Linux的誕生:

后來由于某些原因又發生了BSD(Berkeley System Distrubustion)和Bell十年的版權之爭。在此期間比爾蓋茨成立Microsoft,購買Unix后將其包裝改名為Xenix,大賺了一筆。后來又通過與IBM合作,在PC機上預裝自己的DOS系統大量銷售,大賺特賺了一筆。后來機緣巧合之下,比爾蓋茨從喬布斯那里“偷來”圖形界面,研發了Windows造作系統,至此Microsoft迅速發展至今。

終于,Novell收購Bell,十年官司和解。至此,如果要學習Unix,需要花費4萬美元購買操作系統,學生學習Unix將變得很難。為此一個歐洲教授Andrew自己模仿Unix寫了Minix操作系統,用于教學,但Minix還是不能移植到其他主機上,而世界各地的計算機愛好者對此很感興趣,希望將自己的代碼貢獻給Minix,以方便Minx的移植,但是卻被該教授固執的拒絕了。

而此時出生于芬蘭赫爾辛基市Linus Benedict Torvalds,在其二十歲生日的時候祖父給他買了一臺80386,可是當時Unix商業化了,而Minix卻是移植性問題,于是自己也寫了一個操作系統,Linux為了跟Minix顯示區別,Linux將操作系統放到網上,方便大家的應用,是開源的,也就是說,用戶可以自己定制,想怎么該就怎么改,而此時0.01版本。1991年的10月5日(這是第一次正式向外公布的時間),之后憑借Internet,并經過全世界各地的計算機愛好者為其貢獻自己的代碼Linux開始日益豐滿起來。Linus Benedict Torvalds后來也被稱為Linux之父。

http://h.hiphotos.baidu.com/baike/c0%3Dbaike116%2C5%2C5%2C116%2C38/sign=13e38289349b033b3885f48874a75db6/5882b2b7d0a20cf4f664615276094b36adaf9943.jpg

Linus Benedict Torvalds

GUN是什么:

GNU劃是“GNU is Not Unix”的縮寫,又稱革奴計劃,是由Richard Stallman在1983年9月27日公開發起的。它的目標是創建一套完全自由的操作系統。但GNU的內核尚未完成,所以GNU使用Linux作為其內核。GNU軟件是GNU計劃開發的軟件,該軟件可以充分利用計算機的硬件能力,比Unix中的同樣的軟件功能更強,因此非常流行,這些軟件在GNU通用公共許可的保護下允許任何人免費使用和傳播(但必須同時提供源程序),因此被大量的用在其他的Unix中。GNU和Linux以這樣的方式組合成為 GNU/Linux操作系統,所以我們現在所說的Linux操作系統實際上是Linux內核+GUN軟件組成的。

https://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Richard_Stallman_-_F%C3%AAte_de_l%27Humanit%C3%A9_2014_-_010.jpg/220px-Richard_Stallman_-_F%C3%AAte_de_l%27Humanit%C3%A9_2014_-_010.jpg

 

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

(1)
HulkHulk
上一篇 2016-10-19
下一篇 2016-10-19

相關推薦

  • RAID磁盤陣列

                           又是一周走過      &nbsp…

    2017-08-13
  • 初步了解計算機組成及Linux系統

    一、計算機的組成及其功能: 計算機主要由三部分組成: 輸入單元:包括鍵盤、鼠標、卡片閱讀器、掃描儀、手寫板等。 輸出單元使我們能夠將一些數據輸入到主機里,然后再由主機的功能處理成為圖表或文章等信息后,將結果傳輸到輸出設備,如屏幕或打印機上面。 中央處理器(CPU):其中包含算數邏輯、控制、記憶等單元。 CPU作為一個具有特定功能的芯片,里面含有微指令集,如果…

    Linux干貨 2017-09-24
  • 瀏覽和管理log文件

    瀏覽和管理log文件 log文件是一種包含系統消息的文件,包括內核、服務和應用運行在其上。不同的日志文件對應不同的日志信息。例如,默認的系統log文件,一個log文件對應安全消息,一個log文件對應計劃任務。當要對一個系統問題排錯例如加載內核驅動或者當尋找對系統的非授權登錄攻擊,日志文件是很有幫助的。一些log文件被一個稱之為rsyslogd的守護進程控制?!?/p>

    Linux干貨 2017-05-15
  • CentOS啟動流程

    CentOS啟動大致流程: POST –> BootSequence –> Bootloader –> kernel –> rootfs –> switchroot –> /sbin/init –> (/etc/inittab;/et…

    Linux干貨 2017-07-12
  • 第一周作業

    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3. 描述Linux的哲學思想,按照自己的理解對其解釋性描述。
    4. 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、……等命令使用,配合相應實例闡述。
    5. 如何獲取幫助信息,描述man文檔章節劃分。
    6. 羅列發行版基礎目錄名稱命名法則及功用規定。

    Linux干貨 2017-12-03
  • 文件系統的掛載使用總結

    文件系統使用 除根文件系統以外的文件系統創建后要使用需要先掛載至掛載點后才可以被訪問,掛載點即分區設備文件關聯的某個目錄文件,掛載命令mount和 卸載命令umount; 掛載點: mount_point,作為被掛載的文件系統的訪問入口; 作為掛載點需要滿足三個條件:  (1)這個目錄事先存在  (2)使用未被或不會被其他進程使用到的目錄…

    系統運維 2016-11-19
欧美性久久久久