UNIX 家族小史
(題圖來自:wikimedia.org,CC BY-SA 3.0)
UNIX 系統誕生於貝爾實驗室
UNIX 最開始的名字是 UNICS (UNiplexed Information and Computing Service),它有一個大家庭,並不是從石頭縫裡蹦出來的。UNIX的祖父是 CTSS (Compatible Time Sharing System),它的父親是 Multics (MULTiplexed Information and Computing Service),這個系統能支持大量用戶通過互動式 分時 的方式使用大型機。
UNIX 誕生於 1969 年,由肯·湯普森以及後來加入的丹尼斯·里奇共同完成。這兩位優秀的研究員和科學家在一個通用電器 GE和麻省理工學院的合作項目里工作,項目目標是開發一個叫 Multics 的互動式分時系統。
Multics 的目標是整合分時技術以及當時其他先進技術,允許用戶在遠程終端通過電話(撥號)登錄到主機,然後可以編輯文檔,閱讀電子郵件,運行計算器,等等。
在之後的五年里,AT&T 公司為 Multics 項目投入了數百萬美元。他們購買了 GE-645 大型機,聚集了貝爾實驗室的頂級研究人員,例如肯·湯普森、 Stuart Feldman、丹尼斯·里奇、 道格拉斯·麥克羅伊 、 Joseph F. Ossanna 以及 Robert Morris。但是項目目標太過激進,進度嚴重滯後。最後,AT&T 高層決定放棄這個項目。
貝爾實驗室的管理層決定停止這個讓許多研究人員無比糾結的操作系統上的所有遺留工作。不過要感謝湯普森,里奇和一些其他研究員,他們把老闆的命令丟到一邊,並繼續在實驗室里滿懷熱心地忘我工作,最終孵化出前無古人後無來者的 UNIX。
UNIX 的第一聲啼哭是在一台 PDP-7 微型機上,它是湯普森測試自己在操作系統設計上的點子的機器,也是湯普森和 里奇一起玩 Space and Travel 遊戲的模擬器。
「我們想要的不僅是一個優秀的編程環境,而是能圍繞這個系統形成團體。按我們自己的經驗,通過遠程訪問和分時主機實現的公共計算,本質上不只是用終端輸入程序代替打孔機而已,而是鼓勵密切溝通。」丹尼斯·里奇說。
UNIX 是第一個靠近理想的系統,在這裡程序員可以坐在機器前自由擺弄程序,探索各種可能性並隨手測試。在 UNIX 整個生命周期里,它吸引了大量因其他操作系統限制而投身過來的高手做出無私貢獻,因此它的功能模型一直保持上升趨勢。
UNIX 在 1970 年因為 PDP-11/20 獲得了首次資金注入,之後正式更名為 UNIX 並支持在 PDP-11/20 上運行。UNIX 帶來的第一次用於實際場景中是在 1971 年,貝爾實驗室的專利部門配備來做文字處理。
UNIX 上的 C 語言革命
丹尼斯·里奇在 1972 年發明了一種叫 「C」 的高級編程語言 ,之後他和肯·湯普森決定用 「C」 重寫 UNIX 系統,來支持更好的移植性。他們在那一年裡編寫和調試了差不多 100,000 行代碼。在遷移到 「C」 語言後,系統可移植性非常好,只需要修改一小部分機器相關的代碼就可以將 UNIX 移植到其他計算機平台上。
UNIX 第一次公開露面是 1973 年丹尼斯·里奇和肯·湯普森在 操作系統原理 上發表的一篇論文,然後 AT&T 發布了 UNIX 系統第 5 版,並授權給教育機構使用,之後在 1975 年第一次以 $20.000 的價格授權企業使用 UNIX 第 6 版。應用最廣泛的是 1980 年發布的 UNIX 第 7 版,任何人都可以購買授權,只是授權條款非常嚴格。授權內容包括源代碼,以及用 PDP-11 彙編語言寫的及其相關內核。反正,各種版本 UNIX 系統完全由它的用戶手冊確定。
UNIX 分支演化
(來自 wikipedia.org,CC BY-SA 3.0)
AIX 系統
在 1983 年,微軟計劃開發 Xenix 作為 MS-DOS 的多用戶版繼任者,他們在那一年花了 $8,000 搭建了一台擁有 512 KB 內存以及 10 MB硬碟並運行 Xenix 的 Altos 586。而到 1984 年為止,全世界 UNIX System V 第二版的安裝數量已經超過了 100,000 。在 1986 年發布了包含網際網路域名服務的 4.3BSD,而且 IBM 宣布 AIX 系統的安裝數已經超過 250,000。AIX 基於 Unix System V 開發,這套系統擁有 BSD 風格的根文件系統,是兩者的結合。
AIX 第一次引入了 日誌文件系統 (JFS) 以及集成LVM( 邏輯卷管理器 )。IBM 在 1989 年將 AIX 移植到自己的 RS/6000 平台。2001 年發布的 5L 版是一個突破性的版本,提供了 Linux 友好性以及支持 Power4 伺服器的邏輯分區。
在 2004 年發布的 AIX 5.3 引入了支持APV( 高級電源虛擬化 )的虛擬化技術,支持對稱多線程、微分區,以及共享處理器池。
在 2007 年,IBM 同時發布 AIX 6.1 和 Power6 架構,開始加強自己的虛擬化產品。他們還將高級電源虛擬化重新包裝成 PowerVM。
這次改進包括被稱為 WPARs 的負載分區形式,類似於 Solaris 的 zones/Containers,但是功能更強。
HP-UX 系統
HP-UX( 惠普 UNIX ) 源於 System V 第 3 版。這套系統一開始只支持 PA-RISC HP 9000 平台。HP-UX 第 1 版發佈於 1984 年。
HP-UX 第 9 版引入了 SAM,一個基於字元的圖形用戶界面 (GUI),用戶可以用來管理整個系統。在 1995 年發布的第 10 版,調整了系統文件分布以及目錄結構,變得有點類似 AT&T SVR4。
第 11 版發佈於 1997 年。這是 HP 第一個支持 64 位定址的版本。不過在 2000 年重新發布成 11i,因為 HP 為特定的信息技術用途,引入了 操作環境 和 分級應用 的 捆綁組 。
在 2001 年發布的 11.20 版宣稱支持 安騰 系統。HP-UX 是第一個使用 ACLs( 訪問控制列表 )管理文件許可權的 UNIX 系統,也是首先支持內建 邏輯卷管理器 的系統之一。
如今,HP-UX 因為 HP 和 Veritas 的合作關係使用了 Veritas 作為主文件系統。
HP-UX 目前的最新版本是 11iv3, update 4。
Solaris 系統
Sun 的 UNIX 版本是 Solaris,用來接替 1992 年創建的 SunOS。SunOS 一開始基於 BSD( 伯克利軟體發行版 )風格的 UNIX,但是 SunOS 5.0 版以及之後的版本都是基於重新包裝為 Solaris 的 Unix System V 第 4 版。
SunOS 1.0 版於 1983 年發布,用於支持 Sun-1 和 Sun-2 平台。隨後在 1985 年發布了 2.0 版。在 1987 年,Sun 和 AT&T 宣布合作一個項目以 SVR4 為基礎將 System V 和 BSD 合併成一個版本。
Solaris 2.4 是 Sun 發布的第一個 Sparc/x86 版本。1994 年 11 月份發布的 SunOS 4.1.4 版是最後一個版本。Solaris 7 是首個 64 位 Ultra Sparc 版本,加入了對文件系統元數據記錄的原生支持。
Solaris 9 發佈於 2002 年,支持 Linux 特性以及 Solaris 卷管理器 。之後,2005 年發布了 Solaris 10,帶來許多創新,比如支持 Solaris Containers,新的 ZFS 文件系統,以及 邏輯域 。
目前 Solaris 最新的版本是 第 10 版,最後的更新發佈於 2008 年。 (LCTT 譯註:據微信網友 @atoningfang濤 指出,Solaris 11.3 才是當前最新版本,發佈於 2015/8/26。)
Linux
到了 1991 年,用來替代商業操作系統的 自由 操作系統的需求日漸高漲。因此,Linus Torvalds 開始構建一個自由的操作系統,最終成為 Linux。Linux 最開始只有一些 「C」 文件,並且使用了阻止商業發行的授權。Linux 是一個類 UNIX 系統但又不盡相同。
2015 年發布了基於 GNU Public License (GPL)授權的 3.18 版。IBM 聲稱有超過 1800 萬行開源代碼開源給開發者。
如今 GNU Public License 是應用最廣泛的自由軟體授權方式。根據開源軟體原則,這份授權允許個人和企業自由分發、運行、通過拷貝共享、學習,以及修改軟體源碼。
UNIX vs. Linux:技術概要
- Linux 鼓勵多樣性,Linux 的開發人員來自各種背景,有更多不同經驗和意見。
- Linux 比 UNIX 支持更多的平台和架構。
- UNIX 商業版本的開發人員針對特定目標平台以及用戶設計他們的操作系統。
- Linux 比 UNIX 有更好的安全性,更少受病毒或惡意軟體攻擊。截止到現在,Linux 上大約有 60-100 種病毒,但是沒有任何一種還在傳播。另一方面,UNIX 上大約有 85-120 種病毒,但是其中有一些還在傳播中。
- 由於 UNIX 命令、工具和元素很少改變,甚至很多介面和命令行參數在後續 UNIX 版本中一直沿用。
- 有些 Linux 開發項目以自願為基礎進行資助,比如 Debian。其他項目會維護一個和商業 Linux 的社區版,比如 SUSE 的 openSUSE 以及紅帽的 Fedora。
- 傳統 UNIX 是縱向擴展,而另一方面 Linux 是橫向擴展。
via: http://www.unixmen.com/brief-history-aix-hp-ux-solaris-bsd-linux/
作者:M.el Khamlichi 譯者:zpl1025 校對:Caroline
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive