为什么Unix是“自我支持”的?


63

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


3
值得一看的是Diomidis Spinellis 在FOSDEM 2018上有关Unix演变的演讲; 我也很喜欢利亚姆·普罗
旺(

5
还可能需要询问Retrocomputing上的非自支持操作系统,您可能会在其中获得非常详细的答案。
斯蒂芬·基特

5
自给自足的另一个术语是自托管
-Nayuki

出于其他人列出的相同原因,将其称为独立的同样准确。除嵌入式/小型系统外,不仅可以编译新系统(内核,用户区),而且通常还提供手册页和文档。
user2497 '18

Answers:


97

引用本文后,您会立即解决标题中的问题:

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

因此,“自我支持”意味着一旦安装了Unix系统,它便是自给自足的,它的用户可以使用它来对系统本身进行更改。上面引述中的“此问题”指的是《贝尔系统技术期刊》,第57卷,第6期,第2部分,1978年7月至8月,内容全都与Unix系统有关(并且使对Unix及其历史感兴趣的任何人都着迷于此) 。

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


20
排版工具(roff)对于早期的Unix至关重要。部分资金来自承诺生产文档排版系​​统。
库萨兰达

22
@Kusalananda IIRC,来自原始Unix / C团队的书面记录,他们要求允许在小型简化OS上工作,因为Multix太迟了,但没有得到许可。然后他们开始了开发文档管理系统的工作(排版只是其中的一部分,其他部分包括文件系统和文件编辑器),然后以典型的黑客方式决定编写一个OS来开发产品
slebetman

Multics,即
Artelius

这是否意味着由于团队已将gcc删除为目标应用程序,基于buildroot的操作系统不再自我支持?
tudor

包含的C编译器不是最重要的事情吗?
Faheem Mitha

14

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的强调是自我支持的。


RT-11确实确实具有sysgen并以相同的方式工作。但是,尽管有一个名为TSX-Plus的第三方系统使RT-11成为多用户,但它还是在单用户的常规RT-11系统上运行。
wallyk

10

要回答原始问题,为什么 Unix是自支持的?这是因为没有自我托管的系统很烂。

当需要开发另一个系统时,所得到的系统就不会引起可靠友好可用的注意。

Sequent的早期历史中,他们使用VAXes来开发其类似Unix的操作系统和其他组件。在讲述他们的历史时,工程师自豪地指出,一旦他们的产品最可靠,公司总裁就将VAXes 推开,以便开发必须是自托管的,该公司将de-VAXing视为实现以下目标的主要里程碑:高可靠性并提高用户友好度。

我个人经历了1970年代的几个烦人的,非自托管的开发系统: ISISiRMX据说是在VAXen上开发的,尽管我认为iRMX到1980年代后期可能已经在很大程度上是自托管的。


10
这非正式地被称为“吃自己的狗粮”。在1980年代,很明显软件制造商在内部使用和不使用自己的产品。
user207421 '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.