我最近对现代操作系统的历史产生了好奇。既然最好的学习方式就是看自己——我想问:
有没有办法在现代笔记本电脑上下载和安装 Unix System III?最好没有模拟器。
我最近对现代操作系统的历史产生了好奇。既然最好的学习方式就是看自己——我想问:
有没有办法在现代笔记本电脑上下载和安装 Unix System III?最好没有模拟器。
UNOS 是 Charles River Information Systems 的 UNIX 衍生产品。
谷歌和维基百科没有太多关于它的信息。
有没有仍在使用的版本?
我不知道在 Unix V5 和 V6 中该sum
命令使用了什么算法。
起初,我认为它是字节模数 2^16 的简单总和。然而,对于重复 320 次的字符串“1111111111\n”,它计算的校验和为28930(使用Julius Schmidt 的 JavaScript 的 PDP-11 模拟器)。而它的简单字节总和要小两个字节:
$ python -c 'print(sum(bytearray(b"1111111111\n"*320)) & 0xFFFF)'
28928
后来,从MacOS 的手册页中,我发现sum
andcksum
命令有很长的不一致历史。然而,即使是 MacOS 上提供的“历史”算法版本也不同意 Unix V5 的校验和。最接近的匹配是 UNIX System V 的默认sum
命令(在 Mac 上调用,如cksum -o 2
),它为此字符串返回相同的校验和,但不同意其他命令:
$ python -c 'print("1111111111\n"*320, end="")' | cksum -o 2
28930 7
更具体地说,cksum -o 2
和 Unix V5sum
对模拟器中的大多数二进制文件(例如,在文件夹中/bin
)产生不同的输出,尽管它们在大多数文本文件上是一致的。
这是模拟器中的真实行为还是错误?如果是正版,是什么算法?
PS这是源代码,如果有人可以阅读1974年的汇编代码。
我在哪里可以获得原始的 Unix(从 1969 年开始)?我想看看原始Unix的源代码。