30年后的今天 FreeDOS仍在延续命令提示符的梦想

news2024/11/20 21:34:52

1994 年 6 月,基于文本的磁盘操作系统领域发生了两件大事。首先是微软发布了 MS-DOS 6.22 版,这是其长期运行的操作系统作为独立产品销售给消费者的最后一个版本。在此之后的几年中,MS-DOS 仍在继续发展,但只是作为 Windows 越来越隐蔽的加载机制。

在这里插入图片描述
第二件事是,一位名叫吉姆-霍尔(Jim Hall)的开发人员写了一篇文章,宣布了一个名为"PD-DOS"的系统。霍尔对 Windows 3.x 不满意,对我们后来熟知的 Windows 95 项目也不感兴趣,他想开发一个新的"公共领域"版本的 DOS,在全球大多数人都将传统的命令行界面抛在脑后,转而使用更友好但资源密集的图形用户界面时,这个版本仍能保持传统命令行界面的活力。

PD-DOS 很快更名为 FreeDOS,30 年后的今天,它已成为最后一个仍在积极开发中的 MS-DOS 兼容操作系统。

尽管在互联网时代,DOS 并不能作为一个独立的现代操作系统使用–除其他原因外,DOS 并没有真正意识到"互联网"这一概念–但它在当今的计算机领域仍然占有重要地位。对于需要在现代系统上运行传统应用程序的用户来说,无论是在虚拟机中运行,还是直接在硬件上运行,它都能满足他们的需求;同时,它也是在传统硬件上运行经过积极维护的 DOS 分支的最佳方式,最早可以追溯到最初的 IBM PC 及其英特尔 8088 CPU。

为了纪念2014 年 FreeDOS 诞生 20 周年,我们与霍尔和其他 FreeDOS 维护者讨论了它的持续相关性、DOS 的遗产,以及开发者已经放弃的添加雄心勃勃的现代功能(如多任务处理和内置网络支持)的计划(我们还认真地尝试了仅使用 FreeDOS 进行现代工作,但成功与否参半)。与 MS-DOS 兼容的操作系统世界发展缓慢,因此这些信息大多仍然适用;FreeDOS 在 2014 年的版本为 1.1,而现在的版本为 1.3。

在 FreeDOS 30 周年之际,我们再次采访了霍尔,了解 FreeDOS 项目在过去十多年中的发展情况,为什么它仍然重要,以及它如何继续吸引新用户加入。此外,我们还讨论了这个固有的落后操作系统的未来,虽然看起来有些奇怪。

FreeDOS 仍在运行,即使硬件发展超越了它

在这里插入图片描述
在 FreeDOS 中运行与 Lotus 1-2-3 兼容的电子表格程序 AsEasyAs 吉姆-霍尔

霍尔说,如果说过去十年没有迎来"桌面上的 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 年代末期开始取代传统的 PC BIOS,如今已成为启动 Windows、macOS 和 Linux 的默认机制,尽管从技术上讲,Windows 和 Linux 仍然可以在非 UEFI 系统上启动。

长期以来,采用 UEFI 固件的新电脑仍包含某种传统兼容模式,以支持像 FreeDOS 这样只能在 BIOS 模式下启动的操作系统。许多电脑仍然如此,尤其是那些主板为用户提供大量配置选项的家用台式电脑(主板可能将 BIOS 支持称为"CSM",即"兼容性支持模块")。但很多新电脑只能使用 UEFI 启动,这对直接在硬件上运行 FreeDOS 是个问题。
在这里插入图片描述

尽管 FreeDOS 团队曾经有过更雄心勃勃的计划,但 FreeDOS 存在的主要原因还是为了运行经典的 DOS 程序和游戏,如Commander Keen。

霍尔告诉 Ars:“人们问是否有可能重写或更新 FreeDOS 内核,以使用 UEFI 代替 BIOS。也许可以替换内核中使用 BIOS 的部分,但大量的 DOS 应用程序和游戏都是直接调用 BIOS 的。DOS 并不像更现代的操作系统那样使用硬件抽象层(Hardware Abstraction Layer 或 HAL),即应用程序与 HAL 对话,HAL 与硬件对话。DOS 程序通常直接与硬件交互”。

