這篇文章以下問題的解答:
6.1) 聲明,介紹及感謝。
6.2) Unix 簡史
6.3) 主要的 Unix 流派
6.4) Unix 的標準化
6.5) 你所用的 Unix 是哪一種流派。
6.6) 請簡要介紹一些知名的 (商業化/PD) Unix
6.7) 即時的 Unix
6.8) Unix 用語匯編
6.1) 聲明,介紹及感謝。
我並無法保証以下內容的完整性及正確性。我只是利用有限的時間盡量去做
(常碰到互相沖突的資料),未來還有很多要做。我希望能持續改進這份文
件。歡迎您的批評與指教:lew@bnr.ca。
首先讓我們先為 UNIX 下個簡短的定義。我們所提的 Unix 指的是一個通
常是由 C 寫成的作業系統,它有階層式的檔案系統,統合了檔案和裝置(device)
I/O,其系統函式呼叫(system call)介面包含了如 fork(),pipe() 等服務,
而且它的使用者介面包含 cc,troff,grep,awk 之類的工具及某一種
shell。UNIX 過去是 USL(AT&T) 的注冊商標,現在則是 X/Open 的注冊
商標。本文所指的 UNIX 是一般通用的意義,而不是那個注冊商標。
絕大多數的 Unix 或多或少都用了來自 AT&T(現在則是 Novell)的程式
碼(大部分的 Unix 裡面可能都還有使用第一版 C 語言所寫的程式),
但是也有些是自己從頭寫一個一模一樣的 Unix。(就是寫得和 Unix 完全
相容但是卻沒有用到 AT&T 的程式碼。)
此外還有一些建構別種 OS 上的 Unix-like 環境,例如 VOS;以及向 UNIX
借用靈感的的 OS,例如 MS-DOS。這些都不在本文的討論范圍裡。對即時(
real-time)的 Unix 本文也討論得不多。
UNIX 的流派實在多得令人難以置信。主要的原因是因為 Unix 的原始程式容易
取得、修改與移植。一般廠商的典型作法是以某一流派為主體再加入其他流
派的特色。如此一來又產生了另一個新的流派。目前 Unix 有數百款,如果
說有一種可當成圭臬的話,那應該是 System V 吧。
本文的內容大部份取自網路上流傳的資訊。如果取自其他來源,則會在適當的章
節中加以說明。
特別感謝:pat@bnr.ca,guy@auspex.com, pen@lysator.liu.se,
mikes@ingres.com,mjd@saul.cis.upenn.edu, root%candle.uucp@ls.com,
ee@atbull.bull.co.at, Aaron_Dailey@stortek.com, ralph@dci.pinetree.org,
sbdah@mcshh.hanse.de,macmach@andrew.cmu.edu, jwa@alw.nih.gov[4.4BSD],
roeber@axpvms.cern.ch,bob@pta.pyramid.com.au,bad@flatlin.ka.sub.org,
m5@vail.tivoli.com,dan@fch.wimsey.bc.ca, jlbrand@uswnvg.com,
jpazer@usl.com,ym@satelnet.org,merritt@gendev.slc.paramax.com,
quinlan@ygg.drasil.com,steve@rudolph.ssd.csd.harris.com,
bud@heinous.isca.uiowa.edu,pcu@umich.edu,quinlan@yggdrasil.com,
Dan_Menchaca@quickmail.apple.com,D.Lamptey@sheffield.ac.uk,
derekn@vw.ece.cmu.edu, gordon@PowerOpen.org, 許多我忘了名字的人,
以及許多我曾拜讀他們文章的人。
6.2) Unix 簡史
Unix 的歷史開始 1969,Ken Thompson、Dennis Ritchie (K&R 裡的那個
R) 與一群人在一部『位角落且乏人問津的 PDP-7』上進行的一些工
作,來這個系統變成了 Unix。"UNIX" 這個字(最初是寫成 Unics,
Uniplexed Information and Computering System)有一點玩弄 "Multics" 這個字
的意味。
最初十年間,Unix 的發展基本上都是在 Bell Labs 裡完成的。最初的幾個
版本稱為 "Version n" 或 "Nth Edition" ,是給 DEC 的 PDP-11(16 bits) 與
其下一代產品 Vax(32 bits)用的。主要的幾個版本為:
V1 (1971): 第一版的 Unix,以 PDP-11/20 的組合語言寫成。包括檔案系統
(file system)、fork()、roff、ed 等東西。是用來給 AT&T 的專利部門
處理文件用的。Pipe() 出現 V2。
V4 (1973): 以 C 語言從頭寫過,這或許是 OS 歷史上最重要的一個事
件,這表示 Unix 修改容易,可以幾個月內移植到新的硬體架構上。最
初 C 語言是為 Unix 設計的,所以 C 與 Unix 間有緊密的關系。
V6 (1975): 第一個在 Bell Labs 外(尤其是大學中)廣為流傳的 Unix 版
本。這也是 Unix 歧異的起點與廣受歡迎的開始。1.xBSD(PDP-11) 就
是由這個版本衍生出來的。J. Lions 的“A Commentary on the Unix
Operating System" 也是以 V6 為本。
V7 (1979): 在許多 Unix 玩家的心目中,這是『最一個真正的 UNIX』,
也是『空前絕的一個 Unix』[Bourne 說的],這個版本包括一個完整
K&R C、Bourne shell。V7 移植到 VAX 上稱為 32V。 V7 的 kernel
只有 40 Kbytes!
底下列出 V7 的系統呼叫,供「進之輩」們憑吊瞻仰:
_exit, access, acct, alarm, brk, chdir, chmod, chown,
chroot, close, creat, dup, dup2, exec*, exit, fork, fstat,
ftime, getegid, geteuid, getgid, getpid, getuid, gtty,
indir, ioctl, kill, link, lock, lseek, mknod, mount,
mpxcall, nice, open, pause, phys, pipe, pkoff, pkon,
profil, ptrace, read, sbrk, setgid, setuid, signal, stat,
stime, stty, sync, tell, time, times, umask, umount,
unlink, utime, wait, write.
以上這些 "Vn" 版都是由 Bell Labs 裡?nbsp;Computer Research Group(CRG)
發展的。另一個Unix Support Group(USG) 負責支援服務。Bell Labs 裡還
有另一個與 Unix 發展相關的團體 Programmer's WorkBench(PWB) 則做出
了 sccs、named pipe 及一些其它的東西。USG 與 PWB 來 1983 年
合並成 Unix System Developement Lab。
此外 Bell Labs 在 Columbus 的分支機構,負責發展 Operations Support
System 也做了一版的 Unix 稱為 CB Unix (Columbus Unix)。System V IPC
就是從 CB Unix 來的。
到了1980 年代 Bell labs 未放棄 Unix。CRG 仍繼續發展 V 系列的
Unix (Stroustrrup 在它的 C++ 第二版裡就提到了 V10),不過並未對外發
表。目前發展 Unix(System V) 的公司是 Unix System Laboratories(USL)。
USL 本為 AT&T 所有,'93 年初被 Novell 收購。Novell '93 年末將
"UNIX" 這個注冊商標轉給 X/Open。
除了 AT&T 所屬的機構外,有不少地方也對 Unix 的改進做出了貢獻,例
如 Berkeley 就自成一大流派。有不少廠商(尤其是賣工作站的)也對 Unix
的發展有所貢獻(如 Sun 的 NFS)。
對任何對 Unix 有興趣的人而言 Don Libes 與 Sandy Ressler 所寫的 "Life
with Unix" 是一本有趣的書。此書講了許多 Unix 的歷史與發展及一些軼
事。本文多採此書之說。
/* 譯注: Life with Unix 在台灣並沒有書局代理進口, 非常可惜!
這本書裡面有很多關 Unix 的故事, 有興趣可以來我們這兒泡泡茶,
看看這本故事書 */
6.3) 主要的 Unix 流派
目前為止,UNIX 有兩大流派:那就是 AT&T 的 System V (讀 five, 不讀 v)
與 BSD (Berkeley Software Distribution)。SVR4 是兩大流派融合的產物。
'91 年底,與 System V 針鋒相對的 Open Software Foundation 推出了 OSF/1,
或許 OSF/1 會改變市場生態。
/* 譯注:由今日('95)觀之,OSF/1 應該是無法挑戰 System V 了 */
以下是 System V、BSD、OSF/1 的主要版本以及特色。
AT&T 的 System V。Intel 系列的機器多半使用此系列。移植版本最多的 Unix,
當然在移植時都會加入一些由 BSD 發展的有用功能,例如 csh、job control、
termcap、curses、vi、symbolic link。目前 System V 的發展是由 Unix
International(UI) 負責監控。UI 的成員包括 AT&T、Sun 等。
網路討論區: comp.unix.sysv[23]86。主要版本:
- System III (1982): AT&T 第一個拿來賣錢的 UNIX
- FIFOs (named pipes) (later?)
- System V (1983):
- IPC package (shm, msg, sem)
- SVR2 (1984):
- shell 函數 (sh)
- SVID (System V Interface Definition)
- SVR3 (1986) for ? platforms:
- STREAMS (從 V8 得來的靈感), poll(), TLI (網路軟體)
- RFS
- 共用程式庫(shared libs)
- SVID 2
- demand paging (如果硬體有支援的話)
- SVR3.2:
- 並入 Xenix (Intel 80386)
- 網路
- SVR4 (1988), 融合了 System V、BSD、SunOS 是各種 UNIX 中
的主流
- 取自 SVR3 者: 系統管理, terminal 界面, 印表機 (from BSD?),
RFS, STREAMS, uucp
- 取自 BSD 者: FFS, TCP/IP, sockets, select(), csh
- 取自 SunOS 者: NFS, OpenLook GUI, X11/NeWS,
具有記憶體映對檔案的虛擬記憶體子系統(virtual memory
subsystem with memory-mapped files), 共用程式庫
(!= SVR3 ones?)
- ksh
- ANSI C
- 國際化(Internationalization) (8-bit clean)
- ABI (Application Binary Interface -- routines instead of traps)
- POSIX, X/Open, SVID3
- SVR4.1
- 非同步 I/O (from SunOS?)
- SVR4.2 (based on SVR4.1ES)
- Veritas FS, ACLs
- 動態載入核心模組
- Future:
- SVR4 MP (多處理器)
- 使用 Chorus 微核心?
Berkeley Software Distribution (BSD)。VAX、RISC、各式工作站多用之。
比起 System V 來 BSD 的變動比較快而且學術研究的味道比較濃一點。
Unix 之所以能夠流行,BSD 居功闕偉。許多對 Unix 的加強改進都是由
BSD 先做出來的。在 UCB (University of California at Berkeley) 中負責 BSD
的是 Computer System Research Group(CSRG)。CSRG 已 1992 年關門大吉。
網路討論區: comp.unix.bsd。主要的版本如下:
- 2.xBSD (1978) 給 PDP-11 用的, 這個系統好像還活的樣子(1992
還推出了 2.11BSD!).
- csh
- 3BSD (1978):
- 虛擬記憶體
- 4.?BSD:
- termcap, curses
- vi
- 4.0BSD (1980):
- 4.1BSD (?): 來 AT&T CRG 版本皆以此為本
- job 控制
- automatic kernel config
- vfork()
- 4.2BSD (1983):
- TCP/IP, sockets, ethernet
- UFS: 長檔名, symbolic links
- 新的 reliable signals (SVR3 採用了 4.1 的 reliable signals)
- select()
- 4.3BSD (1986) for VAX, ?:
- 4.3 Tahoe (1988): 4.3BSD 附加對 Tahoe(一款32位元的超級迷你電腦)
的支援及一些新東西
- Fat FFS
- 新的 TCP 演算法
- 4.3 Reno (1990) for VAX, Tahoe, HP 9000/300:
- 大部份的 P1003.1
- NFS (from Sun)
- MFS (記憶體檔案系統)
- OSI: TP4, CLNP, ISODE's FTAM, VT and X.500; SLIP
- Kerberos
- Net1 (?) 與 Net2 (June 1991) 磁帶: BSD 中不侵犯 USL 版權的部份
- 4.4BSD (alpha June 1992) for HP 9000/300, Sparc, 386, DEC, others;
已經不支援 VAX 與 Tahoe; 有兩個版本, 一個是 lite (大約是 Net2 的
內容,加上修正與新的架構); 另一個是 encumbered (內容一應俱全,但需
USL 授權):
- 以 Mach 2.5 為基礎的新型虛擬記憶體系統 (VMS),
- 虛擬檔案系統介面, log-structured 檔案系統, 本地檔案系統
的大小可達 2^63, NFS (可以免費流傳,可以跟 Sun 的 NFS 並存,
架在 UDP 或 TCP 之上)
- ISO/OSI 網路支援 (以 ISODE 為基礎): TP4/CLNP/802.3 以及
TP0/CONS/X.25, session 及更高層的協定則放在 user space;
FTAM, VT, X.500。
/*
譯注: FTAM 跟 TCP/IP 網路的 ftp 協定相當
VT 則跟 telnet 相當, X.500 則是 directory service
*/
- 大部分是 POSIX.1 (特別是新增的 SV 形式終端機驅動程式),有很多
POSIX.2, 改進過的 job control; ANSI C 表頭檔
- Kerberos 以整合入系統內許多地方 (包含 NFS)
- TCP/IP 加強 (包含表頭預測, SLIP)
- 重要的核心修改 (新式系統呼叫慣例, ...)
- 其他改進: FIFOs, 以位元組為范圍做檔案鎖定
正式的 4.4BSD 版本原來預計在 alpha 版 6 個月發表。
/* 譯注: 結果是在 '93 年六七月間發表 */
Open Software Foundation(OSF) 1991 年底推出了OSF/1。OSF/1 需要
SVR2 授權。符合 SVID 2、SVID 3、POSIX、X/Open 等標準。
Apollo、Dec、HP、IBM 等大廠商都是 OSF 的成員。
- OSF/1 (1991):
- 以 Mach 2.5 的核心為基礎
- 對稱式多重處理, 平行化的核心, 處理緒(thread)
- 邏輯式容量(logical volumes), 磁碟鏡射(disk mirroring),
UFS (原生的), S5 FS, NFS
- 系統安全之加強(B1 加一些 B2, B3 或 C2), 4.3BSD 的系統管理
- STREAMS, TLI/XTI, sockets
- 共用程式庫, 動態程式載入器 (包括核心)
- Motif GUI
- Release 1.3 (Jun 94)
- 以 MACH 3.0 的微核心為基礎
- 符合目前規格 1170 草案的標準
(在 X/Open 的 Fast Track 程序中考慮過要將此標準化)
- Data Capture I/F, Common Data Link I/F,
- 支援ISO 10646 與 64-bit
- 以 Mach 3.0 為基礎的 OSF/1 MK (mircokernel)
以上關 Unix 主要流派的列表或許該把 Microsoft 的 Xenix 也列出,因
為有不少 Unix 的分支是拿 Xenix 去改的。Xenix 是從 V7、System III、
System V 改出來的,外觀沒什重大的改變,內部則為了求得在微電腦上
使用時有較好的表現而做了小的更動。
關 Unix 兩大流派的內部有兩本好書可供參考。
- System V: "Design of the Unix Operating System", M.J. Bach.
- BSD: "Design and Implementation of the 4.3BSD Unix Operating System",
Leffler, McKusick, Karels, Quaterman.
關 OSF/1 的介紹可參考 O'Reilly 出版的 "Guide to OSF/1, A Technical
Synopsis" 一書。關 SunOS,可參考 Summer 1989 USENIX Proceedings
裡的“Virtual Memory Architecture in SunOS" 與 "Shared Libraries in
SunOS"。
92 年 4 月號的 Unix Review 有一系列關各種 Unix 之發展方向。BSD-
FAQ極有參考價值,本文中所提到的幾個網路討論區也值得看看。
6.4) Unix 的標準化
目前(95年初) Unix 標準化的主要參與者:
- Novell 在 93 年初買下 USL 成為原始程式的擁有者。
- X/Open 可決定誰能使用 "UNIX" 這個商標當產品名稱。
- OSF 具有雙重身分:其一為 OSF/1 與 Motif 的發展者,其二為 COSE
之發展的監控組織。 OSF 1994 年重組,Sun 成為了 OSF 中
的一員,OSF 與 X/Open 之間的關系也正常化了。
- IEEE 訂定 POSIX 與 LAN 的相關標準。
- IBM、Apple、Motorola、Bull 以及其他廠商合組了 PowerOpen 來推動
PowperPC。別把它與一個也叫做 PowerOpen 的圖形環境搞混了。
底下是一些與 Unix 有關的標準之簡述:
- IEEE:
- 802.x (LAN) standards (LLC, ethernet, token ring, token bus)
- POSIX (ISO 9945?): Portable Operating System I/F (Unix, VMS
and OS/2!) (目前唯一已定案的標準?)
- 1003.1: 函數庫(大部分是 system call) -- 除了 signals 與
terminal 界面外多取自 V7
- 1003.2: shell 與公用程式
- 1003.3: 測試方法與合格標準
- 1003.4: real-time: binary semaphores, process memory
locking, memory-mapped files, shared memory,
priority scheduling, real-time signals, clocks and
timers, IPC message passing, synchronized I/O,
asynchronous I/O, real-time files
/* 譯注: 翻了反而看不懂... :)
即時性: 雙態信號、執行體記憶體鎖定、記憶體映對檔案、
共用記憶體、優先序排程、即時通告、時脈與定時器、
IPC 訊息傳送、同步輸出入、非同步輸出入、即時檔案。
*/
- 1003.5: Ada language bindings
- 1003.6: 系統安全
- 1003.7: 系統管理(包括印表)
- 1003.8: 透通式檔案存取(transparent file access)
- 1003.9: FORTRAN language bindings
- 1003.10: 高速計算(super computing)
- 1003.12: 與協定種類無關的介面(protocol-independent I/Fs)
- 1003.13: 即時外觀(real-time profiles)
- 1003.15: 高速計算批次處理介面(supercomputing batch I/Fs)
- 1003.16: C-language bindings (?)
- 1003.17: directory services
- 1003.18: POSIX standardized profile
- 1003.19: FORTRAN 90 language bindings
- X/Open (由廠商籌設的組織, 成立 1984 年):
- X/Open Portability Guides (XPGn):
- XPG2 (1987), 非常傾向 SV
Vol 1: 命令與公用程式
Vol 2: 系統呼叫與函數庫
Vol 3: terminal 界面(curses, termio), IPC (SV),
國際化
Vol 4: 程式語言 (C, COBOL!)
Vol 5: 資料管理(ISAM, SQL)
- XPG3 (1989) adds: X11 API
- XPG4 (1992) adds: XTI? 22 個元件
- XOM 系列的介面:
- XOM (X/Open Object Management) 需遵循的通用介面機制(generic
I/F mechanisms for following)
- XDS (X/Open Directory Service)
- XMH (X/Open Mail ??)
- XMP (X/Open Management Protocols) -- 不是 Bull's CM API?
- X/Open 此時已有權管理 "UNIX" 商標 ('93 年底);
- "Spec 1170"
- 此規格目前正在籌備當中,是一個共通的 API, 要使用 UNIX 這個
名稱的廠商必需遵循此 API 的規格。這是結合 SVID、OSF 的 AES
與其他東東而成。
- AT&T
(在 1994 年這些已經無關緊要了? 現在是誰負責 SVID, TLI, APLI?)
- System V Interface Definition (SVID)
- SVID1 (1985, SVR2)
Vol 1: 系統呼叫與函數庫(類似XPG2.1)
- SVID2 (1986, SVR3)
Vol 1: 系統呼杏牒?基礎,核心延伸)
Vol 2: 指令與公用程式 (基礎,進階,管理,軟體發展
), 終端機介面
Vol 3: 終端機介面(又來了), STREAMS and TLI, RFS
- SVID3 (19??, SVR4) adds
Vol 4: ?? &c
- APIs
- Transport Library Interface (TLI)
- ACSE/Presentation Library Interface (APLI)
- COSE (COmmon Open Software Environment) [IBM, HP, SunSoft, others]:
目的在使不同的 Unix 平台可以更緊密地結合。
大概可以劃分為底下幾個項目:
- 桌面環境
- 應用程式的API (也就是Spec 1170 -- 一個統一的程式介面) --
可能是目前為止最重要的成就。消彌了SCO、AIX、Solaris、
HP-UX、UnixWare 間的差異。
- 分散式計算環境(OSF 的DCE 與 SunSoft 的ONC)
- 物件技術 (OMG 的 CORBA)
- 繪圖
- 多媒體
- 系統管理
- PowerOpen Environment (POE)由 PowerOpen Association(POA) 所推動。
是個在 PowerPC 這顆 chip 上 用的 Unix-like OS 的標準。定義了:
- 一個API (應用程式介面,主要源 AIX, 符合 POSIX、
XPG4、Motif、與 C 的標準) 與
- 一個ABI (application binary i/f),這是與其他標準差異最大之處,
POSIX, XPG4, &c.都沒有這個東西。任何符合 POE 的系統應該可以
執行所有的 POE 軟體。
重要的特色:
- 建構 PowerPC 上
- 與硬體匯流排無關
- 從膝上型電腦到超級電腦都可以用的系統
- 必須是個多人多工的作業系統
- 支援網路
- X windows 的擴充, Motif
- 是否符合標準由一個獨立的機構(POA)來測試與認定
AIX 4.1.1 將會符合PowerOpen。MacOS 目前不遵循 PowerOpen,也
不打算遵循 PowerOpen。
[以上取自comp.sys.powerpc 的 powerpc-faq]
IBM 在 COSE 與 POE 中都摻了一腳,這兩個組織會有怎樣的關系頗
令人玩味。
6.5) 你所用的 Unix 是哪一種流派。
這個小節列出一些材料供您參考,看看能不能讓您藉此找出您所用的 UNIX
屬哪一種流派。由各流派之間的程式碼或想法上都會大量交流,
而且廠商也會自行許多修改,因此,類似「本 Unix 是 SVR2」這一類的說法,
充其量只是統計上的敘述(但有些 SVRn 的移植除外)。
也有許多 Unix 同時提供這兩個世界的大多數功能(不論是像 SunOS 一樣
把這兩個世界融合在一起,或者像 Apollo 一樣把這兩個世界做嚴格的劃分)。
所以這個小節也許沒那有用...。
前一小節所列出的特性也有點兒幫助。例如,如果某一個系統有 poll(2) 但
沒有 select(2),那它很有可能是從 SRV3 衍生出來的。同時,您也可以從 OS
的命名或者從簽到訊息當中,找出一些蛛絲馬跡(例如 SGI 的 IRIX SVR3.3.2)
;此外,您也可以利用 "uname -a" 指令的輸出。找尋某些指令是否存在也是
判斷的線索,但是直接探討核心的特性可能是比較可靠的做法。例如終端機
初始化的方式(inittab 或 ttys) 就是一個較可靠的指示,這比起從列印
子系統判斷來的可靠?nbsp;
特性 SVRx 的典型 xBSD 的典型
核心名稱 /unix /vmunix
終端機啟動 /etc/inittab /etc/ttys (only getty to 4.3)
開機啟動 /etc/rc.d directories /etc/rc.* files
加掛檔案系統 /etc/mnttab /etc/mtab
常用的shell sh, ksh csh, #! hack
原生檔案系統 S5 (blk: 512-2K) UFS (blk: 4K-8K)
檔案名稱 <= 14 bytes 檔案名稱 < 255 bytes
群組 必須使用 newgrp(1) 自動加入成員
SVR4: 多重群組
列印子系統 lp, lpstat, cancel lpr, lpq, lprm (lpd daemon) ??
終端機控制 termio, terminfo, termios (sgtty before 4.3reno)
SVR4: termios (POSIX) termcap
工作控制 >= SVR4 yes
ps 指令 ps -ef ps -aux
多重等待 poll select
字串函數 memset, memcpy bzero, bcopy
程序對映 /proc (SVR4)
由我們逐步跨入 90 年代末期,上述的差異已越來越不明顯了。
6.6) 請簡要介紹一些知名的 (商業化/PD) Unix
我一點也不滿意這節的內容,很不幸地我既沒有時間也沒有文件讓它的
內容更為完善。在此只列出一些較多人使用的 Unix, 至其他小型或
者非美國地區出品的 Unix 也歡迎補充,像是 Eurix。這部分還要再重
寫一次。
/* 譯注: 這一段我也翻得不太滿意, 也要跟重譯一次 :) */
這個小節依字母順序列出一些廣為人知的 Unix,並且對他們的本性做
簡要的敘述。很不幸的,在定義上它幾乎過時了...
(只排列字母,但忽略數字與其他字元)
AIX: IBM 的 Unix, 是根據 SVR2 (最近已經出到 SVR3.2?) 以及程度不一的
BSD 延伸而來, 並加上各種硬體的支援。具備特有的系統管理(SMIT)。
同時具有 850 與 Latin-1 CPs (Code Page, 內碼頁)。它不僅跟大多數的
Unix 不相同,連 AIX 各版本之間也有許多相異之處。
網路討論區: comp.unix.aix.
- 1.x (for 386 PS/2)
- 2.x (for PC RTs)
- 3.x (for RS/6000), 分頁式核心,邏輯式容量管理程式,國際化;
3.2 新增 TLI/STREAMS. 以 SV 為核心並加上許多改進。
4.1 是最新版 (包括對 PowerPC 的支援?)
- AIX/ESA, 原來是在 S/370 and S/390 大型主機上執行的,它是根據 OSF/1。
AIX 本來會成為 OSF/1 的基礎,但來 OSF/1 選用 Mach 作為基礎。
我希望這個小節能寫到這裡就好 :-)
AOS (IBM): 移植到 IBM PC RT 的 4.3BSD (這是為教育單位做的).
它的名稱雖然 DG 專有的 OS 名稱相同,但兩者是截然不同的東西。
Arix: SV
A3000UX (Commodore): 以 68030 為基礎的 SVR4 Unix (?),用 Amiga。
A/UX (Apple): SV 加上柏克萊的加強功能, NFS, Mac GUI. System 6
(也就是來的 System 7) 可以當成 A/UX 的程式執行 (與 MachTen 相反)。
網路討論區: comp.unix.aux.
- 2.0: SVR2 加上 4.2BSD, system 6 Mac 應用程式。
- 3.0 (1992): SVR2.2 with 4.3BSD and SVR3/4 延伸; X11R4,
MacX, TCP/IP, NFS, NIS, RPC/XDR, 各類 shells, UFS 或 S5FS.
System 7 應用程式.
- 4.0 將包含 OSF/1(或者就是 OSF/1)。
3B1 (680x0): 根據 SV,是 Convergent 替 AT&T 完成的。
網路討論區: comp.sys.3b1.
BNR/2: 代表 BSD Net/2 Release? 包含 NetBSD/1, FreeBSD。
BOS for Bull's DPX/2 (680x0)
- V1 (1990): SVR3 加上 BSD 延伸 (FFS, select, sockets),
對稱式 MP, X11R3
- V2 (1991): 加上工作控制, 磁碟鏡射, C2 系統安全,
DCE 延伸
- Bull's PPC 工作站也有 BOS/X, 以及與 AIX 相容的 Unix
至上述兩者之間的關系則未知。
386BSD: Jolitz's 從 Net/2 software 移植過來的。支援 Posix, 32 位元,
仍在 alpha 測試階段。(目前版本為 0.1 版)。
/* 譯注: 目前已出到 1.0 版, DDJ 要拿來賣錢的 */
BSD/386 (80386): 來自 BSDI, 附原始程式 (增強的 Net2 軟體)
網路討論區: comp.unix.bsd.
/* 改名為 BSD/OS, 版本 2.x 是以 4.4BSD 為基礎 */
Chorus/MiXV: 架在 Chorus 核心之上的 Unix SVR3.2 (SVR4), ABI/BCS.
Coherent (80286): 另一種 Unix,與 V7 相容, 有一些 SVR2 的東東(IPC).
V4.0 是 32 位元的。網路討論區: comp.os.coherent
Consensys: SVR4.2
CTIX: 根據 SV, 來自 Convergent
D-NIX: SV
DC/OSx (Pyramid): SVR4.
DELL UNIX [DELL 電腦公司.]: SVR4
DomainIX: 請參閱底下的 DomainOS。
DomainOS (Apollo, now HP): 專屬的 OS; 上層架有 BSD4.3 與 SVR3
(process 可以從兩層中任選一層、或者全選,或者都不選)。雖然現
在已經不再發展了,但仍有些特性被 OSF/1 (與 NT) 引用。目前版本為
SR10.4。SR9.* 版本的名稱為 DomainIX。網路討論區: comp.sys.apollo.
DVIX (NT 的 DVS): SVR2
DYNIX (Sequent): 以 4.2BSD 為基礎
DYNIX/PTX: 以 SVR3 為基礎
Esix (80386): 純種的 SVR4, X11, OpenLook (NeWS), Xview
Eurix (80?86): SVR3.2 (德國)
FreeBSD: 綴補過的 386bsd 0.1 程式, 並且有許多更新的工具程式。
/* 譯注: 以上是指 1.x 而言, FreeBSD 2.x 版是拿 4.4BSD lite 從頭改起的 */
FTX: Stratus 容錯作業系統 (68K 或 i860-i960 硬體)
Generics UNIX (80386): SVR4.03 (德國)
GNU Hurd (?): 謠傳已久的軟體,來自免費軟體基金會 (FSF):
架在 Mach 3.0 核心之上的 Unix 模擬器。有許多 GNU 的工具程式
非常受歡迎 (emacs) 並且用許多 PD Unix。
/* 譯注: 此時 GNU Hurd 已經有人使用, 目前在 alpha 測試階段,
可從 ftp://alpha.gnu.ai.mit.edu/.. 取得
*/
HELIOS (Perihelion Software): 用 INMOS transputer 以及多種其他平台
HP-UX (HP): 舊系統是從 S III (SVRx), 現在是 SVR2 (4.2BSD?) 加上 SV
工具程式(他們可能很難下決心...)
- 6.5: SVR2
- 7.0: SVR3.2, symlinks
- 7.5
- 8.0: 以 BSD 為基礎? 用 HP-9000 CISC (300/400) 與 RISC (800/700),
共用程式庫
- 9.0: 加入 DCE
/* 譯注: HP-UX 已經出到 10.0 版了 */
Interactive SV
(http://www.fanqiang.com)
進入【UNIX論壇】
|