为什么 Unix 是“自给自足的”?

aup*_*eti 67 history unix-philosophy

我正在阅读 Ritchie 和 Thompson 关于 Unix 文件系统的论文。他们写道,“值得注意的是,该系统是完全自给自足的”。Unix 之前的系统不是自支持的吗?以什么方式?

Ste*_*itt 100

你的标题中的问题在你在论文中引用后立即得到解决:

所有 Unix 软件都在系统上维护;同样,本文和本期所有其他文档均由 Unix 编辑器和文本格式化程序生成和格式化。

所以“自支持”意味着一旦 Unix 系统设置好,它就是自给自足的,它的用户可以使用它来对系统本身进行更改。上面引述中的“这个问题”指的是Bell System Technical Journal, Volume 57, Number 6, Part 2, July-August 1978(也可以在Internet Archive 上找到),它是关于 Unix 系统的(并且为任何对 Unix 及其历史感兴趣的人)。

Unix 是自支持的这一事实并不意味着之前的所有其他系统都不是。但是有些操作系统确实需要使用其他系统来构建它们(这在后来变得更加普遍,事实上,随着微型计算机的出现,其系统通常是在微型计算机上开发的)。Unix 的新颖之处在于它还包含排版工具,这意味着它不仅可以自行构建,还可以生成在线和印刷文档(我想 Unix 可能不是第一个这样的系统,但它本来可以在最不寻常)。

  • @Kusalananda IIRC,来自原始 Unix/C 团队的书面记录,他们请求许可在一个小型简化操作系统上工作,因为 Multix 太晚了,但没有获得许可。然后他们得到了开发文档管理系统的工作(排版只是其中的一部分,其他部分包括文件系统和文件编辑器),并以典型的黑客风格决定编写操作系统以开发产品 (23认同)
  • 排版工具(`roff`)对于早期的 Unix 至关重要。部分资金来自承诺制作文档排版系​​统。 (21认同)

use*_*421 16

PDP-11 由 Digital Equipment Corporation 制造,制造商为 PDP-11 提供的操作系统是:

  • RT-11
  • RSX-11
  • RSTS/E

其中,至少 RSTS/E 还需要另一个操作系统来生成系统。这是一个单任务单用户磁盘操作系统,当然称为 DOS,它只支持磁带、磁盘、电传打字机、sysgen询问配置问题和创建汇编语言配置文件的程序,以及一个汇编程序和链接程序。该sysgen程序的输出是一个 RSTS/E 可启动操作系统。我不能为 RT-11 或 RSX-11 说话,因为我从来不需要对它们进行系统生成,但是在 1970 年代后期我多次对 RSTS/E 进行了系统生成。

他们sysgen通过 RT-11 运行时系统(并且还有一个 RSX-11 运行时系统)通过 RSTS/E 版本 6b 或可能的 6c 修复了所有这些,该版本托管了程序本身,但所有这些都从大约1968 年。因此强调 Unix 是自给自足的。


wal*_*lyk 11

回答原始问题为什么Unix 自支持?这是因为不是自托管的系统很糟糕。

当需要开发另一个系统时,生成的系统并没有得到对可靠友好可用的关注。

Sequent 的早期,他们使用 VAX 来开发他们的类 Unix 操作系统和其他组件。在讲述他们的历史时,工程师们自豪地表示,一旦他们的产品基本可靠,公司总裁就帮助取消了 VAX,因此开发必须是自托管,公司将取消 VAX 视为一个重要的里程碑,导致高可靠性和驱动用户友好性。

我个人经历了 1970 年代的几个烦人的非自托管开发系统: ISISiRMX,它们据说是在 VAXen 上开发的,尽管我认为 iRMX 可能在 80 年代后期主要是自托管的。

  • 这被非正式地称为“吃自己的狗粮”。在 1980 年代,软件制造商在内部使用和不使用他们自己的产品的情况非常明显。 (10认同)