当前位置: 首页 > news >正文

dos系统时代

1、蒂姆·帕特森 是 “洁净室”方法吗 还是IBM

一、帕特森开发86-DOS:不是“洁净室”,而是“直接参考”

帕特森在1980年开发86-DOS(最初叫QDOS)时,并没有采用“洁净室”这种规避侵权的合法逆向工程方法

实际上,他的做法简单直接得多:

  • 他手边有一本公开出版的CP/M手册(CP/M是基尔代尔开发的行业标准操作系统)

  • 他从手册中直接复制了CP/M的API接口定义系统调用编号

  • 然后自己重新编写代码来实现这些功能

简单说就是:“接口照着抄,代码自己写”

这是一种常见的兼容性做法,但它在法律上存在风险——因为接口设计本身也可能被视为受保护的智力成果。这也解释了为什么后来西雅图计算机产品公司(SCP)会起诉微软,最终微软支付了100万美元和解。

二、IBM改造DOS:也不是“洁净室”,而是“常规开发”

你之前问到的“洁净室”,在IBM和微软这次合作中根本没有使用

根据历史资料,IBM PC的DOS开发过程是这样的:

  1. 微软已经买下了86-DOS的完整版权(1981年7月,5万美元)

  2. 帕特森本人被挖到了微软(1981年4月离开SCP,5月加入微软)

  3. IBM和微软的工程师是“并肩作战”的——双方人员在西雅图的一间小办公室里一起工作,用IBM提供的原型机进行开发和调试

这种模式恰恰是“洁净室”方法最反对的——洁净室的核心要求就是“分析组”和“实现组”严格隔离,不能有任何交流。而IBM和微软的做法是:原代码作者(帕特森)直接参与改造,IBM工程师随时介入配合。


三、“洁净室”真正用在哪儿了?

这个方法是后来才被广泛使用的,最有名的案例是:

时间案例说明
1980年代初IBM克隆基尔代尔的BIOS用洁净室方法独立写出与CP/M BIOS功能兼容的代码
1988年Digital Research开发DR-DOS为了兼容MS-DOS,采用洁净室逆向工程

Digital Research(基尔代尔的公司)开发DR-DOS时,为了确保不与MS-DOS产生法律纠纷,正是采用了洁净室方法:一组人反汇编MS-DOS、写功能文档,另一组人完全隔离、只看文档重写代码。

这成了一个历史性的讽刺:基尔代尔发明的CP/M被帕特森“参考”了,但没走洁净室流程;后来基尔代尔自己的公司为了兼容对手的系统,反倒严格遵守了洁净室规范

四、总结对比

事件使用洁净室吗?实际做法
帕特森开发86-DOS❌ 否直接参考公开的CP/M手册,复制API接口
IBM+微软改造PC-DOS❌ 否原代码作者(帕特森)直接加入项目,双方工程师合作开发
IBM克隆基尔代尔BIOS✅ 是用洁净室方法规避侵权
Digital Research开发DR-DOS✅ 是用洁净室方法兼容MS-DOS

一句话总结:帕特森是直接“参考”了CP/M,IBM和微软是“拿来改造”——两者都没有用“洁净室”。这个方法后来主要被想兼容别人系统但怕被告的公司使用,比如IBM自己(克隆BIOS时)和Digital Research(开发DR-DOS时)。

参考部分

https://retrocomputing.stackexchange.com/posts/26541/revisions

https://retrocomputing.stackexchange.com/posts/26541/revisions

