dmb*_*dmb 11 linux boot history historical-unix
嗯,我从 80 年代末开始接触计算机(实际上我就像 3 岁)。走了一里路:Atari Xl-XE、MS-DOS、Windows 3.1、95 等。然后因为外观而开始使用 Linux(是的,我知道,Compiz-Fusion是探索 Linux 的真正原因),现在安装在我所有的机器。我什至在 Windows 10 中有它。
我以前从头开始组装机器,你总是可以启动到“MS-DOS”,这就是我记得的,这让我感到奇怪。
Unix 是如何在 80 年代或 70 年代后期安装的(我什至还没有活着)?是否像启动大软盘或涉及黑魔法一样微不足道?
碰巧我找不到任何对它的引用,而我国家的人就是没有得到自由软件的东西。
编辑:
我跳过了一个关键部分,我觉得自己很愚蠢,因为我一开始没有考虑到这一点。
一切都从启动顺序开始,它不是操作系统,而是在 ROM 内存中,例如 BIOS(在我看来是用于机器配置的非常简约的操作系统)和其他东西,例如启动顺序。在这个阶段,它将查找 BIOS 中列出的设备,然后按顺序迭代它们,直到一个设备响应引导指令,就像磁带中的那些。所以不需要初始操作系统,可以安装 Unix。
愚蠢的错误,带你走很长的路,但你肯定会学到更多。
我在 80 年代安装 Unix 的经验是在 PDP-11 上,安装过程实际上非常有趣。事实上,我今晚(在模拟器上)做到了,这是多年来的第一次......
PDP-11 的 Unix V7 以磁带形式分发。磁带里有几个文件,一个接一个。
cat程序。当我说“独立”时,我的意思是它直接在裸机上运行(根本没有任何操作系统);它是使用与引导加载程序相同的独立设备驱动程序和文件系统驱动程序编写的。您可以使用引导加载程序加载并运行它。当它启动时,你告诉它你想从哪个设备读取文件,以及读取哪个文件。它读取它,打印出来,然后退出。这就是它的全部作用。这的用处有限。mkfs程序。它是使用与其他独立程序相同的独立设备驱动程序和文件系统驱动程序库构建的,并且它也运行在裸机上,没有操作系统。您可以使用引导加载程序加载并运行它,它会询问您想要在哪个磁盘(和分区)上创建文件系统,以及文件系统应该有多大,然后它会在上面写出初始文件系统结构您告诉它的设备和分区。然后它就会退出。restor程序(是的,很像creat()系统调用,restor拼写时没有“e”......)。您可以使用引导加载程序加载并运行它。同样,它在裸机上运行,没有操作系统。它会要求一个包含文件系统转储的磁带文件,以及一个用于恢复它的磁盘分区。然后,它就会这样做。然后它就会退出。就是这样 - 这就是你得到的。
所以,如果你有这盘磁带,你就必须以某种方式开始这个过程。一些 PDP-11 具有引导 ROM,知道如何从设备(如磁带或磁盘)加载第一个块并跳转它。(对于该磁带,第一个块是小于 512 字节的可执行代码,它知道如何加载引导加载程序的其余部分。)但是,我使用的第一个 PDP-11 没有引导程序 ROM。每次启动机器时,我们都必须输入启动代码以加载设备的第一个块并跳转到它。用手。在二进制中......幸运的是,它非常短(例如,读取 TU16 或 TE16 磁带驱动器的第一个块并跳转到它的代码只有 6 个字或 12 个字节),并且我们有引导代码写在贴在机器上的一张纸上。不用说,我们尽最大努力不惜一切代价避免重新启动机器......
因此,考虑到所有这些......安装系统的一般过程是:
mkfs程序(磁带上的第四个文件),以在硬盘分区上奠定根文件系统的结构。restor程序(磁带上的第五个文件),将根文件系统(磁带上的第六个文件)的文件系统转储恢复到硬盘上。mkfs和restor命令在硬盘的另一个分区上创建 /usr 文件系统,并将 /usr 文件系统的文件系统转储恢复到您刚刚准备的分区。然后,除了将引导代码安装在硬盘上的第一个磁盘块中之外,您就基本完成了(因此您的引导 ROM 或您手动输入的引导代码可以在您重新启动系统时运行它),一些系统调整项目,并按照您想要的方式设置一些东西。
在 20 世纪 70 年代和 1980 年代的很长一段时间内,许多 Unix 发行版都安装了这样的程序。Berkeley Unix(4.2BSD及更高版本)提供了具有非常相似结构的分发磁带,以及非常相似的安装过程。
如果您想查看 Charles Haley 和 Dennis Ritchie 自己在 PDP-11 上安装 V7 Unix 的说明,您可以在这里找到它们。我今晚只是按照这些说明进行操作,它们工作得很好。;-)