2024-09-24 15:56:30 | 来源: 互联网整理
现在看来,旧系统没有开源,是因为时机还没有到来,或者说没有人能想到。
如今,在一位研究员的提醒和奋斗下,微软和IBM最近决定开源MS-DOS 4.0版本,并将代码发布在GitHub上(https://github.com/microsoft/MS-DOS)供大家研究和学习。
36年后,微软将MS-DOS 4.0开源
MS-DOS 4.0自1988年首次发布以来已有近36年的历史。此次微软的开源MS-DOS 4.0项目是在MIT许可下发布的,具体包括源代码、二进制文件、磁盘映像和文档,等内容允许修改和发布。
这次MS-DOS 4.0开源,很大程度上要归功于微软前首席技术官Ray Ozzie和一位名叫Connor (Starfrost) Hyde的年轻英国研究员之间的通信。
对此,微软开发者社区副总裁Scott Hanselman和微软开源项目办公室负责人Jeff Wilcox也发布了特别公告《开源 MS-DOS 4.0》进行介绍。
公告指出,相比之下,DOS 4.0版本背后有一段复杂而迷人的历史。微软与IBM合作开发了部分代码,同时还创建了DOS的一个分支,称为“多任务DOS”(MT-DOS)。但它并没有被广泛发布。
不久前,研究员Connor (Starfrost) Hyde 和前微软首席技术官Ray Ozzie 谈到了他手头的一些软件。 Ray Ozzie 在他收藏的软盘中惊讶地发现了一些未发布的DOS 4.0 beta 二进制文件。
基于此,研究员Starfrost联系了微软开源项目办公室(OSPO),要求他们发布DOS 4的源代码,因为他当时正在记录DOS 4、MT-DOS和IBM OS/2之间的关系。这些多任务DOS (MT-DOS) 二进制文件的一些更高版本可以在Internet 上找到,但这些新的多任务DOS beta 二进制文件似乎较旧,尚未发布,并且还包含ibmbio.com 源代码。
随后,微软开源项目办公室负责人Jeff Wilcox 前往微软档案馆,但他们并没有找到MT-DOS 的完整源代码,而是找到了MS-DOS 4.0,这才导致了今天的开源。
微软表示,“如果您想自己运行MS-DOS 4.0 软件并探索它,我们已经成功地直接在原始IBM PC XT、较新的Pentium 计算机以及开源PCem 和86box 模拟器上运行它。”
GitHub地址:https://github.com/microsoft/MS-DOS
MS DOS源代码正在逐步发布
这并不是微软第一次发布MS-DOS 源代码。
十年前,微软向计算机历史博物馆发布了MS-DOS 1.25 和2.0 的源代码,然后于2018 年在GitHub 上重新开源了MS-DOS (https://github.com/microsoft/MS-DOS)。这段代码在历史上占有重要地位,对于45 年前完全用8086 汇编代码编写的操作系统来说具有很大的研究兴趣。
多年来,其他版本的DOS 已经开源。 PC-MOS/386 是来自佐治亚州诺克罗斯The Software Link 的多用户MS-DOS 克隆,于2017 年开源(https://github.com/roelandjansen/pcmos386v501)。它可以运行大多数标准DOS 和386 保护模式应用程序。
回顾DOS发展史
事实上,目前的MS-DOS 4.0并不能称为更好的DOS操作系统。回顾DOS的发展历史,这个操作系统也曾引起过很大的争议。
要知道,在Windows出现之前,从1981年到1995年的15年间,DOS在IBM PC兼容市场上占据了举足轻重的地位。
这可以追溯到20 世纪80 年代,当时美国计算机程序员蒂姆·帕特森(Tim Paterson) 正在为他的西雅图计算机产品公司使用新的英特尔8086 16 位处理器开发新产品,当时他发现没有可用的操作系统。
于是从20 世纪80 年代初开始,Tim Paterson 在不到一年的时间里开发了一款名为QDOS 的操作系统来填补这一空白。起初,他的目的比较简单,就是让应用程序能够轻松地从CP/M Migrate 切换过来。将应用程序从CP/M 移植到这个新操作系统的过程只需将8080 或Z80 汇编器转换为8086(使用Tim Paterson 编写的另一个工具)并手动优化它。
后来这个系统改为86-DOS,微软收购了该操作系统,蒂姆·帕特森加入微软全职开发操作系统。显然,没过多久,他就立即被告知他正在为IBM 工作。随后,操作系统再次被重命名:如果在IBM 系统上运行则更名为PC-DOS,如果不在IBM 系统上运行则更名为MS-DOS(因为Microsoft 是合法所有者)。
这段历史可以从上面提到的英国青年研究员Starfrost的叙述中看出:
Microsoft 由Bill Gates 和Paul Allen 于1975 年创立,旨在为MITS Altair 8800(最早的个人计算机之一)开发BASIC 解释器。该产品的初始版本历时30天开发完成,并成功向被誉为个人电脑之父的MITS创始人展示。接下来发生的事情我就不详细说了。
基本上,在短短几年内,微软就成为最受欢迎的BASIC 解释器开发商,并推出了大量其他产品。 —— 这是一家相当成功的工具和语言公司,尽管他们还出售各种“软卡”,以允许计算机运行针对其他架构的程序,因为这一时期的PC 行业远未标准化。
到1980年,微软的收入达到了数百万美元,但这与后来的发展相比根本不算什么。 ——真正的“重大突破”出现在1980年。当时,科技巨头IBM起草了一份合同,以一次性支付约8万美元的价格从微软购买MS-DOS操作系统的永久权利,用于其即将推出的个人电脑。 IBM 还获得了微软BASIC 编程语言、该公司所有其他语言以及一些新开发的应用程序的权利。对于盖茨来说,明智的举动是坚持收取特许权使用费,这样他的公司就可以从IBM 销售的每台PC 中赚取少量利润。
经过一系列激烈争论的事件,盖茨“不太聪明”地拒绝了这份合同。
他坚持将MS-DOS 授权给任何需要它的人。微软总共支付了75,000 美元来收购MS-DOS,其中25,000 美元用于授权,50,000 美元用于直接购买。加上IBM PC的开放架构,MS-DOS几乎立即被克隆并成为个人计算机事实上的标准。这使得微软可以从OEM 收入中获得无限的印钞机,尽管这在几年内不会显现出来。
事实证明,这是一种极其幸运的运气,再加上一些精明的商业洞察力,最终使微软成为世界上最大的公司之一,而比尔·盖茨也连续多年成为世界首富。
虽然MS-DOS 为微软赚了很多钱,但问题是,即使按照当时的标准来看,它也很糟糕。
由于Tim Paterson为了救急而推出了QDOS系统,QDOS字面意思就是“快速而肮脏的操作系统”。即使以当时的有限标准来看,操作系统也有很多不足。基本功能,例如缺少子目录、设备驱动程序、硬盘驱动器支持等。
1983年,微软彻底重写了MS-DOS,发布了MS-DOS 2.0,增加了许多新功能,并允许160KB和320KB软盘改为180KB和360K。此次更新因添加了急需的功能而受到普遍欢迎,但也有人批评它增加了内存使用量。
然而,随着技术的发展,用户仍然需要更多的功能。他们希望在当今功能强大的新型计算机上同时执行多项操作,因此需要一个操作系统来完成此操作,而MS-DOS 这种单任务操作系统根本无法胜任这项任务。另外,自从MS-DOS 1.x发布以来,微软就承诺在未来扩展MS-DOS——多用户、网络、多任务。
结果,微软于1983 年1 月聚集了一些最好的程序员来开发新版本的MS-DOS 3.0(MS-DOS 2.5 是在同一代码库中同时开发的,作为微软和IBM 网络的临时版本)。该产品增加了基本的网络重定向器支持),并将成为一个真正的多任务操作系统,具有抢占式优先级调度程序、多线程、命名管道、信号量、会话管理用户界面和许多其他功能。
然而,编写一个与为单任务环境编写的数千个现有应用程序兼容的操作系统是很困难的。星霜对此进行了分析:
许多MS-DOS 应用程序,由于API 缺陷,会执行诸如直接写入显示内存之类的事情—— 这在多任务操作系统上无法完成,因为用户可以选择显示哪个应用程序,并且“屏幕”可以在任何时候。
由于新的操作系统将是抢占式多任务的,任何应用程序都可以随时被操作系统抢占进行上下文切换;许多DOS 应用程序在这方面表现不佳。应用程序还直接从外围设备写入和读取,如果操作系统正在等待来自这些设备的数据,这在多任务环境中可能是致命的。
也许是因为这些复杂性和其他原因,MS-DOS 3.0很快就被推迟了很长一段时间。后来MS-DOS 4.0又做了进一步的改进,甚至突破了640KB内存限制,支持超过32MB的硬盘空间,并且增加了支持鼠标的目录界面。
然而,MS-DOS 4.0与许多知名程序不兼容,有些漏洞甚至可能导致用户数据遭到破坏。
对此,不少用户抱怨当时流行的程序,如WordPerfect 5.1、Lotus 1-2-3、Doom等,在MS-DOS 4.0上总是出现问题。您可能正在执行一项任务,突然间,程序可能完全卡住了。早在我们认识并讨厌Windows 的蓝屏死机之前,MS-DOS 4.0 就已经让PC 用户感到恐惧了。
至于原因,外媒ZDNET表示,这主要是因为MS-DOS 4.0使用了92KB内存。但这在当时高端PC 只有640K 内存,而MS-DOS 4.0 使用的内存比任何以前的DOS 版本都多的时候是一件大事。
甚至这个版本的名声不佳也让很多使用DOS系统的开发者对其敬而远之。当时,Digital Research公司开发了一款DOS操作系统,名为DR-DOS。自发布以来,其版本号最初被模仿。 MS-DOS 版本号表明前者与后者的工作方式相同。但当发布DR-DOS 4.0 版本时,Digital Research 在1989 年将其新版本命名为DR-DOS 5.0,以防止任何人认为它与MS-DOS 4.0 有任何关系。
因此,即使在DOS 4.0 发布一年后,软件零售商Egghead Software 的数据仍然显示DOS 3.3 的销量是DOS 4.0 的两倍。
事实上,也许1991 年这么多人准备尝试新的类Unix 操作系统Linux 的原因之一是MS-DOS 4.0 激怒了如此多的用户。
后来微软推出了Windows操作系统,特别是Windows 95的发布,标志着微软向图形用户界面(GUI)过渡,导致MS-DOS的消亡。
虽然MS-DOS 4.0在过去备受争议,但现在它带来的开源仍然让很多操作系统爱好者兴奋不已。截至目前,该仓库已获得26.2k颗星,分叉数量达到3.6k。
参考链接:
https://cloudblogs.microsoft.com/opensource/2024/04/25/open-source-ms-dos-4-0/
热门手游排行榜
用户评论
这游戏真是个回忆杀啊,MSDOS 4.0的感觉太到位了!
有7位网友表示赞同!
太喜欢这种复古风格的游戏了,微软传奇的情怀满满。
有11位网友表示赞同!
玩这个游戏就像回到了小时候,电脑操作真是简单粗暴。
有15位网友表示赞同!
MSDOS 4.0的界面看着有点陌生,但操作起来还是那么亲切。
有7位网友表示赞同!
这个游戏让我想起了那些年的编程课,感觉又回到了学生时代。
有7位网友表示赞同!
微软传奇的开源操作系统,玩起来居然有点上瘾。
有5位网友表示赞同!
太喜欢这种挑战自己的游戏了,MSDOS 4.0的操作难度挺高。
有16位网友表示赞同!
这个游戏让我想起了那个时代的电脑病毒,感觉又回到了那个紧张刺激的时刻。
有5位网友表示赞同!
MSDOS 4.0的界面设计虽然简单,但很有特色。
有14位网友表示赞同!
玩这个游戏让我对计算机的历史有了更深的了解。
有18位网友表示赞同!
这个游戏的设计真的很用心,每一款软件都那么经典。
有17位网友表示赞同!
MSDOS 4.0的操作体验真的很怀旧,每一秒都充满了回忆。
有10位网友表示赞同!
这个游戏让我感受到了那个时代的科技魅力。
有7位网友表示赞同!
玩微软传奇的开源操作系统,仿佛能穿越时空。
有10位网友表示赞同!
MSDOS 4.0的界面虽然简陋,但那种纯粹的感觉让人着迷。
有13位网友表示赞同!
这个游戏让我想起了那些年的游戏机,简单却快乐。
有19位网友表示赞同!
微软传奇的开源操作系统,让我对电脑操作有了新的认识。
有10位网友表示赞同!
这个游戏的设计理念真的很独特,让人眼前一亮。
有14位网友表示赞同!
MSDOS 4.0的操作体验让我感受到了那个时代的科技发展速度。
有11位网友表示赞同!