Linux發展史

日期:2016-10-12

 Bell,MIT與GE的『Multics』系統

    早期的計算機還很不普遍,除非是軍事或者高科技用途,或者學術單位的學術研究,否則真的很難接觸到。而且計算機架構很難使用。那個時候,程序設計者必須先將程序相關的信息在讀卡紙上面打洞然后將讀卡紙插入卡片閱讀機來將信息讀入主機中運算。出錯之后很麻煩

    好在1960年,麻省理工學院(MIT)發展了所謂的所謂的“兼容分時系統(Compatible Time-Sharing System,CTSS)”,他可以讓大型機透過提供數個終端機(terminal)以聯機進入主機,來利用主機的資源進行運算工作。架構就像這樣:

blob.png

    為了更加強化大型主機的功能,以讓主機的資源可以提供更多使用者來利用所以在1965年前后,由貝爾實驗室(Bell)、麻省理工學院(MIT)、通用電氣公司(GE)共同發起Multics的計劃,目的是想讓大型主機可以達成提供300個以上的終端機聯機使用的目標。 不過,到了1969年前后,計劃進度落后,資金也短缺,所以該計劃雖然繼續在研究,但貝爾實驗室還是退出了該計劃的研究工作。 (注:Multics有復雜、多數的意思。)

  在認為Multics計劃不可能成功之后,貝爾研究室就退出該計劃。不過,原本參與Multics計劃的人員中,已經從該計劃當中獲得一些點子, Ken Thompson 就是其中一位!Thompson因為自己的需要,希望開發一個小小的操作系統以提供自己的需求。 在開發時,有一部DEC(Digital Equipment Corporation)公司推出的PDP-7剛好沒人使用, 于是他就準備針對這部主機進行操作系統核心程序的撰寫。經過四個星期的奮斗,他終于以匯編語言(Assembler)寫出了一組核心程序,同時包括一些核心工具程序, 以及一個小小的文件系統。那個系統就是Unix的原型! 當時Thompson將Multics龐大的復雜系統簡化了不少,二是同實驗室的朋友都戲稱這個系統為:Unics。 后來Thompson與Ritchie合作想將Unics改以高階程序語言來撰寫。以C重新改寫不編譯Unics的核心, 最后正名并發行出Unix的正式版本!

 1977年:重要的Unix分支–BSD的誕生

    由于AT&T對Unix態度開放,而且Unix使用比較高級的C語言編寫,理論上具有移植性。所以1973年之后,Unix得以與學術界合作開發。最重要的接觸就是與加州伯克萊(Berkeley)大學的合作。

    柏克萊大學的Bill Joy在取得了Unix的核心原始碼后,著手修改成適合自己機器的版本, 并且同時增加了很多工具軟件與編譯程序,最終將它命名為Berkeley Software Distribution (BSD)。這個BSD是Unix很重要的一個分支,Bill Joy也是Unix業者“Sun(升陽)”家公司的創辦者! Sun公司即是以BSD發展的核心進行自己的商業Unix版本的發展的。 (后來可以安裝在x86硬件架構上面FreeBSD即是BSD改版而來!)

 1979年:重要的System V 架構與版權宣告

  由于Unix的高度可移植性與強大的效能,加上當時并沒有版權的糾紛, 所以讓很多商業公司開始了Unix操作系統的發展,例如AT&T自家的System V、IBM的AIX以及HP與DEC等公司, 都有推出自家的主機搭配自己的Unix操作系統。

   不過因為AT&T由于商業的考慮,以及在當時現實環境下的思考,于是將想Unix的版權收回去。因此,AT&T在1979年發行的第七版Unix中,特別提到了 『不可對學生提供原始碼』的嚴格限制!同時,也造成Unix業界之間的緊張氣氛,并且也引爆了很多的商業糾紛。

  1984年之一:x86架構的Minix操作系統誕生

    由于1979年的版權聲明,為避免版權糾紛Andrew Tanenbaum(譚寧邦)教授自己動手寫了Minix這個Unix Like的核心程序。譚寧邦1984年開始編寫核心程序,到了1986年終于完成。不過,由于Minix需要通過磁盤/磁帶購買,并且譚寧邦教授認為Minix主要用于教育用途。所以雖然Minix很受歡迎卻無法得到較快發展。

  1984年之二:GNU計劃與FSF基金會的成立

    1984年,史托曼開始GNU計劃, 這個計劃的目的是:建立一個自由、開放的Unix操作系統(Free Unix)。史托曼開始參考Unix上面現有的軟件,并依據這些軟件的作用開發出功能相同的軟件,于是GNU計劃逐漸打開知名度。后來史托曼編寫了C語言的編譯程序,就是現在相當有名的GNU C Compiler(gcc)和Emacs編輯器。在此期間,史托曼成立了自由軟件基金會(FSF,Free Software Foundation)。

    到了1985年,為了避免GNU所開發的自由軟件被其他人所利用而成為專利軟件, 所以他與律師草擬了有名的通用公共許可證(General Public License, GPL), 并且稱呼他為copyleft(相對于專利軟件的copyright!)。

  Torvalds的Linux發展

    Linus Torvalds(托瓦茲, 1969年出生)的外祖父是赫爾辛基大學的統計學家, 他從小就接觸微計算機,并學習了匯編語言。1988年,托瓦茲進入赫爾辛基大學,接觸到了Unix系統。后來他購買了Minix系統,并在386平臺上實現了多任務測試:

