我在 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 上的多得多。
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,结果出现了三种不同的方式
- 玩经典的 DOS 游戏:您可以在 FreeDOS 上玩您最喜欢的 DOS 游戏。并且有很多很棒的经典游戏可以玩:Wolfenstein 3D、Doom、Commander Keen、Rise of the Triad、Jill of the Jungle、Duke Nukem 等等。
- 运行遗留软件:需要从旧的商业程序中恢复数据吗?或者您可能需要从旧的财务系统中运行报告?只需在 FreeDOS 下安装您的遗留软件,您就可以开始了。
- 开发嵌入式系统:许多嵌入式系统在 DOS 上运行,尽管现代系统更可能在 Linux 上运行。如果您支持较旧的嵌入式系统,您可能正在运行 DOS,而 FreeDOS 可以很好地适应。
您可能可以在这些 FreeDOS 用例中添加第四类:更新 BIOS。我收到了很多电子邮件和评论,人们仍然启动 FreeDOS 来更新他们计算机系统中的 BIOS。DOS 仍然是一种安全的方式来做到这一点。
的确,在今天开发的嵌入式系统中,您看不到太多 DOS。我认为 树莓派 和其他低成本、低功耗设备使 Linux 在嵌入式设备中非常有吸引力,因此大多数开发人员的兴趣都转移到了那里。但您仍然有时会看到 FreeDOS,这证明了开源开发的持久力。
9 条评论