Next: Unix 的標準化
Up: 各式各樣的 Unix
Previous: Unix 簡史
目前為止,UNIX 有兩大流派:那就是 AT&T 的 System V (讀 five, 不讀 v)
與 BSD (Berkeley Software Distribution)。SVR4 是兩大流派融合後的產物。
'91 年底,與 System V 針鋒相對的 Open Software Foundation 推出了 OSF/1,
或許 OSF/1 會改變市場生態。
9
以下是 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
- 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!).
- 3BSD (1978):
- 4.?BSD:
- 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位元的超級迷你電腦)
的支援及一些新東西
- 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 檔案系統, 本地檔案系統
的大小可達 263, NFS (可以免費流傳,可以跟 Sun 的 NFS 並存,
架在 UDP 或 TCP 之上)
- 支援 ISO/OSI 網路架構 (以 ISODE 此一 implementation 為基礎): TP4/CLNP/802.3 以及
TP0/CONS/X.25, session 及更高層的協定則放在 user space;
FTAM, VT, X.500。
10
- 大部分是 POSIX.1 (特別是新增的 SV 形式終端機驅動程式),有很多
POSIX.2, 改進過的 job control; ANSI C 表頭檔
- Kerberos 以整合入系統內許多地方 (包含 NFS)
- TCP/IP 加強 (包含表頭預測, SLIP)
- 重要的核心修改 (新式系統呼叫慣例, ...)
- 其他改進: FIFOs, 以位元組為範圍做檔案鎖定
正式的 4.4BSD 版本原來預計在 alpha 版 6 個月後發表。
11
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極有參考價值,本文中所提到的幾個網路討論區也值得看看。
Next: Unix 的標準化
Up: 各式各樣的 Unix
Previous: Unix 簡史
Tan Koan-Sin
1999-03-02