blob.png

    托瓦茲編寫了能在386平臺上運行的核心程序,并發布了出來,命名為Linux。后來,通過對Linux的修改,使其能夠兼容Unix。自此,Linux正式誕生,并通過廣大黑客的共同努力獲得飛速發展。

  

  

  

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

(0)
wangshuaiwangshuai
上一篇 2016-10-14
下一篇 2016-10-14

相關推薦

  • Linux文件系統的創建、檢測、修復、分區等工具的使用

    一、文件系統管理 什么是文件系統?     我的理解是文件系統是對磁盤上的數據和文件結構的管理規范。     如果文件系統沒有繼承性,那么以前文件系統的數據就無法傳到新的文件系統中。     Linux的文件系統有這么幾種:ext2, ex…

    系統運維 2016-03-03
  • 學習linux第四天

    Linux學習第4天   Linux內部命令和外部命令    內部命令:實際上是shell程序的一部分,其中包含的是一些比較簡單的linux系統命令,這些命令由shell程序識別并在shell程序內部完成運行,通常在linux系統加載運行時shell就被加載并駐留在系統內存中。內部命令是寫在bashy源碼里面的,其執行速度比外部…

    Linux干貨 2016-10-29
  • sed用法預習總結

    SED用法sed:Stream EDitor    行編輯器 sed:模式空間     默認不編輯原文件,僅對模式空間的數據做處理,將處理后的結果輸出至屏幕 sed [options] 'AdressCommand' file…   &n…

    Linux干貨 2016-08-10
  • http加速器varnish

    一、web緩存概述       緩存,又稱加速器,用于加速運行速度較快的設備與較慢設備之間的通信。基于程序的運行具有局部性特征其能實現加速的功能:       時間局部性:一個數據被訪問之后,在隨后較短的時間內有可能被訪問。   &nbsp…

    2016-11-18
  • Linux syslog 系統日志管理

    Linux系統上面,系統可以記錄從開機到當前系統上面何時發生了哪些事情,在centos 上表現為rsylog,由三部分組成 1)syslogd:主要記錄系統和網絡等服務的日志信息 2)klogd:主要記錄內核產生的各項信息 3)logretate:主要用來對日志文件進行切割循環記錄等 特點: 1)多線程工作 2)支持以TCP,UDP,SSL,TSL,RELP…

    Linux干貨 2016-10-24
  • linux sort 命令詳解

    linux sort 命令詳解 sort是在Linux里非常常用的一個命令,管排序的,集中精力,五分鐘搞定sort,現在開始! 1 sort的工作原理 sort將文件的每一行作為一個單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進行比較,最后將他們按升序輸出。 [rocrocket@rocrocket programming]$&nb…

    Linux干貨 2016-08-15
欧美性久久久久