linux的發展史

一、今天要介紹的Linux是一套免費使用和自由傳播的Unix操作系統,是一個基于POSIXUNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持3264硬件。Linux繼承了Unix網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。 但是很多時候我們了解到的技術都不是一蹴而就的,往往都經過漫長的歲月不斷的經過改進、優化才能到現在流傳在市面上供我們使用的,那么一個操作系統也一樣,所有學習linux之前有必要知道linux的發展史,這個對于我們了解其技術演變過程及將要加深學習起到了很好的幫助,那么下面就讓我們簡單了解下linux的發展史吧!

二、 Linux 操作系統的誕生、發展和成長過程依賴于以下五個重要支柱: 

UNIX操作系統

        Linux 操作系統是UNIX 操作系統的一個克隆版本。UNIX 操作系統是美國貝爾實驗室的Ken.ThompsonDennis Ritchie 1969 年夏在DEC PDP-7 小型計算機上開發的一個分時操作系統。Ken Thompson 為了能在閑置不用的PDP-7 計算機上運行他非常喜歡的星際旅行(Space travel)游戲,于是在1969 年夏天乘他夫人回家鄉加利福尼亞渡假期間,在一個月內開發出了UNIX 操作系統的原型。當時使用的是BCPL 語言(基本組合編程語言),后經Dennis Ritchie 1972 年用移植性很強的C語言進行了改寫,使得UNIX 系統在大專院校得到了推廣。

MINIX操作系統

        MINIX 系統是由Andrew S. TanenbaumAST)開發的。AST 是在荷蘭Amsterdam Vrije 大學數學與計算機科學系統工作,是ACM IEEE 的資深會員(全世界也只有很少人是兩會的資深會員)。MINIX 是他1987 年編制的,主要用于學生學習操作系統原理。到1991 年時版本是1.5。目前主要有兩個版本在使用:1.5 版和2.0 版。當然目前MINIX 系統已經是免費的,可以從許多FTP 上下載。
       
對于Linux 系統,他后來曾表示對其開發者Linus的稱贊。但他認為Linux的發展很大原因是由于他為了保持MINIX 的小型化,能讓學生在一個學期內就能學完,因而沒有接納全世界許多人對MINIX的擴展要求。因此在這樣的前提下激發了Linus 編寫Linux 系統。當然Linus 也正好抓住了這個好時機。
       
作為一個操作系統,MINIX 并不是優秀者,但它同時提供了用C 語言和匯編語言編寫的系統源代碼。這是第一次使得有抱負的程序員或hacker 能夠閱讀操作系統的源代碼。在當時,這種源代碼是軟件商們一直小心守護著的秘密。

GNU計劃

        軟件產業在70年代成就了兩位針鋒相對的領袖人物,來自哈佛大學的比爾·蓋茨和Richard M.Stallman。前者宣布了Copyright(版權)時代的到來,并構建了微軟帝國的輝煌;后者于1984年創立自由軟件體系GNU,擬定普遍公用版權協議(GeneralPublicLicense,簡稱GPL),今天Linux的成功就得益于GPL協議。
       
所有GPL協議下的自由軟件都遵循著Richard M. Stallman"Copyleft"(非版權)原則:即自由軟件允許用戶自由拷貝、修改和銷售,但是對其源代碼的任何修改都必須向所有用戶公開。
        GNU
計劃和自由軟件基金會FSF(the Free Software Foundation)是由Richard M. Stallman 1984 年一手創辦的。旨在開發一個類似UNIX 并且是自由軟件的完整操作系統:GNU 系統(GNU "GNU's Not Unix"的遞歸縮寫,它的發音為"guh-NEW")。
       
各種使用Linux 作為核心的GNU 操作系統正在被廣泛的使用。雖然這些系統通常被稱作"Linux",但是Stallman 認為,嚴格地說,它們應該被稱為GNU/Linux系統。
       
到上世紀90 年代初,GNU 項目已經開發出許多高質量的免費軟件,其中包括有名的emacs 編輯系統、bash shell 程序、gcc 系列編譯程序、gdb 調試程序等等。這些軟件為Linux 操作系統的開發創造了一個合適的環境。這是Linux 能夠誕生的基礎之一,以至于目前許多人都將Linux 操作系統稱為“GNU/Linux”操作系統。

POSIX標準

        POSIXPortable Operating System Interface for Computing Systems)是由IEEE ISO/IEC 開發的一簇標準。該標準是基于現有的UNIX 實踐和經驗,描述了操作系統的調用服務接口。用于保證編制的應用程序可以在源代碼一級上在多種操作系統上移植和運行。它是在1980 年早期一個UNIX 用戶組(usr/group)的早期工作基礎上取得的。該UNIX 用戶組原來試圖將AT&T System V 操作系統和BerkeleyCSRG BSD 操作系統的調用接口之間的區別重新調和集成。并于1984 年定制出了/usr/group 標準。
         
