UNIX 家族小史
要記住,當一扇門在你面前關閉的時候,另一扇門就會打開。 肯·湯普森 和 丹尼斯·里奇 兩個人就是這句名言很好的實例。他們倆是 20世紀 最優秀的信息技術專家之二,因為他們創造了最具影響力和創新性的軟件之一: UNIX 。
(題圖來自: wikimedia.org ,CC BY-SA 3.0)
UNIX 系統誕生于貝爾實驗室
UNIX最開始的名字是 UNICS ( UN iplexed I nformation and C omputing S ervice),它有一個大家庭,并不是從石頭縫里蹦出來的。UNIX的祖父是 CTSS ( C ompatible T ime S haring S ystem),它的父親是 Multics ( MULT iplexed I nformation and C omputing S ervice),這個系統能支持大量用戶通過交互式 分時 的方式使用大型機。
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 年。
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
本文由 LCTT 原創編譯,Linux中國 榮譽推出