1994年6月,基于文本的磁盘操作系统领域发生了两件大事。首先是微软发布了MS-DOS6.22版,这是其长期运行的操作系统作为独立产品销售给消费者的最后一个版本。在此之后的几年中,MS-DOS仍在继续发展,但只是作为Windows越来越隐蔽的加载机制。
第二件事是,一位名叫吉姆-霍尔(JimHall)的开发人员写了一篇文章,宣布了一个名为"PD-DOS"的系统。霍尔对Windows3.x不满意,对我们后来熟知的Windows95项目也不感兴趣,他想开发一个新的"公共领域"版本的DOS,在全球大多数人都将传统的命令行界面抛在脑后,转而使用更友好但资源密集的图形用户界面时,这个版本仍能保持传统命令行界面的活力。
PD-DOS很快更名为FreeDOS,30年后的今天,它已成为最后一个仍在积极开发中的MS-DOS兼容操作系统。
尽管在互联网时代,DOS并不能作为一个独立的现代操作系统使用--除其他原因外,DOS并没有真正意识到"互联网"这一概念--但它在当今的计算机领域仍然占有重要地位。对于需要在现代系统上运行传统应用程序的用户来说,无论是在虚拟机中运行,还是直接在硬件上运行,它都能满足他们的需求;同时,它也是在传统硬件上运行经过积极维护的DOS分支的最佳方式,最早可以追溯到最初的IBMPC及其英特尔8088CPU。
为了纪念2014年FreeDOS诞生20周年,我们与霍尔和其他FreeDOS维护者讨论了它的持续相关性、DOS的遗产,以及开发者已经放弃的添加雄心勃勃的现代功能(如多任务处理和内置网络支持)的计划(我们还认真地尝试了仅使用FreeDOS进行现代工作,但成功与否参半)。与MS-DOS兼容的操作系统世界发展缓慢,因此这些信息大多仍然适用;FreeDOS在2014年的版本为1.1,而现在的版本为1.3。
在FreeDOS30周年之际,我们再次采访了霍尔,了解FreeDOS项目在过去十多年中的发展情况,为什么它仍然重要,以及它如何继续吸引新用户加入。此外,我们还讨论了这个固有的落后操作系统的未来,虽然看起来有些奇怪。
FreeDOS仍在运行,即使硬件发展超越了它
霍尔说,如果说过去十年没有迎来"桌面上的FreeDOS年",那么自2014年以来,人们对该操作系统的兴趣和使用率一直保持在相当高的水平。不同的是,随着时间的推移,越来越多的用户将FreeDOS作为他们的第一个DOS兼容操作系统,而不是微软和IBM上世纪八九十年代尘封软件的更新版本。
霍尔在接受Ars的电子邮件采访时说:"与10年前相比,我认为人们对FreeDOS的兴趣程度差不多。从人们发给我的提问邮件,或者我在freedos-user或freedos-devel邮件列表上看到的新用户提问,或者在Facebook群组和其他论坛上谈论FreeDOS的人来看,我认为以某种方式参与FreeDOS社区的人数还是差不多的。"
"我在9月和10月左右收到很多人的问题,基本上都是问'我安装了FreeDOS,但不知道如何使用它。我该怎么办?我想这些人是在大学的计算机科学课程中了解到FreeDOS的,并想进一步了解它;或者他们已经在某个地方工作了,他们读到了一篇关于FreeDOS的文章,以前从未听说过这个"DOS"东西,并想尝试一下。无论如何,我认为用户社区中更多的人在了解FreeDOS的同时也在了解DOS。"
尽管人们仍在下载和使用FreeDOS,但PC硬件的变化使得在新PC上直接安装和运行FreeDOS(称为"裸机"安装,以区分直接安装在PC上的操作系统和通过某种模拟器或虚拟机在其他操作系统上运行的操作系统)变得更加困难。这不仅仅是指采用基于Arm处理器的系统(FreeDOS不懂这些芯片的语言)在慢慢兴起。
其中一个问题是用于启动现代PC的UEFI固件。UEFI在2000年代末期开始取代传统的PCBIOS,如今已成为启动Windows、macOS和Linux的默认机制,尽管从技术上讲,Windows和Linux仍然可以在非UEFI系统上启动。
长期以来,采用UEFI固件的新电脑仍包含某种传统兼容模式,以支持像FreeDOS这样只能在BIOS模式下启动的操作系统。许多电脑仍然如此,尤其是那些主板为用户提供大量配置选项的家用台式电脑(主板可能将BIOS支持称为"CSM",即"兼容性支持模块")。但很多新电脑只能使用UEFI启动,这对直接在硬件上运行FreeDOS是个问题。
尽管FreeDOS团队曾经有过更雄心勃勃的计划,但FreeDOS存在的主要原因还是为了运行经典的DOS程序和游戏,如CommanderKeen。
换句话说,开发人员可以编写一个可以在UEFI系统上启动的FreeDOS版本,甚至可以编写一个可以在Arm系统上启动的FreeDOS版本。但无论哪种改变,都会破坏绝大多数现有的DOS应用程序,而运行这些旧程序正是FreeDOS存在的主要原因。
霍尔说:"这就是我们建议在虚拟机中运行FreeDOS的原因之一。虚拟机提供了BIOS。不过,从实用的角度来看,我认为大多数人都没有兴趣尝试在新台式机或笔记本电脑的裸硬件上运行FreeDOS,这些硬件包括16核英特尔酷睿UltraCPU、32GB内存、512GB固态硬盘和Wi-Fi。如果你要运行FreeDOS,你可能是在寻找'复古'的计算体验,所以无论如何,你更有可能在老式PC上安装FreeDOS。"
怪异的复古PC是体验FreeDOS的绝佳方式
说到复古电脑,其实在过去几年里,它们变得更容易找到和使用了。这在一定程度上要归功于像Book8088、Hand386和Pocket386这样的奇特AliExpress硬件的兴起。虽然这些硬件充其量只是存在于道德的灰色地带--我们使用的Book8088在出厂时就附带了各种老旧但仍受版权保护的软件,另外还有一个从开源社区盗取的BIOS,没有注明出处--但与真正的老旧IBMPC或手提箱大小的康柏Deskpro相比,它们更容易购买,也更容易腾出空间。
这些便携式系统混合使用了真正的复古部件和较新的复制品,在很大程度上忠实地复制了使用复古PC的体验。现代的屏幕和电池技术以及固态存储让它们比正品用起来更顺手,但与在完全现代的系统上运行86Box这样的模拟器相比,还是更接近原始体验。
霍尔认为这些老系统"非常棒",他一直在使用在Pocket386上运行的FreeDOS运行复古游戏和应用程序。这台PC配备了40MHz的386SX处理器和8MB内存,在FreeDOS于90年代中期问世时,这台PC已被认为有点过时,但它仍然代表了当时在任何计算机实验室、办公室或家庭房间里可能发现的那种正在慢慢老化的系统。
霍尔还称赞Pocket386是一款复古的文字处理器和电子表格机;即使在8088上也能很好地运行这类DOS生产率应用程序,因此386带来的体验会更令人愉悦。
很多人会选择在这些系统上运行真正的MS-DOS或IBMPC-DOS,而MS-DOS也是制造商提供给他们的。但FreeDOS持续发展的好处是,它可以支持一些现代设施,使复古计算机体验更加愉悦。
当被问及如何扩展FreeDOS的功能时,霍尔说:"我们在'用户空间'中提供了很多扩展功能。FreeDOS内核必须是相当经典的DOS内核,但我们可以添加几乎任何我们需要的独立实用程序和工具。因此,我们提供了额外的归档程序,如7z和zip/unzip,甚至gzip和tar。我们还提供额外的设备驱动程序,如CD-ROM缓存(cdrcache)、DOS长文件名支持(doslfn或lfndos),以及UDMA硬盘和固态硬盘的缓存驱动程序(uhdd)。当然,还有大量的开发工具,包括编译器、汇编器、调试器和编辑器,让你可以创建自己的程序。我还没提到游戏呢"。
FreeDOS1.4中可能出现的内容
自2006年9月推出1.0版以来,该项目平均每四到六年进行一次重大编号更新。不太可能对DOS做很多事情,却又不试图把它变成一个不是它的东西;升级往往是渐进的,而且范围很窄。但霍尔说,FreeDOS1.4的更新工作肯定正在进行中。
"我们的发行版协调人杰罗姆-希德尔(JeromeShidel)创建了一个月度测试发行版,用于测试FreeDOS程序的最新版本。我们的计划是,有朝一日,该测试版本将成为下一个发行版的基础,"霍尔告诉Ars。"测试版本目前有很多很酷的更新,其中大部分都提供了修复功能,比如新的fdisk提供了解决Book8088BIOSbug的方法,新的zoo归档器修复了集群大小超过32kB的问题,更新的edlin编辑器启动更安静。
理论上FreeDOS1.4可能会有的另一项新功能是什么?Windows支持。
尽管FreeDOS与绝大多数经典DOS软件保持兼容,但当前版本不能作为3.1或3.11forWorkgroups等旧版本Windows的引导程序--至少,它不能以功能齐全的"386增强"模式运行这些操作系统。虽然FreeDOS是霍尔等人为了远离Windows而开发的,但霍尔表示,支持旧版本的Windows是用户的普遍要求。
霍尔说:"也许当内核准备就绪时,我们可以将测试版本分离出来,成为新的"1.4"发行版。但这只是我的想法,我不想抢在社区前面。我们会在freedos-devel邮件列表中讨论一切,然后再做决定。"