FreeDOS 的起源与发展

或者,为什么一个社区围绕 DOS 的开源版本形成,以及它今天仍在被使用的原因。
578 位读者喜欢这篇文章。
Compute like it's 1989

LSE 图书馆。由 Opensource.com 修改。CC BY-SA 4.0

我在 20 世纪 70 年代和 80 年代长大。我的父母希望我和我的兄弟从小就接触电脑,所以他们买了一台 Apple II 的克隆机,叫做 Franklin Ace 1000。我确信我们用它做的第一件事是玩游戏。但没过多久,我们就问:“它是如何工作的?” 我们的父母给我们买了一本关于如何用 Applesoft BASIC 编程的书,我们自学了。

我记得我的第一个程序都是相当标准的东西。最终,我开始喜欢创建模拟和回合制游戏。例如,我和我的朋友们在业余时间玩《龙与地下城》,我编写了几款 D&D 风格的游戏。我最喜欢的爱好是重现电视节目和电影中的电脑读数。也许我最大的努力是一个程序,基于 1983 年的电影《战争游戏》,它可以让你“玩”全球热核战争。

后来,我们用 IBM PC 替换了 Apple。DOS 上的 BASIC 环境与 Applesoft BASIC 不同,但我很容易就搞明白了。我在初中和高中期间继续在上面编写程序。

1990 年,我成为威斯康星大学河瀑分校的物理学本科生。即使我的专业是物理学,我仍然继续编写程序。我学习了 C 编程语言并掌握了 C 编译器。我编写了许多实用程序来帮助我分析实验室数据或为 MS-DOS 命令行添加新功能。像当时的许多人一样,我也创建了替换和增强 MS-DOS 命令行的实用程序。

大学有一个计算机实验室,我在那里的 VAX 和 Unix 系统上获得了账户。我非常喜欢 Unix。命令行与 MS-DOS 类似,但更强大。我在计算机实验室学习使用 Unix,但我仍然在我的个人电脑上使用 MS-DOS。通过运行 MS-DOS,我可以使用我最喜欢的程序来撰写论文并帮助分析实验室数据。

我发现了“共享软件”程序的概念,它可以让你免费试用一个程序。如果你觉得该程序有用,你可以通过向程序的作者寄支票来注册它。我认为共享软件是一个非常棒的想法,我找到了满足我需求的 MS-DOS 共享软件程序。例如,我从 WordPerfect 切换到共享软件 GalaxyWrite 文字处理器来撰写论文。我使用 AsEasyAs 进行电子表格分析,并使用 Telix 拨号进入大学的计算机实验室,以便在我需要使用 Unix 系统时使用。

1993 年,我了解到有一种 Unix 系统可以在我的家用电脑上免费运行。这个“Linux”系统看起来和大学的 Unix 系统一样强大,但现在我可以在我的家用电脑上运行所有东西。我在我的 PC 上安装了 Linux,与 MS-DOS 双启动。我认为 Linux 很棒,我经常使用它,但仍然大部分时间都在 MS-DOS 中度过。因为让我们面对现实:在 1993 年,MS-DOS 上的应用程序和游戏比 Linux 上的多得多。

1993 年,我了解到有一种 Unix 系统可以在我的家用电脑上免费运行。

FreeDOS 是如何开始的

因为 MS-DOS 是我最喜欢的操作系统,所以我建立了这个实用程序库,这些实用程序是我编写的,用于向 MS-DOS 添加新功能。我只是觉得 DOS 是一个很棒的操作系统。那时我已经用过 Windows 了——但如果你还记得那个时代,你就知道 Windows 3.1 不是一个很好的平台。我更喜欢在命令行下工作,而不是用鼠标。

1994 年初,我开始在科技杂志上看到大量对微软高管的采访,他们说下一版本的 Windows 将完全抛弃 MS-DOS。我看了看 Windows 3.1,然后说:“如果 Windows 3.2 或 Windows 4.0 像 Windows 3.1 一样,我不想和它有任何关系。”

有了 Linux 的经验,我想,“如果开发人员可以在互联网上走到一起编写一个完整的 Unix 操作系统,那么我们肯定也可以用 DOS 做同样的事情。” 毕竟,与 Unix 相比,DOS 是一个相当简单的操作系统。DOS 一次运行一个任务(又名单任务),并且具有更简单的内存模型。我已经编写了许多扩展 MS-DOS 命令行的实用程序,所以我有一个良好的开端。

