next up previous
Next: 請簡要介紹一些知名的 (商業/PD) Unix Up: 各式各樣的 Unix Previous: Unix 的標準化

你所用的 Unix 是哪一種流派。

這個小節列出一些材料供您參考,看看能不能讓您藉此找出您所用的 UNIX 屬於哪一種流派。由於各流派之間的程式碼或想法上都會大量交流, 而且廠商也會自行許多修改,因此,類似「本 Unix 是 SVR2」這一類的說法, 充其量只是統計上的敘述(但有些 SVRn 的移植除外)。

也有許多 Unix 同時提供這兩個世界的大多數功能(不論是像 SunOS 一樣 把這兩個世界融合在一起,或者像 Apollo 一樣把這兩個世界做嚴格的劃分)。 所以這個小節也許沒那麼有用...。

前一小節所列出的特性也有點兒幫助。例如,如果某一個系統有 poll(2) 但 沒有 select(2),那它很有可能是從 SRV3 衍生出來的。同時,您也可以從 OS 的命名或者從簽到訊息當中,找出一些蛛絲馬跡(例如 SGI 的 IRIX SVR3.3.2) ;此外,您也可以利用 "uname -a" 指令的輸出。找尋某些指令是否存在也是 判斷的線索,但是直接探討核心的特性可能是比較可靠的做法。例如終端機 初始化的方式 (inittab 或 ttys) 就是一個較可靠的指示,這比起從列印 子系統判斷來的可靠。

特性 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)
檔案名稱 <= 14 bytes
UFS (blk: 4K-8K)
檔案名稱 < 255 bytes
群組 必須使用 newgrp(1)
SVR4: 多重群組
自動加入成員
列印子系統 lp, lpstat, cancel lpr, lpq, lprm (lpd daemon) ??
終端機控制 termio, terminfo,
SVR4: termios (POSIX)
termios (sgtty before 4.3reno)
termcap
工作控制 >= SVR4 yes
ps 指令 ps -ef ps -aux
多重等待 poll select
字串函數 memset, memcpy bzero, bcopy
程序對映 /proc (SVR4)  

由於我們逐步跨入 90 年代末期,上述的差異已越來越不明顯了。


next up previous
Next: 請簡要介紹一些知名的 (商業/PD) Unix Up: 各式各樣的 Unix Previous: Unix 的標準化
Tan Koan-Sin
1999-03-02