90 年代初,POSIX 標準的制定正處在最后投票敲定的時候,那是1991-1993 年間。此時正是Linux剛剛起步的時候,這個UNIX 標準為Linux 提供了極為重要的信息,使得Linux 能夠在標準的指導下進行開發,并能夠與絕大多數UNIX 操作系統兼容。在最初的Linux 內核源代碼中(0.01 版、0.11 版)就已經為Linux 系統與POSIX 標準的兼容做好了準備工作。在Linux 0.01 版內核的/include/unistd.h 文件中就已經定義了幾個有關POSXI 標準要求的符號常數,而且Linus 在注釋中已寫道:“OK,這也許是個玩笑,但我正在著手研究它呢

Internet 網絡

        Internetlinux開發、交流、發展的信息和資源的交流平臺。

三、Linux的誕生 

    1、Multics計劃

   上世紀四五十年代,電子管計算機都是大型機Mainframe,計算能力很強,但是沒有操作系統,當時的操作系統就是所謂的批處理操作系統,batch批處理 也稱為脫機批處理,單任務,所以當時迫切需要一套多任務、多用戶的操作系統,至此Multics項目便油然而生。

Multics是1964年由美國AT&T的貝爾實驗室、麻省理工學院的人工智能實驗室以及美國通用電氣公司所共同研發的一套安裝在大型主機上多人多任務的操作系統。后來因計劃進度落后,資金短缺,宣告失敗。貝爾實驗室退出該項目的研究。

 

    2、UNIX的誕生及發展

   在復雜的Multics系統的計劃失敗后,曾經參與Multics計劃的貝爾實驗室的成員Ken Thompson正在撰寫一個名為“星際旅行(Space Travel)”的游戲程序,但是該游戲需要基于操作系統之上運行的,于是他便在1969年的時候以DEC公司的計算機PDP-7為硬件基準,借鑒Multics的許多思想,并將其簡單化開發出一個可以運行自己游戲的文件系統,后來Ken的同事Dennis Ritchie等人為了讓這個文件系統的執行效能更優化,以先進的計算機PDP-11為硬件基準使用編譯效能更好的C語言將文件系統的核心大幅度的改寫了,并且確定該操作系統名稱為Unix。Ken和Dennis二人發表論文并召開新聞發布會。但該操作系統歸屬于貝爾實驗室,貝爾實驗室隸屬于AT&T,而AT&T當時不能出售電話電報以外的任何東西。與此同時美國加州大學伯克利分校成立BSRG組織專門研究Unix,1976年貝爾實驗室的Ken年休到伯克利分校任教,BSRG邀請Ken,在Ken的幫助下,伯克利分校于1980年發布了自己的操作系統BSD并進行售賣。而后,貝爾實驗室從AT&T分離出來,可以對自己開發的Unix系統進行售賣,并開發出了第五版穩定的Unix稱為Sys V,使得當時Unix系統形成了兩大陣營,即伯克利分校的BSD和貝爾實驗室的Sys V,于是貝爾公司就Unix操作系統的知識產權問題與伯克利分校開始了長達十年的官司。

 

    3、Linux的誕生

  到了上世紀70年代,由于計算機硬件工業的強力運作,以intel主導的x86系統架構的個人計算機大行其道,但是當時人們使用的操作系統并不是免費的,購買操作系統的價格相當昂貴。此時,位于荷蘭某大學的教授Andrew 給學生們講課正需要Unix操作系統,可是購買Unix操作系統需要4萬美元,學生學習Unix將變得很難?;诖嗽?,Andrew 教授模仿Unix開發了Minix操作系統,用于學生教學。但是Minix還不能移植到其他主機上,此時,世界上由對Unix商業化不滿者組成的開源組織GNU組織對Andrew 教授的Minix操作系統很感興趣,希望教授把Minix操作系統的源代碼遵循GPL條款免費公布出來,方便Minix的移植,可是被教授拒絕了。同時,Andrew教授的一位芬蘭學生名叫Linus Torvalds對教授的Minix系統相當感興趣,于是Linus仿照教授的Minix在自己的386計算機上編寫出了一款新的操作系統取名linux操作系統,并將系統代碼無償貢獻給了GNU組織,使得Linux迅速風靡全球。

 

    4、Linux的發行版本

   Redhat和centos都是Linux最著名的發行版本,Redhat是在Linux內核(os)的基礎上多了一些GNU的小工具,應用程序或界面等,將之封裝成的一個鏡像(ios),Red Hat是一個符合大眾需求的最優版本。而centos也是利用Redhat的源碼重新編譯進行二次發行的版本centos是Redhat源代碼再編譯的產物,而且在RHEL的基礎上修正了不少已知的 Bug ,相對于其他 Linux 發行版,其穩定性值得信賴。Ubuntu是一個以桌面應用為主的Linux操作系統,目標在于為一般用戶提供一個最新的、同時又相當穩定的主要由自由軟件構建而成的操作系統。

 

    5、Linux內核版本

  Linux是一個一體化內核(monolithic kernel)系統?!皟群恕敝傅氖且粋€提供硬件抽象層、磁盤及文件系統控制、多任務等功能的系統軟件。一個內核不是一套完整的操作系統。一套基于Linux內核的完整操作系統叫作Linux操作系統。

  Linux內核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網絡通信,以及系統的初始化(引導)、系統調用等。

  1.0版本有176,250字符串。此版本的Linux內核只支持單處理器基于i386的計算機系統,可移植性成為一個問題。隨后1.2版本(310,950字符串)支持多種計算機架構例如Alpha、SPARC、MIPS處理器。而后的3.0-3.19版本對計算機系統的架構以及系統所支持的功能都做了不同的改進。

 

    6、Linux內核與發行版本的關系

  Linux發行版的推動了Linux的應用,而也讓更多的人開始關注Linux。一些組織或廠家,將Linux系統的內核與外圍實用程序軟件和文檔包裝起來,并提供一些系統安裝界面和系統配置、設定與管理工具,就構成了一種發行版本,Linux的發行版本其實就是Linux核心再加上外圍的實用程序組成的一個大軟件包而已。相對于Linux操作系統內核版本,發行版本的版本號隨發布者的不同而不同,與Linux系統內核的版本號是相對獨立的。因此把SUSE、RedHat、Ubuntu、Slackware等直接說成是Linux是不確切的,它們是Linux的發行版本,更確切地說,應該叫做“以Linux為核心的操作系統軟件包”。根據GPL準則,這些發行版本雖然都源自一個內核,并且都有自己各自的貢獻,但都沒有自己的版權。Linux的各個發行版本,都是使用Linus主導開發并發布的同一個Linux內核,因此在內核層不存在什么兼容性問題。每個版本都不一樣的感覺,只是在發行版本的最外層才有所體現,而絕不是Linux本身特別是內核不統一或是不兼容。

 

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

