天天看點

Linux 發展史簡述Linux之父Linux标志曆史主要特性Linux核心版本Linux發行版更多參考

簡述

Linux是一套自由加開放源代碼的類Unix作業系統,誕生于1991年10月5日(第一次正式向外公布),由芬蘭學生Linus Torvalds和後來陸續加入的衆多愛好者共同開發完成。

Linux是一個基于POSIX和Unix的多使用者、多任務、支援多線程和多CPU的作業系統。它能運作主要的Unix工具軟體、應用程式和網絡協定,可支援32位和64位硬體。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多使用者網絡作業系統。

Linux存在着許多不同的版本,但它們都使用了Linux核心。Linux可安裝在各種計算機硬體裝置中,比如:手機、平闆電腦、路由器、視訊遊戲控制台、台式計算機、大型機和超級計算機。

嚴格來講,Linux這個詞本身隻表示Linux核心,但實際上人們已經習慣了用Linux來形容整個基于Linux核心,并且使用GNU工程各種工具和資料庫的作業系統。

|

版權聲明:一去、二三裡,未經部落客允許不得轉載。

Linux之父

  • 林納斯·托瓦茲(Linus Torvalds)
Linux 發展史簡述Linux之父Linux标志曆史主要特性Linux核心版本Linux發行版更多參考

Linus Torvalds被稱作Linux之父,著名的電腦程式員、黑客。Linux核心的發明人及該計劃的合作者。他利用個人時間及器材創造出了這套當今全球最流行的作業系統核心之一,現受聘于開放源代碼開發實驗室(OSDL:Open Source Development Labs, Inc),全力開發Linux核心。

Linux是一個誕生于網絡、成長于網絡且成熟于網絡的奇特的作業系統。1991年,當時還是芬蘭大學生的Linus Torvalds萌發了開發一個自由的Unix作業系統的想法,當年,Linux就誕生了,為了不讓這個羽毛未豐的作業系統矢折,Linus Torvalds将自已的作品Linux通過Internet釋出。從此一大批知名的、不知名的電腦黑客、程式設計人員加入到開發過程中來,一場聲勢浩大的運動應運而生,Linux逐漸成長起來。

Linux一開始是要求所有的源碼必須公開,并且任何人均不得從Linux交易中獲利。然而這種純粹的自由軟體的理想對于Linux的普及和發展是不利的,于是Linux開始轉向GPL,成為GNU陣營中的主要一員。

Linux憑借優秀的設計、不凡的性能,加上IBM、Intel、CA、CORE、Oracle等國際知名企業的大力支援,市場佔有率逐漸擴大,逐漸成為主流作業系統之一。

Linux标志

蘋果的标志是一隻被咬了一口的蘋果,微軟的标志是一面窗戶(至少最初是),而Linux的标志(吉祥物)則是一隻名為Tux的企鵝。

Linux 發展史簡述Linux之父Linux标志曆史主要特性Linux核心版本Linux發行版更多參考

企鵝的來源

1994年發表Linux正式核心1.0的時候,大家要Linus Torvalds想一隻吉祥物,他想起曾經在澳洲的一個動物園裡被企鵝咬過,幹脆就以企鵝來當吉祥物了!

更容易接受的說法是:企鵝代表南極,而南極又是全世界共有個一塊陸地,不屬于任何國家。也就是說Linux不屬于任何商業公司,是全人類每個人都可以分享的一項技術成果。

Tux的來源

大多數人相信,Tux這個名字來源于Torvalds UniX,而不是因為它看起來像是穿着一件晚禮服(tuxedo)。也有說法稱Tux來自James Hughes: 

Re: Let’s name the penguin! (was: Re: Linux 2.0 really is

released..) .James Hughes

Mon, 10 Jun 1996 20:25:52 -0400 .

(T)orvalds (U)ni(X) –> TUX!

Tux: Linux吉祥物/Logo Tux: Linux吉祥物/Logo

曆史

Unix

Unix作業系統是一個強大的多使用者、多任務作業系統,支援多種處理器架構,按照作業系統的分類,屬于分時作業系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的貝爾實驗室開發。目前它的商标權由國際開放标準組織所擁有,隻有符合單一Unix規範的Unix系統才能使用Unix這個名稱,否則隻能稱為類Unix(Unix-like)。

GNU

GNU是自由軟體之父Richard Stallman在1984年組織開發的一個完全基于自由軟體的軟體體系,與此相應的有一分通用公共許可證(General Public License,簡稱GPL)。Linux以及與他有關的大量軟體是在GPL的推動下開發和釋出的。

