⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unix faq

📁 UNIX FAQ 中文版
💻
📖 第 1 页 / 共 2 页
字号:
发信人: wshu (树上的老虎), 信区: Unix
标  题: UNIX FAQ 中文版(六)
发信站: BBS 水木清华站 (Mon May 19 10:21:19 1997)

 这篇文章以下问题的解答:

       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 里? 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 微核心?

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -