当前位置: 首页 > news >正文

微软开发的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

http://www.dtcms.com/a/317472.html

相关文章:

  • 运维新纪元:告别Excel手工规划,实现“零误差”决策
  • 无人机航拍数据集|第5期 无人机高压输电线铁塔鸟巢目标检测YOLO数据集601张yolov11/yolov8/yolov5可训练
  • Oracle开窗函数分类与统计应用
  • miniExcel一个对象加一个对象列表导出
  • 《Vue 3与Element Plus构建多语后台的深层架构》
  • 第一章-网络信息安全概述
  • 软考信息安全工程师11月备考
  • ZeroNews三步部署,安全远程访问教育内网
  • [激光原理与应用-165]:光机械件 - 影响系统性能指标的关键因素和敏感因素
  • 如何给小语种视频生成字幕?我的实测方法分享
  • VINS-Fusion+UWB辅助算法高精度实现
  • 【计算机网络 | 第3篇】物理媒介
  • Git 分支迁移完整指南(结合分支图分析)
  • 微软的BitLocker加密
  • 华为云 Flexus 部署 coze-studio
  • 第五十篇:AI画家的“神经中枢”:ComfyUI的推理路径与缓存逻辑深度解析
  • PostgreSQL 高可用与负载均衡
  • iOS 文件管理实战指南 查看 App 数据与系统日志的完整方法
  • 26-OS-PV大题
  • 重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正
  • 启动VScode调试时报错:go命令的版本是1.23.0,而工具链的版本是1.23.6
  • IDEA 2025下载安装教程【超详细】保姆级图文教程(附安装包)
  • 华硕携多款明星电竞显示器亮相 ChinaJoy2025,联袂 TCL 华星打造沉浸体验
  • [Oracle] SIGN()函数
  • 微信小程序最大层级跳转问题
  • 使用 Maxwell 和 RabbitMQ 监控 Mysql Flowable 表变更
  • Kubernetes(k8s)之容忍与污点
  • Java学习第一百零九部分——Jenkins(一)
  • k8s +cilium+metallb 集群流量走向
  • 嵌入式学习的第四十四天-ARM