初識Linux之——Linux是如何誕生的

初識Linux之——Linux是如何誕生的


對于大多數初次接觸Linux的童鞋,可能會非常好奇什么是Linux?它是做什么的?為什么那么多高手都喜歡Linux?Linux是如何產生出來的呢?本文將為大家解答釋疑,讓大家對Linux有一個清晰的概念。

Linux是什么

簡單來說,如Windows7、Windows10、安卓、IOS等,Linux是一個計算機操作系統。我們現在的社會能夠如此的絢麗多彩,各種科技高速發展,離不開計算機的功勞。而計算機能夠為我們提供各種功能,如大型的科學計算、互聯網服務的運作、以及我們日常的娛樂辦公等,這一切都功能的實現都建立在計算機的操作系統基礎之上。操作系統,通俗的講就像一個大管家一樣,能夠把計算機的各種運算、存儲、網絡單元等硬件資源和軟件資源合理的組織管理起來,從而讓用戶獲得更好的用戶體驗,讓我們的計算機實現更高的性能。

Linux的特性及使用場合

Linux為諸多駭客(計算機高手)所推崇的原因,在于它最大的一個特性:自由、開源(開放源代碼)。正因為Linux的開源,任何計算機愛好者都可以自由的獲取Linux的源代碼,并且根據自己的理解和想法去自由的修改,甚至定制出自己獨特的操作系統。這極大的迎合了計算機界各位大牛的極客精神。因此,Linux的誕生迅速吸引了世界上諸多計算機精英們加入并貢獻自己的智慧。這使得Linux獲得了極速的發展,相比其他操作系統也顯得更加靈活、安全、健壯。

同樣由于開源、免費,各大IT公司可以較低的成本獲取到性能更高、安全性更可靠的操作系統,并且可以合法的基于Linux源碼二次開發適合各種設備的系統。因此,Linux及其各種衍生系統幾乎遍布到我們社會生活的各個角落,大到科研中心運行的超級計算機、網絡公司的各種服務器,小到我們的智能手機及各種智能設備,都可以看到Linux的身影。據統計,目前為止各種Linux的發行版及衍生版多達數百種,而基于Linux定制的嵌入式設備更是有上千種之多。

這么神奇的操作系統   Linux是如何產生的呢

正如大多數童鞋們可能了解到的,Linux其實是來源于UNIX的,那么UNIX又是個什么鬼呢?要講清楚Linux與UNIX之間的愛恨糾葛,這要追尋到很久很久之前的歷史了 … …    ^_^

UNIX操作系統的創生

其實從1946年第一臺計算機ENIC誕生之后的相當一段時間,計算機是并沒有一個像樣的操作系統的,而當時的計算機也并不像現在的電腦這么便攜、智能。當時的計算機非常的原始,非常的龐大、笨重,只能進行一些簡單的科學計算,而這些大家伙也只存在于某些科研機構。

直到1964年由貝爾實驗室、麻省理工學院及美國通用電氣公司所共同參與研發的Multics項目(同年IBM發布了System/360)。然而由于資金和研發進度等問題直到1969年Multics也沒有獲得預想中的成功和發展。

這期間在貝爾實驗室的Ken Thompson,出于個人愛好開發了一個基于Multics的星際旅行(Space and Travel)的游戲。但隨著Multics項目的沒落,Ken希望能夠尋找一個可以替代Multics的操作系統以支持自己的游戲程序。正巧他發現了一臺被閑置的PDP-7,Ken Thompson就和同時Dennis Ritchie利用空余時間開發出了一個能夠支持其游戲項目的操作系統。

MULTICS 其實是"MULTi-plexed Information and Computing System"的縮寫,在1970年時,那臺PDP-7卻只能支持兩個使用者,當時,Brian Kernighan 就開玩笑地戲稱他們的系統其實是:"UNi-plexed Information and Computing System",縮寫為"UNICS",后來,大家取其諧音,就稱其為"UNIX"了。

UNIX系統的發展期

