微软开发的Unix系统——Xenix测评
偶然间在网上找到了这个 16 位能在 8086 上跑的 Unix 系统的镜像,当时没有怎么在意,直到余光瞟过该系统的发行商 —— Microsoft 。
等等,Microsoft ?是我认识的那个 Microsoft 吗?震惊的我连忙上网查资料,原来微软早期还真做过Unix系统,甚至销量十分不错。
具体有关 Xenix 的历史细节网上都能查到资料,肯定比我复制粘贴详细,这里就不多费口水了。
好吧,现在我们直接开始上手,安装 Xenix 并写点 C 语言测试一下。
我在网上找了很多 8086 上运行的 Xenix 2.1 版镜像,但似乎这些系统镜像通过某种早期的格式进行归档的,而非我想象的 360kb 的 5.25 寸软盘,不能直接 boot 启动。
在 winworldpc 上,很多人也遇到了和我相似的问题。
无奈,我只能放弃在 8086 上运行 Xenix 的企图,转而去安装 80286 的版本。
该版本的系统安装镜像是几张 5.25 英寸的软盘,boot 安装盘名字是 N1 。
将镜像解压出来,即可安装,考虑到手边没有 286 电脑,我使用的虚拟机是一款名叫 86box 的软件,该软件能仿真各种早期型号的计算机及其软硬件外设。
点开后,随意找了一款那个年代的 286 电脑,给配上 1MB 内存和 81MB 的硬盘空间,选中 IBM VGA 的video,并设置上 1.2MB 的 5.25 寸软驱,即开始进行安装。
这款机型的好处是,因为出的比较晚,所以支持 2.88MB 的 3.5寸软驱 。
设置完后,我们保存退出 BIOS 。
从软盘 boot 启动后,
系统提示我们进行引导。这该如何做呢?好在万能的网友已经帮我们找到了该系统的用户手册(当年的手册还是纸质版,感叹)。
Index of /pdf/sco/system_V_2.x/2.3.2
XG-5-16-88-5.0_XENIX_2.3_Installation_May88.pdf
发现这个文件,名字中带有安装的字样,我们下载下来仔细阅读一下。(虽然我感觉不需要手册,我也能安装下来,比如上面那个,直接执行install或者setup或者start或者boot就能启动,这可是经验之谈,笑)
安装手册写的很详细,足有94页,这比现代很多产品用心多了(当然以前也没有搜索引擎用)。
我们现在跟着手册给出的步骤指示,依次执行,(值得一提的是似乎早在80年代,双系统就已经存在并被广泛使用了)
好吧,似乎我们什么都不需要干,只需要输入一个回车即可。
经过软盘一阵吭哧吭哧的运行,我们总算启动了安装程序。
下面安装过程都会有提示,我打算把手册扔到一边,等琢磨不明白的时候,再来查看手册安装。
这里当然是选American了,毕竟其他的语言也看不懂啊。
是否擦除整块硬盘,我们yes,可以看到磁盘显示的扇区柱面什么的都没问题。
都没有问题,那我们就直接q了继续。
下面就是设置磁盘分区了,我们懒得折腾,直接选2,使用整块磁盘。
这个应该是扫描磁盘,屏蔽损坏的磁道什么的,我们不需要,直接q(当年温彻斯特磁盘老贵了,当然要精打细算的用)。
这儿应该是给坏的磁道设置冗余(当年磁盘容易坏),我们就按他们的默认算了。后面swap-space(我感觉是虚拟内存),我们也默认设置算了,然后写入。
后面文件系统分区,我们就随便凭感觉设置一下。
接下来,我们使用序列号注册一下(那个年代可还没有联网检测的功能,这盗版可方便多了)。
现在我们初始化好了磁盘和引导,按要求reboot一下,插入软盘N2
启动后,系统开始检查和安装,并且让我们插入B1,好吧,那我们就按它说的去做。
另外,可以看到,这里光内核就占了340k,似乎之前给它1MB确实有点委屈它了。不过80年代1MB内存已经不得了了,640kb能满足所有人的需求。
接着,就让我插入b2,并设置最小五个数的root密码。这里不愧是unix系统,dos系统可没这么多的花活。
完事还很贴心的告诉我,请保存在一个安全的地方,并且可以用passwd来改密码,呼,四十年了,这命令就没变过。
接下来就是设置时区之类的,我们就随便设一个西部时间吧。
后面好像是设置夏令时。尴尬,我已经忘了夏令时是个什么原理了,好像是方便年份计数的吧。我们选no。
好吧,现在已经装好了最小系统,现在它告诉我们可以省点磁盘空间用来给用户使用。对于当年40mb的poor硬盘确实。
但是这是2025年!使劲装,根本用不完。
我们继续。
话说这个x开头的,不会是图形界面吧,毕竟x11就是unix经典的GUI协议。
我们看看有哪些可用的包。
果然,vi编辑器是必备的,但让我没想到的是竟然有cshell。磁盘太大了根本用不完,我们ALL全安装。
创建了几个奇怪的用户。
这个terminfo的安装实在是太慢了,下次一定选n
安装完了,我们重启一下,可以看到系统已经启动。
写一个hello world试试。
忽然发现没有安装开发环境,汗,这就搞笑了。当时应该选开发环境安装的。
用install安装了半天,也没有找到cc的命令,翻了翻手册,也没有发现什么解决方案。
后来考虑了一下,发现archive上的那个文件系统是不完整的。无奈只能把系统删了,在winworldpc上重新下载一份。
还是按之前的方法进行安装,不过我把内存调到了4mb,这在当年算是超高内存了。
我又试着重新安装了一下,在中途改用开发环境。执行cc命令,显示存在该指令。但是,让人难绷的是,安装完后vi编辑器没了。
不过我已经没有心情去install看看,vi编辑器在哪个软盘里了,所幸这个xenix自带一个ed编辑器,至少这款比vi更古老的远古编辑器能用,就先凑合用吧。
但当我编译执行的时候,显示第三行存在错误。
仔细想象,这系统是88年的,那会asci c标准还没出来,那就改个k&r的风格试试。
好像这回就没有报错了。
成功运行!!!
听说因为有过特别设计,很多dos上能运行的程序,在这款操作系统上也能运行。
我们找点dos下的程序通过软盘传进去,不过相较于使用盘符切换的dos,unix就比较麻烦,需要先挂载才行。
由于缺少more,所以我不得不把输出信息导出进txt中用ed查看。
通过ed,找到了要挂载的软盘(话说这糟糕的挂在设定直到现在的linux都没有丝毫改变,鬼知道这一堆名字奇奇怪怪的文件,哪个是对应设备驱动的)
不过很可惜,给我报了一个错误,说软驱坏了。我就不信邪,这赛博软驱怎么还会坏?应该是文件系统的格式问题,这个老系统读不了。
不出我所料,这个系统是有format这种东西的,而且很高级,自动就识别了我的软驱,并进行格式化。但不过不知道为什么,似乎并没有起到什么作用,无奈我只能去翻翻用户手册。
很快我在系统管理员手册中找到有关floppy的使用。
比我想象中的要复杂一些,似乎dev下的设备文件还分高密度和低密度(以前在linux下用软盘从来没有遇到过这种问题,果然linux还是改进了啊)
不过手册中指出,系统提供了一个指令专门用来操作软盘(果然,我就说不会有那么复杂的软盘操作,还要自己挂载什么的)
但很可惜,系统里什么都没(
无奈,我只好先把系统工具通过install安装上了,早知今日,刚装好系统的时候,就老老实实install了。
花了几分钟,把rts里的软盘都安装了一遍,vi有了,more有了,diskcp也有了,所以说,做人不能太懒,太懒反而会害了自己。
终于还是解决了,在查看手册后,发现原来是因为需要通过一个特殊的指令mkdevfd来操作软盘,或许format只是初级格式化?而这玩意是高级格式化?
好吧,不论如何,总算是挂载上了。
先umount了,然后往里面放个dos程序试试。
不过似乎现代的windows系统和早期的该系统之间的文件格式不能通用。进去之后是一堆乱码。而该系统能正常打开的镜像,windows下的软碟通则看上去是一堆乱码。
并且在我试图通过windows来打开vhd镜像后,终于将这可怜的古董系统整坏了,现在它打不开了。
好吧,我们的测评到这里就终止了,总的来说,如果当时的用户能在8086上运行unix,确实是一件有趣的事情(如果它还能运行dos上的程序的话),但感觉不一定实用,毕竟系统更加复杂了。
读者有感兴趣的,可以安装来折腾玩玩。
END