自由軟體之父 - Richard Stallman 像一個神态莊嚴的傳教士一樣喋喋不休地到處傳播自由軟體的福音,闡述他創立GNU的夢想:“自由的思想,而不是免費的午餐”。這位自由軟體的“頂級神甫”為自己的夢想付出了大半生的努力,他不但自己創作了許多自由軟體,如:GCC、和GDB,在他的倡導下,目前人們熟悉的一些軟體如BIND、Perl、Apache、TCP/IP等都成了自由軟體的經典之作。

如果說Richard Stallman創立并推動了自由軟體的發展,那麼,Linus Torvalds毫不猶豫奉獻給GNU的Linux,則把自由軟體的發展帶入到一個全新的境界。

BSD

386BSD因為法律問題直到1992年還不能釋出,NetBSD和FreeBSD是386BSD的後裔,比Linux早。Linus Torvalds說,當時如果有自由的基于386的Unix-like作業系統,他就可能不會創造Linux。盡管無法預料這給以後的軟體業究竟造成了什麼樣的影響(如果沒有這個法律糾紛,很有可能沒有今天的革命性的Linux),但有一點可以肯定,Linux更加豐富了這塊土壤。

Minix

Minix是一種基于微核心架構的類Unix計算機作業系統,由Andrew S. Tanenbaum發明。Minix最初釋出于1987年,開放全部源代碼給大學教學和研究工作。2000年重新改為BSD授權,成為自由和開放源碼軟體。

因為AT&T的政策改變,在Version 7 Unix推出之後,釋出新的使用條款,将Unix源代碼私有化,在大學中不再能使用Unix源代碼。教授為了能在課堂上教授學生作業系統運作的實務細節,決定在不使用任何AT&T的源代碼前提下,自行開發與Unix相容的作業系統,以避免版權上的争議。他以小型Unix(mini-Unix)之意,将它稱為Minix。

Minix沒有任何代碼抄襲Unix,是以它們之間并沒有任何繼承關系,Minix作為當時有史以來的第一個開源的作業系統放到網上以後,短期之内得到了飛速發展,大量的人進行下載下傳學習。

由于Minix是教授一人所寫,是以存在一些漏洞。這時候有使用者發現漏洞存在,想着去下載下傳一些更新檔或者自己寫一些更新檔來修補這些漏洞,修補之後發現效果不錯,然後就建議教授利用這些更新檔完善下Minix,結果呢,教授比較固執,意思是說:為了維持Minix的純潔性,不需要任何外來代碼。也就是說,根本不打算做商業發行,是以Minux保持了其最原始的風範。

Linux

在後來的幾年内,由于計算機硬體工業的強力運作,以Intel主導的x86系統架構的個人計算機大行其道,是以個人計算機算是相當流行的一個機器了。但在此時,人們使用的大多還是DOS作業系統。此時,芬蘭赫爾辛基大學有個叫Linus Torvalds的學生做了件不尋常的事情。當時他正好有一台386的計算機,由于并不喜歡自己電腦上的DOS系統,是以就想:既然Minix這麼棒、這麼穩定,那我何不将它移植到個人計算機 (好在由于Stallman提倡的Open Source理念,他得以接觸到一些Source Code,而經由這樣的一個想法,O(∩_∩)O~他就很有心的讀取了Unix核心,并且去除較為繁複的核心程式,将它改寫成可以适用于一般個人計算機的x86系統上面)。

到了1991年,他終于将0.02版的原始碼hobby放到網絡上面供大家下載下傳,由于hobby受到大家的肯定,相當多的朋友一起投入這個工作中。終于在1994年,将第一個完整的核心Version 1.0釋出,并且造成目前的大流行。。。由于Linux kernel的發展是由虛拟團隊所達成的,大家都是透過網絡取得Linux的核心原始碼,經由自己精心改造後再回傳給Linux社群,進而一步一步的發展完成完整的Linux系統,至于Linus Torvalds是這個集團中的發起者。由于這個群策群力的緣故,Linus Torvalds将Linux定為同樣造福大家的GNU授權模式!

Linux是Linus Torvalds受到Minix的影響而作成的。但在設計哲學上,Linux則和Minix大相迳庭。Minix在核心設計上采用微核心的原則,但Linux則和原始的Unix相同都采用宏核心的概念。在Linux發展之初,雙方還于1992年在新聞討論區上有過一場精彩的理念争論。Minix的作者和支援者認為Linux的單核心構造是“向七十年代的大倒退”,而Linux的支援者認為Minix本身沒有實用性。

主要特性

  • 基本思想

Linux的基本思想有兩點:

  1. 一切都是檔案。
  2. 每個軟體都有确定的用途。