换句话说,开发人员可以编写一个可以在 UEFI 系统上启动的 FreeDOS 版本,甚至可以编写一个可以在 Arm 系统上启动的 FreeDOS 版本。但无论哪种改变,都会破坏绝大多数现有的 DOS 应用程序,而运行这些旧程序正是 FreeDOS 存在的主要原因。

霍尔说:“这就是我们建议在虚拟机中运行 FreeDOS 的原因之一。虚拟机提供了 BIOS。不过,从实用的角度来看,我认为大多数人都没有兴趣尝试在新台式机或笔记本电脑的裸硬件上运行 FreeDOS,这些硬件包括 16 核英特尔酷睿 Ultra CPU、32GB 内存、512GB 固态硬盘和 Wi-Fi。如果你要运行 FreeDOS,你可能是在寻找’复古’的计算体验,所以无论如何,你更有可能在老式 PC 上安装 FreeDOS。”

怪异的复古 PC 是体验 FreeDOS 的绝佳方式

在这里插入图片描述
Book 8088 是一款非常奇特的机器,但它让现代人更容易接受复古计算的某些方面。

说到复古电脑,其实在过去几年里,它们变得更容易找到和使用了。这在一定程度上要归功于像Book 8088、Hand 386 和Pocket 386 这样的奇特 AliExpress 硬件的兴起。虽然这些硬件充其量只是存在于道德的灰色地带–我们使用的 Book 8088 在出厂时就附带了各种老旧但仍受版权保护的软件,另外还有一个从开源社区盗取的 BIOS,没有注明出处–但与真正的老旧 IBM PC 或手提箱大小的康柏 Deskpro 相比,它们更容易购买,也更容易腾出空间。

这些便携式系统混合使用了真正的复古部件和较新的复制品,在很大程度上忠实地复制了使用复古 PC 的体验。现代的屏幕和电池技术以及固态存储让它们比正品用起来更顺手,但与在完全现代的系统上运行 86Box 这样的模拟器相比,还是更接近原始体验。

霍尔认为这些老系统"非常棒",他一直在使用在 Pocket 386 上运行的 FreeDOS 运行复古游戏和应用程序。这台 PC 配备了 40 MHz 的 386SX 处理器和 8MB 内存,在 FreeDOS 于 90 年代中期问世时,这台 PC 已被认为有点过时,但它仍然代表了当时在任何计算机实验室、办公室或家庭房间里可能发现的那种正在慢慢老化的系统。

霍尔还称赞 Pocket 386 是一款复古的文字处理器和电子表格机;即使在 8088 上也能很好地运行这类 DOS 生产率应用程序,因此 386 带来的体验会更令人愉悦。

很多人会选择在这些系统上运行真正的 MS-DOS 或 IBM PC-DOS,而 MS-DOS 也是制造商提供给他们的。但 FreeDOS 持续发展的好处是,它可以支持一些现代设施,使复古计算机体验更加愉悦。

当被问及如何扩展 FreeDOS 的功能时,霍尔说:“我们在’用户空间’中提供了很多扩展功能。FreeDOS 内核必须是相当经典的 DOS 内核,但我们可以添加几乎任何我们需要的独立实用程序和工具。因此,我们提供了额外的归档程序,如 7z 和 zip/unzip,甚至 gzip 和 tar。我们还提供额外的设备驱动程序,如 CD-ROM 缓存(cdrcache)、DOS 长文件名支持(doslfn或lfndos),以及 UDMA 硬盘和固态硬盘的缓存驱动程序(uhdd)。当然,还有大量的开发工具,包括编译器、汇编器、调试器和编辑器,让你可以创建自己的程序。我还没提到游戏呢”。

FreeDOS 1.4 中可能出现的内容

在这里插入图片描述

自 2006 年 9 月推出 1.0 版以来,该项目平均每四到六年进行一次重大编号更新。不太可能对 DOS 做很多事情,却又不试图把它变成一个不是它的东西;升级往往是渐进的,而且范围很窄。但霍尔说,FreeDOS 1.4 的更新工作肯定正在进行中。

"我们的发行版协调人杰罗姆-希德尔(Jerome Shidel)创建了一个月度测试发行版,用于测试 FreeDOS 程序的最新版本。我们的计划是,有朝一日,该测试版本将成为下一个发行版的基础,"霍尔告诉 Ars。"测试版本目前有很多很酷的更新,其中大部分都提供了修复功能,比如新的fdisk提供了解决 Book8088 BIOS bug 的方法,新的zoo归档器修复了集群大小超过 32 kB 的问题,更新的edlin编辑器启动更安静。

理论上 FreeDOS 1.4 可能会有的另一项新功能是什么?Windows 支持。

尽管 FreeDOS 与绝大多数经典 DOS 软件保持兼容,但当前版本不能作为 3.1 或 3.11 for Workgroups 等旧版本 Windows 的引导程序–至少,它不能以功能齐全的"386 增强"模式运行这些操作系统。虽然 FreeDOS 是霍尔等人为了远离 Windows 而开发的,但霍尔表示,支持旧版本的 Windows 是用户的普遍要求。

霍尔说:“也许当内核准备就绪时,我们可以将测试版本分离出来,成为新的"1.4"发行版。但这只是我的想法,我不想抢在社区前面。我们会在freedos-devel邮件列表中讨论一切,然后再做决定。”

我会定期在CSDN分享我的学习心得,项目经验和行业动态。如果你对某个领域感兴趣,或者想要了解更多技术干货,请关注我的账号,一起成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1881586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为PPT加密:如何设置和管理“打开密码”?

在保护演示文稿的内容时,给PPT文件设置“打开密码”是一个简单而有效的方法。今天一起来看看如何设置和管理PPT文件的“打开密码”吧! 一、设置PPT“打开密码” 首先,打开需要加密的PPT文件,点击左上角的“文件”选项卡&#x…

4、Redis分布式锁原理解析

目录 1、Redisson lock 方法原理解析 1. 如果指定了过期时间 2. 如果没有指定过期时间 3. lock 方法的主要步骤 Redisson lock 方法完整代码 分步骤解释 步骤 1:尝试获取锁 步骤 2:获取锁失败,发起订阅 步骤 3:循环等待锁…

64.SAP ME与SAP ERP物料接口增加自定义字段的方法

目录 1.过程介绍 2.配置过程 2.1SAP ME里增加自定义字段 2.2SAP ME修改接口文件 2.3SAP ME刷新接口结构 2.4测试检查接口字段是否传输过来 1.过程介绍 首先,SAP ME与SAP ERP之间的物料主数据接口,采用IDOC的方式。如果需要增加自定…

操作系统精选题(三)(简答题、概念题)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀操作系统 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 简答题 一、对 CPU、内存、外设并…

基于局域网下的服务器连接、文件传输以及内网穿透教程 | 服务器连接ssh | 服务器文件传输scp | 内网穿透frp | 研究生入学必备 | 深度学习必备

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 📌本篇博客分享的是基于局域网下的服务器连接🔗、文件传输以及内网穿透教程,内容非常完备✨,涵盖了在服务器上做深度学…

ueditor集成秀米编辑器

ueditor集成秀米编辑器 一、背景二、集成秀米编辑器流程2.1、新增秀米插件的按钮,显示在我们的富文本编辑器上2.2、点击该按钮,可以呼出一个iframe,这个iframe引用的是秀米自己的编辑器页面2.3、要是有图片,需要再修改配置哈2.4、…

密码学:对称加密算法、非对称加密算法、哈希算法

「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这一章节我们需…

【Python】利用代理IP爬取当当网数据做数据分析

前言 在数字化浪潮的推动下,电商平台已经彻底改变了我们的购物方式。从简单的在线交易到复杂的用户交互,电商平台积累了海量的用户数据。这些数据,如同隐藏在深海中的宝藏,等待着被发掘和利用。通过分析用户的浏览、搜索、购买等行…

Redis学习——Redisson 分布式锁集成及其简单使用

文章目录 引言1. Redisson概述1.1 Redisson的基本概念1.2 Redisson的主要功能1.3 Redisson的优点 2. 开发环境3. Redisson的安装与配置3.1 添加依赖3.2 配置Redisson 4. 使用Redisson4.1 可重入锁4.1.1 可重入锁的概念4.1.2 可重入锁的实现原理4.1.3 简单使用锁的获取和释放 4.…

