什么是UNIX?

这篇文章以下问题的解答:  
   
       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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值