其中第一條詳細來講就是系統中的所有都歸結為一個檔案,包括:指令、硬體和軟體裝置、作業系統、程序等等,對于作業系統核心而言,都被視為擁有各自特性或類型的檔案。至于說Linux是基于Unix的,很大程度上也是因為這兩者的基本思想十分相近。

  • 完全免費

Linux是一款免費的作業系統,使用者可以通過網絡或其它途徑免費獲得,并可以任意修改其源代碼。這是其它作業系統所做不到的。正是由于這一點,來自全世界的無數程式員參與了Linux的修改、編寫工作,程式員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程式員的精華,不斷壯大。

  • 完全相容POSIX1.0标準

這使得可以在Linux下通過相應的模拟器運作常見的DOS、Windows的程式,這為使用者從Windows轉到Linux奠定了基礎。許多使用者在考慮使用Linux時,就想到以前在Windows下常見的程式是否能正常運作,這一點就消除了他們的疑慮。

  • 多使用者、多任務

Linux支援多使用者,各個使用者對于自己的檔案裝置有自己特殊的權利,保證了各使用者之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程式同時并獨立地運作。

  • 良好的界面

Linux同時具有字元界面和圖形界面,在字元界面使用者可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,使用者可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。

  • 支援多種平台

Linux可以運作在多種硬體平台上,如:具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式作業系統,可以運作在掌上電腦、機頂盒或遊戲機上。2001年1月份釋出的Linux 2.4版核心已經能夠完全支援Intel 64位晶片架構,同時Linux也支援多處理器技術。多個處理器同時工作,使系統性能大大提高。

Linux核心版本

Linux核心使用三種不同的版本編号方式。

  1. 用于1.0版本之前(包括1.0)。第一個版本是0.01,緊接着是0.02、0.03、0.10、0.11、0.12、0.95、0.96、0.97、0.98、0.99和之後的1.0。
  2. 用于1.0之後到2.6,數字由三部分“A.B.C”,A代表主版本号,B代表次主版本号,C代表較小的末版本号。隻有在核心發生很大變化時(曆史上隻發生過兩次,1994年的1.0、1996年的2.0),A才變化。可以通過數字B來判斷Linux是否穩定,偶數的B代表穩定版,奇數的B代表開發版。C代表一些bug修複,安全更新,新特性和驅動的次數。

    以版本2.4.0為例,2代表主版本号,4代表次版本号,0代表改動較小的末版本号。在版本号中,序号的第二位為偶數的版本表明這是一個可以使用的穩定版本,如2.2.5,而序号的第二位為奇數的版本一般有一些新的東西加入,是個不一定很穩定的測試版本,如2.3.1。這樣穩定版本來源于上一個測試版更新版本号,而一個穩定版本發展到完全成熟後就不再發展。

  3. 從2004年2.6.0版本開始,使用一種“time-based”的方式。3.0版本之前,是一種“A.B.C.D”的格式。這些年裡,前兩個數字A.B即“2.6”保持不變,C随着新版本的釋出而增加,D代表一些bug修複、安全更新、添加新特性和驅動的次數。3.0版本之後是“A.B.C”格式,B随着新版本的釋出而增加,C代表一些bug修複、安全更新、新特性和驅動的次數。

    第三種方式中不再使用偶數代表穩定版,奇數代表開發版這樣的命名方式。舉個例子:3.7.0代表的不是開發版,而是穩定版!

Linux發行版

Linux主要作為Linux發行版(通常被稱為”distro”)的一部分而使用。這些發行版由個人、松散組織的團隊、以及商業機構和志願者組織編寫。它們通常包括了其他的系統軟體和應用軟體,以及一個用來簡化系統初始安裝的安裝工具,和讓軟體安裝更新的內建管理器。大多數系統還包括了像提供GUI界面的XFree86之類的曾經運作于BSD的程式。 一個典型的Linux發行版包括:Linux核心、一些GNU程式庫和工具、指令行shell、圖形界面的X Window系統和相應的桌面環境,如:KDE或GNOME,并包含數千種從辦公套件、編譯器、文本編輯器到科學工具的應用軟體。

由于發展的Linux公司實在太多了,例如著名的Red Hat、OpenLinux、Mandrake 、Debian、SuSE等。是以很多人都很擔心,如此一來每個 distribution(安裝套件)是否都不相同呢?這就不需要擔心了,由于各個distribution都是架構在Linux Kernel下來發展屬于自己公司風格的distribution,是以大家都遵守Linux Standard Base ( LSB 的規範,也就是說,各個distribution其實都差不多,用到的都是Linux Kernel,隻是各個distribution裡面所使用的各套件可能并不完全相同而已)。

Linux核心官網: https://www.kernel.org/

更多參考

  • Unix傳奇(上中下)

繼續閱讀