1973年,Ken Thompson和Dennis Ritchie發明了C語言之后,著手將UNIX用更高級的C語言進行了改寫(之前的UNIX是用B語言編寫的,B也是他們兩個人發明的,為了改寫UNIX,他們將B語言做了一番改進,而成了C語言)。這個劃時代的動作讓UNIX能夠很輕易地被移植到各種不同的機器上。

1974年,他們在計算機協會交流雜志(Communications of the ACM)正式發表了UNIX,吸引了更多學術界的注意與參與。從此,UNIX逐漸成為網絡工作站的標準,讓使用不同機器的使用者,都能使用類似的UNIX操作系統。

直到1979年之間的這段時間由于貝爾實驗室被卷入反壟斷法案等原因,UNIX在各大高校和科研機構獲得了極大的發展,并發展出了眾多主要分支。這其中最為著名的就是Ken Thompson1975年在Berkeley大學執教期間與Bill Joy等人基于UNIX共同研發的BSD。

但隨著貝爾實驗室的分拆,貝爾實驗室又重新獲得了UNIX的商業發行權,并同時宣布收回UNIX的版權。貝爾實驗室與Berkeley大學開始了長達10年的版權之爭。這期間各高校、科研機構、大型IT公司等UNIX用戶是最為糾結的10,既要使用UNIX,又無法獲得合法的使用權限。

GUN和Minux的出現

由于受限于UNIX的版權問題,在這黑色的10年世界各計算機駭客們和科研機構的大牛們奔走呼告,希望搞出一個最終的解決方案。其中最具影響力的事件要數GNU和Minux。

GNU(GNUis Not Unix)計劃,又稱革奴計劃,是由Richard Stallman在1983年公開發起的。它的目標是創建一套完全一個自由、開源的UNIX(Free UNIX)。并于1985年創立了自由軟件基金會FSF(Free Software Foundation)來為GNU計劃提供技術、法律以及財政支持。為保證GNU軟件可以自由地“使用、復制、修改和發布”,GNU軟件必須遵循GNU通用公共許可證GPL(GNU General Public License),即“反版權”(或稱Copyleft)概念。GNU可以說是計算機界開源精神的始祖,Linux上目前使用的大多數開源軟件都是來自于GNU的,如Emacs、GCC、nano等。

另一個比較有影響力的就是Minux(從某中程度上,可以說是Linux的前身)。Minux是荷蘭Vrije 大學的Andrew S. Tanenbaum教授,在貝爾實驗室將UNIX源代碼私有化之后,為滿足教學和研究需求而開發的UNIX兼容操作系統,取Mini-UNIX之意,簡稱為Minux。該系統雖然可以免費獲取,但Andrew教授嚴格規定其僅限于教學使用,因此這雖然是一個不錯的系統,但并沒有獲得很好的發展。

Linux世界的開端

啊 ~    終于輪到主角出場了   重量級人物往往都是壓軸的  ^_^

時間劃過了一點,來到了1988年。芬蘭的赫爾辛基大學迎來了一位新生Linus Benedict Torvalds(即Linus,可不是Linux哦)。這絕對是一位大神級的人物。Linus在學習操作系統原理之后,完全不滿足這些概念性的知識,于是就花了大量的時間研究了Minux和BSD等其他UNIX操作系統,并基于Minux和GNU的Gcc等編寫了一個自己的小型操作系統。更可怕的是我們的主角Linus將這個小程序的源碼發布到了一個社區網站上,同時命名為0.01版(1991年8月),并允許任何人可以自由的下載、修改。這就是Linus的Minux,社區管理員為了便于管理就把它稱之為Linux。

這種操作模式以迅雷不及掩耳之勢吸引了世界各地駭客和技術大牛的注意力,在短短的兩個月時間內就獲得了大量的反饋,并使Linus發布了第一個Linux的“正式”版本:0.02版。由于得到了世界各大計算機精英的支持,Linux的發展真的是一日千里,同時這也形成了Linux的社區文化。

Linux OR GNU/Linux ?