From https://en.wikipedia.org/wiki/DR-DOS DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-DOS (which were the same product sold under different names). DR-DOS was developed by Gary A. Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86. As ownership changed, various later versions were produced with names including Novell DOS and Caldera OpenDOS. Though DR-DOS was a descendentdescendant of CP/M (and indeed MS-DOS started life as QDOS, a clone of CP/M), achieving full compatibility with MS-DOS in the late eighties was nontrivial; applications depended on all sorts of quirks of the system. Some of these were documented in a book called Undocumented DOS, but this was only published in 1990. It seems to me therefore that DR, to achieve full compatibility without legal vulnerability, must have used clean room reverse engineering: one team disassembles MS-DOS and fully documents their findings, another never looks at the MS-DOS code, but writes DR-DOS based on the documentation. (This would be similar to the way IBM-compatible BIOSes were written, but with the difference that IBM published the source code for their BIOS, so in that case, the first team didn't need to use a disassembler.) Are there historical records confirming that this was done, and giving any details of the process, like how long it took, and who worked on each team? Became Hot Network Question occurred Mar 1, 2023 at 0:56 1 Source Link asked Feb 28, 2023 at 16:56 rwallace 65.7k 20 266 631 Did DR cleanroom MS-DOS? From https://en.wikipedia.org/wiki/DR-DOS DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-DOS (which were the same product sold under different names). DR-DOS was developed by Gary A. Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86. As ownership changed, various later versions were produced with names including Novell DOS and Caldera OpenDOS. Though DR-DOS was a descendent of CP/M (and indeed MS-DOS started life as QDOS, a clone of CP/M), achieving full compatibility with MS-DOS in the late eighties was nontrivial; applications depended on all sorts of quirks of the system. Some of these were documented in a book called Undocumented DOS, but this was only published in 1990. It seems to me therefore that DR, to achieve full compatibility without legal vulnerability, must have used clean room reverse engineering: one team disassembles MS-DOS and fully documents their findings, another never looks at the MS-DOS code, but writes DR-DOS based on the documentation. (This would be similar to the way IBM-compatible BIOSes were written, but with the difference that IBM published the source code for their BIOS, so in that case, the first team didn't need to use a disassembler.) Are there historical records confirming that this was done, and giving any details of the process, like how long it took, and who worked on each team? historyms-dosreverse-engineering
http://www.jsqmd.com/news/874893/

相关文章:

  • AI与PDCA循环融合:构建韧性医院物流系统的实践指南
  • 手把手教你用udev规则在统信UOS上灵活管控USB设备(允许特定U盘/完全禁用)
  • 2026年4月螺母供应商口碑分析,字槽伞头螺丝/螺母/双牙长方型T帽/字槽圆头自攻尖尾螺钉,螺母厂家口碑推荐 - 品牌推荐师
  • openKylin双系统安装保姆级复盘:我踩过的三个坑(分区、引导、驱动)及完美解决方案
  • 从‘封建网络’到‘选项框架’:手把手拆解5种主流HRL算法核心思想与PyTorch实现要点
  • 深入Linux内核:fixed-link如何用软件模拟一个PHY,并接入MDIO总线框架
  • MacBook新手别慌!Final Cut Pro 10.6.5保姆级教程:从导入素材到导出网课视频全流程
  • # 软考软件设计师 · 考前2天轻松复习与终极必背手册
  • Spark Transformer:稀疏激活技术提升大模型计算效率
  • 【2026年阿里巴巴集团暑期实习- 5月23日-算法岗-第一题- 荆棘林的最优砍断计划】(题目+思路+JavaC++Python解析+在线测试)
  • 卫星遥感与AI融合的海洋监测技术解析
  • Linux下离线安装Mamba_SSM和Causal-Conv1d避坑指南(附CUDA 11.8 + PyTorch 2.0环境包)
  • 避坑指南:ARM架构麒麟V10 SP2安装telnet时,如何解决‘依赖地狱’和版本匹配问题
  • AI司法应用中的算法公平性:从数据偏见到保护属性选择的技术实践
  • 1980年代初 IBM克隆基尔代尔的BIOS 真是吗
  • 神经形态光子计算与单通道压缩感知:重塑超高速机器视觉新范式
  • 机器人导航核心技术:深度感知与传感器融合的工程实践
  • 毫米波通信技术对比:Pinching天线与RIS性能分析
  • AI时代版权新范式:智能代理如何重塑数据交易与创作者权益
  • 基于RNN的数字-实体关系抽取:从非结构化文本中提取结构化信息
  • LPC2000复位行为解析与调试技巧
  • 深入Winlogon:用C++和Detours库拦截Windows关机/重启的实战教程(含完整项目代码)
  • Evident方法论:用观察、假设、测试构建可复现的数据科学工作流
  • 开屏广告变现平台排行:APP广告收益提升、APP广告素材合规、APP想接入广告、APP流量变现、SDK变现、开屏广告变现选择指南 - 优质品牌商家
  • STR9微控制器Flash编程方法与实践指南
  • 告别调参噩梦!用Ball k-means在Python里5分钟搞定百万级数据聚类
  • 多中心医学影像机器学习中ComBat数据协调的数据泄漏陷阱与解决方案
  • 荒野搜救无人机图像采集优化:提升CV/ML应用效能的五条核心原则
  • 【2026年阿里巴巴集团暑期实习- 5月23日-算法岗-第二题- 多约束条件下的元素匹配统计】(题目+思路+JavaC++Python解析+在线测试)
  • Windows/Mac/Linux全平台指南:永久设置HF_ENDPOINT加速镜像,告别HuggingFace下载超时