1.1 從UNIX到Linux的發展歷程

MIT的CTSS:第一個分時操做系統shell

◼ Multics系統(Multiplexed Information and Computing System)架構

  ⚫ 1965年AT&T,MIT和GE的合做項目編輯器

  ⚫ 安裝在大型主機上的多用戶、交互式操做系統,支持300位以上的用戶聯機 使用函數

  ⚫ 這個系統不但開發週期長,成本高,並且龐大、緩慢,市場前景不被看好, 最終宣告失敗工具

◼ 曾經參與 Muitics 的貝爾實驗室的成員肯·湯普森(Ken Thompson) 因爲本身工做上的需求,性能

   開發了一套主要用於文件存取的小型操做 系統Uniplexed Information and Computing System(UNICS)ui

◼ 以 DEC 公司的計算機 PDP-7 爲硬件基準,採用彙編語言開發操作系統

◼ 源於 Multics 系統,作了大幅度的簡化,主要包括文件子系統和進 程子系統 (其主要架構被UNIX/Linux沿用至今)開放源代碼

◼ 1973 年,貝爾實驗室的肯·湯普森、丹尼斯·利奇(Dennis Ritchie) 等人爲了提高UNICS系統的性能與兼容orm

  性,採用高級語言對其進行 重構,並肯定該操做系統名稱爲UNIX,這就是最先的UNIX 操做 系統(

  相對於Multics ,UNIX 具備單一的意思)

◼ C語言是UNIX的副產品!!

◼ 1974年,肯·湯普森、丹尼斯·利奇發表了著名論文「The UNIX Time Sharing System」 ,讓世人瞭解UNIX。

  並向外發行免費拷貝, 開放源代碼

◼ 因爲UNIX是由工程師所主導開發的,並且使用者也大可能是工程師, 所以形成了UNIX 系統接

  口(庫函數與API)較難被通常使用者接 受的狀況

◼AT&T貝爾實驗室

  ⚫版本排號:第1-7版,System Ⅱ,Ⅲ,Ⅳ,Ⅴ,例如:UNIX System V Release 4.2 (SVR4.2)

  ⚫現今的SCO UNIX ◼ 加州大學伯克利分校

  ⚫計算機系統研究小組(CSRG)的BSD UNIX(Berkeley Software Distributions)

  ⚫較有影響的版本:4.3BSD,FreeBSD

  ⚫工做站上的UNIX通常屬於這一流派
    重要的UNIX分支:BSD UNIX
◼ 伯克利計算機系統研究小組對UNIX做出了許多重 要性的貢獻

  ⚫Vi編輯器

  ⚫虛擬存儲

  ⚫TCP/IP協議棧

  ⚫快速文件系統FFS

  ⚫可靠信號

  ⚫套接字

  ⚫……

◼80年代UNIX版本的劇增以及各類UNIX版本之間的差 別不斷擴大致使了以美國政府爲表明許多用戶要求對

  其標準化,以加強各類應用程序在這些UNIX操做系統 之間的可移植性

◼重要的UNIX標準包括:ANSI C、IEEE POSIX等

◼UNIX標準只是對應用程序接口進行統一(內部實現機 制則留給操做系統開發者自行實現)
UNIX的標準化
  ◼ANSI C

    ⚫ANSI C是美國國家標準協會(ANSI)於1983年發佈的C語言標準

    ⚫1989年,此標準被採納爲國際標準ISO/IEC 9899:1990

    ⚫ISO C標準現旨在提供應用程序的可移植性,使其能適應於不一樣的操做系統 ,而不只僅是UNIX操做系統

    ◼POSIX

      ⚫1986年,IEEE制定了IEEE P1003標準,這套標準被稱爲POSIX(Potable Operating System Interface)

      ⚫POSIX定義了一整套的應用程序接口,包括系統調用、庫函數、公共命令

      ⚫POSIX標準但願在源代碼級別保證應用程序可移植性
UNIX的商業化
  ◼1977年到1982年,AT&T促使UNIX走上商業 化道路(收回版權,而且不公開源代碼)

  ◼1982年SUN公司發佈SunOS,這是基於 4.2BSD的UNIX變體, Solaris版本

  ◼微軟和SCO聯合發佈了XENIX
  ◼ UNIX的商業化讓許多 UNIX愛好者感到擔憂,包括了大名鼎鼎的理查 德·斯托曼先生(Richard M. Stallman )
  ◼ Stallman在 1983 年發起了 GNU計劃,GNU是「GNU‘s Not Unix」的遞歸 縮寫,其目標是建立一個徹底自由的類Unix操做系統,

    GNU計劃也開發 了大批其餘的自由軟件,例如 Emacs 、Glibc、GCC、BASH等

  ◼ 1985年Stallman又創立了自由軟件基金會(Free Software Foundation) 來爲GNU計劃提供技術、法律以及財政支持
  GNU計劃與Free Software Foundation
  ◼自由軟件並非指「免費」的,而是指具備「自由度」的軟件。什麼是 自由度呢?也就是使用者運行、複製、發佈、研究、修改和改進該軟件 的自由

  ◼GNU通用公共許可協議(GNU GPL)是一個普遍被使用的自由軟件許 可協議條款,最初由Stallman爲GNU計劃而撰寫,GPL授予程序接受人 如下權利,或稱「自由」:

    ⚫以任何目的運行此程序的自由;

    ⚫再發行復製件的自由;

    ⚫改進此程序,並公開發布改進的自由
Linux的誕生
  ◼1984年,由於UNIX規定「不能對學生提供源碼」,安德魯·斯圖爾 特·塔能鮑姆( Andrew Stuart Tanenbaum )本身編寫了兼容於UNIX 的Minix系統,用於教學

  ◼1991年,芬蘭郝爾辛基大學研究生林納斯·託瓦茲 (Linus Torvalds)受Minix系統影響,開發了針對386機器的Linux內核

  ◼1991年Linux的第一個版本公開發行時,GNU計劃已經完成除了操做 系統內核以外的大部分軟件(其中包括了shell程序,C語言程序庫以 及C語言編譯器)。

    Linus Torvalds及其餘早期Linux開發人員加入了 這些工具,而完成了Linux操做系統

  ◼Linux是在GNU通用公共許可證下發行,它卻不是GNU計劃的一部分
Linux與UNIX的關係
  ◼ UNIX是能夠應用從大型計算機到普通PC機等多種不一樣的平臺上,是應用面 最廣、影響力最大的操做系統。

  ◼ Linux是一種外觀和性能與UNIX相同或更好的操做系統,但Linux不源於任 何版本的UNIX的源代碼,是一個相似於UNIX的產品

  ◼ Linux遵循POSIX規範,成功的模仿了UNIX系統和功能,更具體地講, Linux兼容於System V以及BSD UNIX:

  ◼ 對於System V,應用程序源代碼在Linux下從新編譯以後就能夠運行

  ◼ 對於BSD UNIX,應用程序可執行文件能夠直接在Linux環境下運行。

相關文章
相關標籤/搜索