作者 | Bruno Couriol
译者 | 平川
策划 | 丁晓昀
微软和 IBM在 Git 上开源 了 1988 年发布的操作系统 MS-DOS 4.0,遵循 MIT 许可。除了 MS-DOS 4 的源代码外,Git pulbic 存储库中还包含未发布的 Beta 版多任务 DOS 二进制文件、ibmbio.com 源代码和多任务 MS-DOS 4.0(MT-DOS)文档的 PDF 扫描版。
MS-DOS 4.0 以支持大于 32MB 的 FAT16 硬盘分区和 MS-DOS Shell 而闻名。然而,MS-DOS 4.0 最初应该包括多任务处理功能,正如 其产品说明书 所述:
MS-DOS 4.0 是一个多任务操作系统,从 MS-DOS 3.0 开发而来,并且向下兼容。它支持真正的多任务处理以及多当前屏幕图像功能,给用户带来像是使用许多独立计算机的体验。此外,MS-DOS 4.0 允许现有的大多数 MS-DOS 2.0 应用程序在不改变 MS-DOS 4.0 多任务环境的情况下运行。
为了简化从 8086/8088 系列处理器到新 286 处理器(当时)的转换,而又不破坏已有的安装基础,多任务 MS-DOS 的目标是双向兼容:
微软通过提供向上和向下兼容性来应对这种情况。新环境被设计成允许旧程序不加更改地运行(向上兼容),并且允许为新环境编写的大多数程序在旧环境中运行(向下兼容)。
这种设计带来了很大的挑战。正如开源文档所述:
PC 架构支持高达 640K 的内存。这还远远不够;仅是 DOS、一个网络包、一个 windows 包和 Lotus Symphony 就会消耗掉所有内存。必须找一个软件解决方案来解决这个硬件问题。
最终,只有少数欧洲 OEM 厂商获得了 MS-DOS 多任务版本的使用授权。IBM 拒绝了这款产品,转而把精力集中在改进 MS-DOS 3.x 以及与微软联合开发的 OS/2 上。
在北美,后来发布的 MS-DOS 4.0 不包括多任务处理,并且很快发布了 MS-DOS 4.01 来修复许多人反映的问题。
事实上,现在开源的 MS-DOS 4.0 其内存使用量(92 KB RAM)明显比之前和之后的版本更高,而那是在计算史上 RAM 还很稀缺的年代。一位对 MS-DOS 各版本都比较了解的开发人员评论道:
在我看来,我不推荐任何低于 PC-DOS 3.30 / MS-DOS 3.31 的 DOS 版本,除非你能忍受磁盘支持方面的严重限制。我也不推荐 4.x 的任何版本,因为它出了名的 Bug 多。
Steven Vaughan-Nichols重申了这一点:
MS-DOS 4.0 是个糟糕的操作系统。[…] 有多糟糕?当时流行的软件——如 WordPerfect 5.1、Lotus 1-2-3 和 Doom——在它上面总是崩溃。你可能正在执行一项任务,突然,程序完全卡住了。早在我们碰到讨厌的 Windows 蓝屏死机之前,MS-DOS 4.0 就已经吓坏了不少 PC 用户。
这主要是因为 MS-DOS 4.0 使用了 92KB 的巨大内存。
根据微软的说法,感兴趣的读者可以直接在原先的 IBM PC XT 以及较新的 Pentium 上运行 MS-DOS 4.0,也可以在开源的 PCem 和 86box 模拟器 中运行它。
2014 年,微软通过计算机历史博物馆开放了 MS-DOS 1.25 和 2.0 版本的源代码。微软先前还开源了 Word(用于 Windows 1.1a)、GW-BASIC(最初于 1983 年发布) 和 Windows 文件管理器(在 1990 年代初面向 Windows 3.0 发布)。Windows 文件管理器一直处于积极维护状态,2024 年 3 月做了最后一次累积发布。
MS-DOS(微软磁盘操作系统)是由开发人员 Tim Paterson 从 QDOS(Quick and Dirty Operating System) 改编而来,它注定要成为 IBM 个人计算机的操作系统。MS-DOS 1.0 于 1981 年 7 月在 IBM PC 上发布,直到 1990 年还是 Compatible PC 上使用最多的操作系统。
原文链接:
Microsoft and IBM Release MS-DOS 4.0’s Source Code under the MIT License - InfoQ (https://www.infoq.com/news/2024/04/msdos-4-open-source/)
声明:本文为 InfoQ 翻译,未经许可禁止转载。
今日好文推荐
继续阅读
阅读原文