我在 Usenet 上的 comp.os.msdos.apps 讨论组中询问了一下。虽然其他人对免费 DOS 感兴趣,但没有人想启动这样一个项目。所以,我自愿去做。

1994 年 6 月 29 日,我将此发布到 comp.os.msdos.apps

PD-DOS 项目公告

几个月前,我发表了有关启动公共领域版本的 DOS 的文章。当时对此的普遍支持很强烈,许多人同意“开始编写!”的说法。所以,我已经...

宣布首次尝试制作 PD-DOS。我写了一份“宣言”,描述了这样一个项目的目标和工作概要,以及一个“任务清单”,其中准确地显示了需要编写的内容。我将在这里发布这些内容,然后进行讨论。

如果您正在考虑开发,或者对 PD-DOS 有想法或建议,我将不胜感激直接发邮件给我。如果您只是想讨论编写 PD-DOS 的优点或道德,我会将其留给网络。我会不时查看讨论的进展情况,并可能为有望成为非常两极分化的辩论贡献一点力量!

我对 PD-DOS 感到兴奋,我希望我能让一个团队开始启动!

—James Hall

附言——当然,如果这已经存在,请将我指向小组负责人,以便我至少可以做出贡献!

开发人员几乎立即联系了我。我们都编写了自己的 MS-DOS 扩展程序,这些强大的工具扩展了您可以在 MS-DOS 命令行上执行的操作。我们汇集了我们的实用程序,并在公共 FTP 站点上寻找公共领域的其他程序的源代码,这些程序复制了 MS-DOS 的功能。

当我开始这个项目时,我并不完全理解“自由软件”和“公共领域”之间的细微差别。
关于名称的说明:当我开始这个项目时,我并不完全理解“自由软件”和“公共领域”之间的细微差别。我以为它们是相同的。当然,我们在 FTP 站点上找到的许多免费工具都是在公共领域发布的。我采用了 PD-DOS 这个名称,表示公共领域 DOS。仅仅几周后,我意识到我们想要 GNU 通用公共许可证的保护,这将使我们的 DOS 项目成为“自由软件”项目。到 7 月底,我们将名称更改为 Free-DOS。后来,我们去掉了连字符,变成了 FreeDOS。

FreeDOS 今天是如何使用的

多年来,开发人员与我分享了他们如何使用 FreeDOS 来运行嵌入式系统。我一直以来最喜欢的例子是一位开发人员使用 FreeDOS 为弹球机供电。FreeDOS 运行一个应用程序,该应用程序控制电路板、统计得分并更新背面的显示。我不知道它是如何构建的,但这种系统工作的一种方式是让每个保险杠在键盘总线上注册一个“键”,并且应用程序只需从该输入中读取即可。我觉得这很酷。

人们有时会忘记遗留软件,但它会在意想不到的地方出现。我曾经是一所小型大学的校园 CIO,有一次一位教员带来了一些软盘,上面有旧的研究数据。这些数据不是以纯文本文件存储的,而是作为 DOS 应用程序数据存储的。我们现代的系统都无法读取旧的数据文件,因此我们用 FreeDOS 启动了一台备用 PC,下载了一个可以读取应用程序数据的共享软件 DOS 程序,并将数据导出为纯文本。

还有其他在 DOS 上运行遗留软件的例子。我最喜欢的是 迈凯伦 F1 超级跑车,它只能用一台古老的 DOS 笔记本电脑进行维修。而《权力的游戏》作者乔治·R·R·马丁使用 DOS 来写书。

他们可能使用 MS-DOS,但我相信还有许多其他遗留系统在 FreeDOS 上运行。

几年前,我们进行了一项调查,以了解人们如何使用 FreeDOS,结果出现了三种不同的方式

  1. 玩经典的 DOS 游戏:您可以在 FreeDOS 上玩您最喜欢的 DOS 游戏。并且有很多很棒的经典游戏可以玩:Wolfenstein 3D、Doom、Commander Keen、Rise of the Triad、Jill of the Jungle、Duke Nukem 等等。
  2. 运行遗留软件:需要从旧的商业程序中恢复数据吗?或者您可能需要从旧的财务系统中运行报告?只需在 FreeDOS 下安装您的遗留软件,您就可以开始了。
  3. 开发嵌入式系统:许多嵌入式系统在 DOS 上运行,尽管现代系统更可能在 Linux 上运行。如果您支持较旧的嵌入式系统,您可能正在运行 DOS,而 FreeDOS 可以很好地适应。