(0)
Leslie0015Leslie0015
上一篇 2016-10-17
下一篇 2016-10-17

相關推薦

  • 我的第一篇博客

    2018.3.26 整理

    2018-03-26
  • btrfs 文件系統

    簡介   Btrfs((B-tree,ButterFS ,Better FS通常念成Butter FS),由Oracle于2007年宣布并進行中的COW(copy-on-write式)文件系統。繼ext3/4文件系統之后linux又有了比較強大的文件系統(btrfs文件系統),btrfs文件系統不僅可以將ex…

    Linux干貨 2016-02-19
  • HTTPD-相關的配置

    一次完整的HTTP請求處理過程: 1、建立連接:接收或拒絕鏈接請求 2、接受請求:接收客戶端請求報文中對某資源的一次請求的過程 Web訪問響應模型(Web I/O) 單進程I/O模型:啟動一個進程處理用戶請求,而且一次只處理一個,多個請 求被串行響應; 多進程I/O模型:并行啟動多個進程,每個進程響應一個鏈接請求; 復用I/O結構:啟動一個進程,同時響應N個…

    2017-08-29
  • Linux交換分區的創建和調整

    概述 本文對swap進行簡要介紹,以及系統安裝后(在運行中)如何建立或調整swap分區。 文中演示環境為: 什么是swap space? 交換分區,即swap space。它將某段磁盤空間獨立劃分出來,當物理內存不夠的情況下,系統先把物理內存中暫時不用的數據,暫存到交換空間,騰出內存空間來,以保證程序的運行;當swap中存儲的頁面被訪問到時,系統會將其重新載…

    Linux干貨 2016-08-30
  • vim編輯器整理(無演示)

    vim編輯器 vim編輯器是linux中最強大的全屏幕純文本編輯器,他是vi編輯器的增強版。 文本編輯器: 文本:純文本,在ASCII角度講是純粹的不加任何修飾的文本信息     支持Unicode編碼方式 文本編輯器種類: 行編輯器:sed 全屏編輯器:nano,vi vi : (VIsual&n…

    Linux干貨 2016-08-10
  • 遷移分區

          1 備份/home    2 創建分區 /dev/sdc1 10G   [root@localhost ~]# du -sh /home   52K /home   3 格式化分區   [root@localhost …

    Linux干貨 2017-04-25
欧美性久久久久