GNU/Linux?怎么會又冒出來一個GNU/Linux呢?要明白這點需要我們對計算機操作系統有一個更為準確的認識。確切的說Linux代表的僅僅是操作系統本身——Linux內核(kernel)。而我們現在通常所說的Linux是包括Linux內核及運行在其上的諸多GNU和其他開源軟件(如Shell、Gcc、X Windown等)在內的一個整體。

前面我們已經知道,GNU是一個致力于開發一個開源的不同于UNIX的系統的(正如它所宣稱的GNU is Not UNIX)。但至到2013年,GNU Hurd內核已經開發了23年依然沒有發布穩定版本,這對于GNU不得不說是一件極其尷尬的事。而Linux卻又是在GPL條款下發布的,這在某種程度上正好填補了GNU沒有操作系統的缺陷。

而一些人拒絕使用“GNU/Linux”這種叫法無非是因為:1.Linux朗朗上口,名字較短又好記;2.Richard Stallman博士直到1990年代中期,Linux開始流行后才要求更名。

那么我們就是該如何稱呼呢?其實正如Linus Torvalds在1996年新聞組里說講的一樣,關于這個的討論已經夠多的了,如何稱呼Linux,這真的不是個事?。。∈聦嵣蠠o論怎么稱呼,無論是GNU推動了Linux的發展,還是Linux推動了GNU的推廣,只要是對開源事業對科技發展有貢獻的都是好的。


擴展閱讀:

1、Linux、Windows和Apple之間的故事

既然Linux這么出名、這么牛X,為什么我不知道呢?相信很多朋友會有這樣的疑問。對于這部分,感興趣的童鞋們可以自己查閱修改資料進行了解。

2、Linux的主要發行版本

Debian  –  Ubuntu
RedHat  –  Red Hat Enterprise Linux
                 CentOS
                 Fedora
SUSE
Arch Linux
Gentoo

原創文章,作者:M21-張國輝,如若轉載,請注明出處:http://www.www58058.com/50916

(0)
M21-張國輝M21-張國輝
上一篇 2016-10-14 10:51
下一篇 2016-10-14 10:58

相關推薦

  • BASH編程基礎之變量、條件判斷

    一、前言 在linux中,通常我們所指的腳本編程,指的是bash的腳本編程。 bash作為一種過程式的編程語言來說,它應該具備編程語言所應該具備的基本元素,即:變量,流程,函數,數組。今天我們介紹變量以及流程之一的條件判斷。 二、變量 1、初識變量 在編程語言中,編程語言有兩大種,強類型語言和弱類型語言。強類型語言中,要求變量的使用要嚴格符合定義,所有變量都…

    Linux干貨 2015-07-06
  • RAID詳解

    1、什么是RAID RAID:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列,簡稱磁盤陣列。其基本思想就是將多個相對便宜的硬盤結合起來,成為一個磁盤陣列,是性能達到甚至超過一個昂貴、容量巨大的硬盤,根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。目前應用較多的有RAID0,RAID1,RAID4,RA…

    Linux干貨 2017-01-03
  • linux基礎知識之nmcli

           CentOS7才有的功能網絡組:將多塊網卡聚合在一起的方法,從而實現冗錯和提高吞吐量        網絡組不同于舊版中的bonding技術,提供了更好的性能和擴展性        網路組由內核驅動和teamd守護進程實現 &n…

    Linux干貨 2016-09-07
  • 馬哥教育網絡班22期+第1周課程練習

    Linux的發行版以及不同發行版之間的聯系與區別    Linux發行版主要的大分支有三個:dibian  S.U.S.E  redhat 一個操作系統由kernel和application組成。編譯封裝的時候根據不同的application,可以編譯成不同的發行版本。 所有的linux發行版都是基于GPL的版權,它們…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班20期+第6周課程練習

    vim編輯器使用總結 一、文件的打開與關閉             打開文件:                 # vim [OPTION]… FILE…      …

    Linux干貨 2016-07-17
  • 20171123 Shell編程

    Shell編程的基本知識點

    2017-11-23

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-14 10:55

    加入了一些自己的理解,不錯,希望可以將這段發展史熟知,加油,加油~

欧美性久久久久