您可能可以在这些 FreeDOS 用例中添加第四类:更新 BIOS。我收到了很多电子邮件和评论,人们仍然启动 FreeDOS 来更新他们计算机系统中的 BIOS。DOS 仍然是一种安全的方式来做到这一点。

的确,在今天开发的嵌入式系统中,您看不到太多 DOS。我认为 树莓派 和其他低成本、低功耗设备使 Linux 在嵌入式设备中非常有吸引力,因此大多数开发人员的兴趣都转移到了那里。但您仍然有时会看到 FreeDOS,这证明了开源开发的持久力。

photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发人员,以 GNOME 中的可用性测试以及作为 FreeDOS 的创始人兼项目协调员而闻名。

9 条评论

喜欢起源故事。关于 FreeDOS 的 FLOSS 每周播客剧集也很棒。我只在运行 GEM 的 VM 中涉猎过它,但很酷的是,正如最近有人所说,FreeDOS 现在的活跃开发时间比 MS-DOS 更长。https://twit.tv/shows/floss-weekly/episodes/416

嗨,Hank!谢谢你的精彩评论。

是真的!当有人向我指出我开发 FreeDOS 的时间比 MS-DOS 存在的时间还长时,我有点惊讶。MS-DOS 的最初发布是在 1981 年,实际上在 1995 年停止了。我从 1994 年开始开发 FreeDOS,我们仍在继续。FreeDOS 是 23 年,而 MS-DOS 是 14 年。

官方而言,微软在 2000 年将 MS-DOS 作为产品退役。那也只有 19 年。

回复 ,作者 HankG

他们基本上在最后一个基于 DOS 的 Windows 版本(即 Windows ME,大约在 2000 年,MS-DOS 正式退役时)发布后停止了开发。我认为这就是为什么之前没有正式退役的原因。他们仍然需要它来使消费者版本的 Windows 工作。最后一个独立的 MS-DOS 是 6.22,但在 Windows 98 中,当您进入实模式时,您会得到 MS-DOS 7。您无法在 ME 中进入实模式,但我怀疑它仍然会有 7.x 作为版本号。

当然,PC-DOS(IBM 的 DOS)在最后一个独立的 MS-DOS 之后发布了最后一个版本,而 DR-DOS(Digital Research 和后来的 Novell 的 DOS 版本)在那之后很长一段时间都用于嵌入式系统。(我认为有时仍然是这样,但 FreeDOS 在这一点上更有意义。)

回复 ,作者 Jim Hall

没想到乔治·R·R·马丁还在用 DOS!
应该有人把他升级到 FreeDOS =)

我想知道将 DOSBox 分支添加到 FreeDOS 社区正在做的工作中是否是一个好主意?也许与 Linux 等系统更好地集成,以便从一个环境到另一个环境的移动更加无缝和更好地集成。

我正在查看最近的应用更新 (Blocek),不禁意识到 DOS 在其武器库中拥有多少出色的终端编辑器。他们还有很多其他工具(utils、自动化等),这些工具功能强大且更易于使用。

谢谢!在 FreeDOS 中,我们尝试提供的不仅仅是经典 DOS 的功能。当您安装时,如果您选择 FreeDOS “Base”,那只会为您提供与 MS-DOS 匹配的功能。如果您选择安装所有内容,您将获得许多其他东西——编辑器、编译器、音乐播放器、游戏以及其他使 FreeDOS 非常有用的出色工具。

回复 ,作者 jake (未验证)

FreeDOS 的另一个用途,至少在西班牙是这样,而且这涉及到大量的计算机,是为了避免微软税。
在这里,根据法律,您不能购买没有操作系统的计算机,计算机应该预装操作系统。所有 Linux 用户都必须支付 Windows 许可证,直到商店开始销售配备 FreeDOS 的计算机。

至少在美国,戴尔和惠普也提供 FreeDOS 作为预装操作系统的选项。我认为很高兴看到 FreeDOS 以这种方式使用。 :-)

回复 ,作者 Carles Mateu (未验证)

感谢 Jim 撰写的精彩历史文章,也感谢 FreeDOS!

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.