数据恢复篇:如何在电脑上恢复已删除和丢失的音乐文件

尽管流媒体网络非常流行,但许多人仍然选择将音乐下载并保存在 PC 本地。这会使文件面临丢失或意外删除的风险。 幸运的是,您可以使用数据恢复软件恢复已删除的音乐和其他文件类型。这篇文章讨论了这些解决方案以及如何使用奇客数据恢复检索丢失的音乐文…

Java面试题--JVM大厂篇之深入了解G1 GC:高并发、响应时间敏感应用的最佳选择

引言: 在现代Java应用的性能优化中,垃圾回收器(GC)的选择至关重要。对于高并发、响应时间敏感的应用而言,G1 GC(Garbage-First Garbage Collector)无疑是一个强大的工具。本文将深入探讨G1 GC适…

抗腐蚀耐腐蚀不锈钢304/316L航空插头插座

不锈钢航空插头是一种专为航空航天、军事、工业等领域设计的连接器,具有高强度、耐腐蚀、耐高温等特点。它们通常用于在高振动、高湿度、高温度等恶劣环境下保持稳定的电气连接。不锈钢航空插头的设计充分考虑了这些极端条件,以确保信号和电源传输的可靠…

机器学习环境搭建

前言 个人笔记,记录框架和小问题,没有太详细记载。。 1、Anaconda安装 下载地址: Free Download | Anaconda (慢) ​ 国内镜像:https://link.csdn.net/?targethttp%3A%2F%2Fitcxy.xyz%2F241.html 下载…

(PC+WAP)高端大气的装修装潢公司网站模板

(PCWAP)高端大气的装修装潢公司网站模板PbootCMS内核开发的网站模板,该模板适用于装修公司网站、装潢公司网站等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可;(PCWAP),同一个后台,数据即…

【数据结构(邓俊辉)学习笔记】二叉搜索树04——AVL树

文章目录 1.重平衡1.1 AVL BBST1.2 平衡因子1.3 适度平衡1.4 接口1.5 失衡 复衡 2. 插入2.1 单旋2.2 双旋2.3 实现 3. 删除3.1 单旋3.2 双旋3.3 实现 4. (3 4)-重构4.1 "34"重构4.2 "34"实现4.3 rotateAt4.4 综合评价 1.重平衡 1…

SSZipArchive 解压后 中文文件名乱码问题

不知道什么情况,做为一个三方广泛使用的框架库,会出现这种比较低级的问题! 还有中文的文件名解压后显示乱码! 经过深入研究排查,发现目录或文件名编码错误!但是POD库,不可能直接在里面改&#…

在线疫苗预约小程序的设计

管理员账户功能包括:系统首页,个人中心,工作人员管理,管理员管理,用户管理,疫苗管理,论坛管理,公告管理 微信端账号功能包括:系统首页,公告,疫苗&…

SpringBoot + mkcert ,解决本地及局域网(内网)HTTPS访问

本文主要解决访问SpringBoot开发的Web程序,本地及内网系统,需要HTTPS证书的问题。 我测试的版本是,其他版本不确定是否也正常,测试过没问题的小伙伴,可以在评论区将测试过的版本号留下,方便他人参考: <spring-boot.version>2.3.12.RELEASE</spring-boot.vers…

redis-cluster(集群模式搭建)

redis中间件版本: redis-5.0.5环境介绍 这里使用服务器数量3&#xff0c;分别为172.0.0.1&#xff0c;172.0.0.2&#xff0c;172.0.0.3&#xff0c;每台机器redis节点数量2个&#xff0c;共6个redis节点构成redis-cluster模式。编译安装包 在172.0.0.1的机器上进入安装目录 cd …

【6.26更新】Win10 22H2 19045.4598镜像:免费下载!

当前微软已经发布了六月最新的KB5039299更新补丁&#xff0c;用户完成升级后&#xff0c;系统版本号将更新至19045.4598。此次更新解决了任务栏上应用跳转列表失败、可能导致系统无法从休眠状态恢复等多个问题&#xff0c;推荐大家升级。如果您不知道去哪里才能下载到该版本&am…