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 编程的书,我们自学了。

我记得我的第一个程序都是相当标准的。最终,我对创建模拟和回合制游戏产生了兴趣。例如,我的朋友和我在业余时间玩《龙与地下城》,我编写了几款《龙与地下城》风格的游戏。一个最喜欢的爱好是重新创建电视节目和电影中的计算机读数。也许我最大的努力是一个基于 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

PS—当然,如果这已经存在,请将我指向组长,以便我至少可以做出贡献!

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

当我启动该项目时,我并没有完全理解“自由软件”和“公共领域”之间的细微差别。
关于名称的说明:当我启动该项目时,我并没有完全理解“自由软件”和“公共领域”之间的细微差别。我以为它们是相同的。当然,我们在 FTP 站点上找到的许多免费工具都已发布到公共领域。我为公共领域 DOS 采用了 PD-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 条评论

喜欢起源故事。FLOSS Weekly Podcast 关于 FreeDOS 的那一集也很棒。我只在运行 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 的武器库中有多少出色的终端编辑器。他们还有许多其他工具(实用程序、自动化等),这些工具功能强大且更易于使用。

谢谢!在 FreeDOS 中,我们尝试提供比经典 DOS 功能更多的功能。当你安装时,如果你选择 FreeDOS “Base”,那只会给你提供与 MS-DOS 匹配的功能。如果你选择安装所有内容,你会得到一堆其他东西——编辑器、编译器、音乐播放器、游戏和其他使 FreeDOS 非常有用的出色工具。

回复 作者 jake (未验证)

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

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

回复 作者 Carles Mateu (未验证)

感谢 Jim 的精彩历史文章和 FreeDOS!

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.