86-DOS

2020-06-08 19:24:12

跳转到导航跳转到搜索86-DOS是由西雅图计算机产品公司(SCP)为其基于Intel 8086的计算机套件开发和销售的停产操作系统。最初被称为QDOS(Quick and Dirty Operating System,快速肮脏操作系统),在SCP于1980年开始许可该操作系统后,该名称更改为86-DOS。

86-DOS的命令结构和应用程序编程接口模仿了Digital Research的CP/M操作系统,这使得从后者移植程序变得很容易。该系统被微软授权后购买,并进一步发展为MS-DOS和PC-DOS。[1]。

之所以创建86-DOS,是因为西雅图计算机产品8086计算机套件(1979年6月展示并于11月发货)的销售因缺少操作系统而萎靡不振[2]。SCP可以随主板一起销售的唯一软件是微软的独立磁盘Basic-86,这是微软在SCP硬件原型上开发的。[2]SCP想要提供Digital Research最初宣布的1979年11月的8086版本的CP/M,但被推迟了,发布日期也不确定。[3]这不是Digital Research第一次落后于硬件发展;两年前,它在调整CP/M以适应新的软盘格式和硬盘驱动器方面进展缓慢。1980年4月,SCP指派24岁的蒂姆·帕特森(Tim Paterson)开发CP/M-86的替代品。[2]。

使用CP/M-80手册作为参考[4]Paterson仿照86-DOS的体系结构和接口,但适应英特尔8086 16位处理器的要求,以便于(和部分自动化)许多现有的8位CP/M程序的源代码级翻译;[3]将它们移植到DOS或CP/M-86几乎同样困难,[5]而且由于Intel已经发布了一种方法,可以用来将软件从为其设计CP/M的Intel8080处理器自动翻译到新的8086指令集,这一事实减轻了这一困难。[3]同时,他进行了一些修改和增强,以解决他认为的CP/M&M;的缺点。为了提高速度,CP/M将文件系统信息缓存在内存中,但这要求用户在删除磁盘之前强制更新该磁盘;如果用户忘记了,该磁盘将会损坏。帕特森采取了更安全、但速度更慢的方法,即每次操作都更新磁盘。CP/M&M&39;的复制文件的pip命令支持几个引用硬件设备(如打印机和通信端口)的特殊文件名。帕特森将这些名称作为设备文件内置到操作系统中,这样任何程序都可以使用它们。他给他的复制程序起了一个更直观的名字:复制。他没有实现CP/M的文件系统,而是使用了微软独立磁盘Basic-86的文件分配表(FAT)文件系统。[1]。

到1980年年中,SCP登出了86-DOS的广告,其价值12908086美元的电路板的所有者定价为95美元,其他用户的价格为195美元。它吹嘘该软件能够从CP/M磁盘上读取Zilog Z80源代码并将其翻译成8086源代码,并承诺只需稍加修改和优化即可生成8086个二进制代码。[6]。

1980年10月,IBM正在开发后来成为最初的IBM个人计算机。CP/M是当时使用的最流行的操作系统,IBM认为它需要CP/M才能竞争。IBM的代表访问了Digital Research,并与Digital Research的许可代表多萝西·基尔德尔(Née McEwen)讨论了许可事宜,后者对签署IBM的保密协议犹豫不决。尽管保密协议后来被接受,但Digital Research不会接受IBM提出的25万美元的提议,以换取IBM能卖出的尽可能多的拷贝,坚持通常的基于版税的计划。[7]在IBM和比尔·盖茨后来的讨论中,盖茨提到了86-DOS的存在,IBM代表杰克·萨姆斯(Jack Sams)告诉他要拿到许可证。[需要引用]。

1980年12月,微软以25,000美元的价格从西雅图计算机产品公司购买了86-DOS的非独家许可[8]。1981年5月,它聘请蒂姆·帕特森(Tim Paterson)将该系统移植到IBM智能PC上,[2]该PC使用速度较慢、价格较低的Intel8088处理器,并有自己的特定外围设备系列。IBM每天都在关注开发,在接受产品并为其编写用户手册之前,[2]提交了300多个更改请求。

1981年7月,也就是PC发布前一个月,微软以5万美元的价格从SCP手中购买了86-DOS的所有版权。[2][9][10]它符合IBM的主要标准:它看起来像CP/M,[1]并且很容易使现有的8位CP/M程序在其下运行,这主要归功于将源文件从8080机器指令翻译成8086机器指令的trans命令。微软将86-DOS授权给IBM,并将其命名为PC-DOS-1.0。本许可证还包括

当Digital Research创始人Gary Kildall检查PC/DOS,发现它重复了CP/M的编程接口时,他想起诉IBM,后者当时声称PC和DOS是自己的产品。然而,Digital Research的律师认为相关法律不够明确,无法起诉。尽管如此,基尔德尔还是与IBM对质,并说服他们为个人电脑提供CP/M-86,以换取免除责任。

围绕这两个系统之间的相似性的争议仍在继续。也许最耸人听闻的说法来自杰瑞·普内尔,他说基尔德尔亲自向他证明了DOS包含CP/M代码,他在DOS中输入了一条显示基尔德尔名字的命令,[11][nb1]但普内尔从未透露过命令,也没有人站出来证实他的说法。2004年一本关于Kildall的书说,他使用这样的加密信息来证明其他制造商已经复制了CP/M,但没有说他在DOS;[12]中发现了这条信息,而是Kildall的回忆录(该书的来源之一)指出了众所周知的界面相似性。帕特森坚称86-DOS软件是他的原创作品,并否认在编写代码时提到或以其他方式使用CP/M代码。[13]2004年这本书出版后,他起诉作者和出版商诽谤。[14]法院在即决判决中裁定没有发生诽谤,因为该书的说法是基于研究的观点,或者没有可证明的虚假。[15]。

操作系统大约完成了一半的版本。[2]它实现了Paterson派生的微软FAT文件系统的原始形式。与独立磁盘BASIC-86中较早的8位FAT文件系统相比,此变体已经支持12位表元素,[16]将FAT的数量从3[17]减少到2,重新定义了一些保留簇值的语义,并修改了磁盘布局,使得根目录现在位于FAT和数据区之间。Paterson还将以前的9个字符长度限制提高到11个字符,以支持CP/M样式的8.3文件名和文件控制块。然而,这个变体仍然使用16字节的目录项,因此与后来在MS-DOS/PC和DOS中称为FAT12的内容不兼容。可能已经装船了。[18]。

在IBM(通过Microsoft[9])的间接请求下,目录条目的大小从16字节更改为32字节(类似于MDOS/MIDAS),以便添加对最后修改的日期戳(2字节)和大于16 MB(4字节)的理论文件大小的支持,[20]从而实现了最早形式的12位FAT文件系统,在逻辑上与后来在MS-DOS/PC和DOS中被称为FAT12的文件系统完全兼容。86-DOS保留了读取在旧版本的86-DOS下写入的卷的功能,最低版本为MS-DOS 1.14,而通用MS-DOS版本1.20/PC和DOS版本1.1及更高版本不再支持该功能。

在86-DOS 1.00中找到的文件DOSIO.ASM提到,它是用于86-DOS版本0.60和更高版本";的";I/O系统。[21]。

微软购买,并于1981-07-27,[9][18]更名为MS-DOS,因此是真正匹配86-DOS和MS-DOS版本号的最后一个版本。已知的第一个实现隐藏属性的版本。

根据Tim Paterson PC的说法,DOS 1.0基本上反映了86-DOS 1.14,[18]其他来源发现,到1981-07-21年,PC-DOS 1.0与MS-DOS/86-DOS 1.10匹配的可能性更大。

到1982年,当IBM要求微软发布与硬盘驱动器兼容的DOS版本时,PC和DOS 2.0几乎完全重写了DOS,所以到了1983年3月,86-DOS只剩下很少的了。86-DOS最经久不衰的元素是它的原始行编辑器Edlin,它一直是微软版本DOS提供的唯一编辑器,直到1991年6月MS-DOS 5.0的发布,其中包括一个基于QBASIC的称为MS-DOS编辑器的基于文本的用户界面编辑器。Edlin仍然可以在当代机器上使用,因为有高达Windows10(32位)的模拟DOS环境。

西雅图计算机产品86-DOS在由Cromemco、Tarbell Electronics和North Star Computers制造的S-100软盘控制器硬件上的8英寸和5.25英寸软盘驱动器上支持FAT12文件系统。基于西部数据FD1771的Cromemco和Tarbell主板支持单面、单密度软扇区驱动器。还支持使用FD1791的Tarbell双密度板。后来,SCP提供了高级软盘控制器,如Disk Master系列。

86-DOS没有像后来的DOS版本那样利用FAT ID字节[NB2]或BIOS参数块(BPB)来区分不同的介质格式;相反,不同的驱动器号在编译时被硬编码,以便与不同的物理软盘驱动器、侧面和密度相关联。这意味着,根据类型的不同,磁盘必须在特定驱动器号下寻址才能正确识别。这一概念后来在DOS 3.x和更高版本中由DRIVER.SYS以更大的灵活性进行了仿真。

86-DOS 12位FAT格式存在两种逻辑格式变体-原始格式具有16字节目录条目,较新格式(从86-DOS 0.42开始)具有32字节目录条目。只有第二个在逻辑上与自MS-DOS和PC-DOS发布以来已知的FAT12格式兼容。MS-DOS仍然无法挂载这样的卷,因为在没有BPB的情况下,它会后退到FAT条目中检索FAT条目中的FAT ID,以设计FAT文件系统#cluster 0cluster 0,以便在硬编码的磁盘几何配置文件中进行选择。在MS-DOS下格式化的卷的所有格式(否则两个系统都会支持这些格式,通常也是所有其他格式)中,此ID位于逻辑扇区1的第一个字节中-即具有物理柱头扇区(CHS)地址0/0/2或逻辑块寻址(LBA)地址1的卷的第二个扇区-因为MS-DOS假定单个保留扇区,即引导扇区。在86-DOS下,保留扇区区域明显较大(整个磁道),因此典型的FAT ID 0xFE(和0xFF)位于磁盘上的其他位置,使得MS-DOS不可能检索它,即使它会,与其相关的硬编码磁盘配置文件也不会考虑86-DOS下较大的保留扇区区域。[NB 2]。

86-DOS没有提供对硬盘的任何具体支持,但是像Tallgras Technologies这样的公司提供了硬盘控制器形式的第三方解决方案和相应的86-DOS I/O系统扩展,使硬盘可以在FAT12文件系统的大小限制内访问,类似于超级软盘。

MS-DOS 1.2x和2.x的各种OEM版本也支持FAT12软盘格式的一些类似的8.0版本,尽管与86-DOS支持的版本不同。[NB 2]。

微软Tim Paterson开发的最新版本之一MS-DOS 1.25[19][24][25][26](1982年3月)支持的磁盘格式,适用于带有SCP控制器或Cromemco 16FDC控制器的SCP Gazelle计算机(默认情况下,此版本仅支持具有单个保留扇区的格式中与MS-DOS兼容的8.0版本,但可以构建为以磁盘格式提供两个额外的驱动器号来读写以前SCP 86-DOS 8.0版本中的软盘。

1984年,西雅图计算机产品公司为采用SCP-500磁盘主软盘控制器的SCP S-100计算机发布了MS-DOS 2.0的OEM版本。它添加了对DD/1S(180KB)和DD/2S(360KB)FAT12格式的5.25%的支持,并支持较旧的格式,尽管与MS-DOS 1.25相比,可能会修改一些参数。[27][27]。

具有讽刺意味的是,在Jerry Pournelle声称Gary Kildall向他演示了一种在DOS中显示Kildall名字的方法的背景下,Tim Paterson声称在1983年开发这个基于Z80的CP/M克隆类似86-DOS/MS-DOS 1.25时,他在MSX-DOS 1的胖代码中隐藏了一个复活节彩蛋,显示了他自己的名字:Paterson,Tim(2014-02-17)。MSX-DOS的历史。Jorito,Maggoo,John Hassink,MSX资源中心。

在86-DOS1.00下格式化的^a b c d e 8.0";250.25 KB图像的FAT ID为FEH,然而,与MS-DOS/PC和DOS相比,86-DOS似乎不使用它来检测磁盘格式,因为此信息在编译时硬编码到与某些驱动器号相关联的磁盘配置文件中。假设只有一个512字节的保留扇区(逻辑扇区0中的引导扇区),而不是这里的86-DOS使用的52个保留扇区á128字节,MS-DOS将无法装入这样的卷(在没有BPB的情况下),因为它期望在逻辑扇区1中使用FAT ID。这适用于MS-DOS,因为系统文件不是MS-DOS下保留区域的一部分,而在86-DOS下没有系统文件,大约6000KB的大DOS内核位于保留区域内。

^a b c d在86-DOS 1.00 COMMAND.COM下执行CLEAR命令似乎将卷的FAT ID字节初始化为FEH,而与使用的磁盘驱动器和格式无关。

^DOS 1.x不支持BPB,但此每个磁道的物理扇区数条目对应于DOS 3.0及更高版本下的BPB偏移量0x0D。

^DOS 1.x不支持BPB,但此标题数条目对应于DOS 3.0及更高版本下的BPB偏移量0x0F。

^DOS 1.x不支持BPB,但每个逻辑扇区的此字节数条目对应于DOS 2.0及更高版本下的BPB偏移量0x00。

^DOS 1.x不支持BPB,但此每簇逻辑扇区(分配单元)条目对应于DOS 2.0及更高版本下的BPB偏移量0x02。

^DOS 1.x不支持BPB,但此保留逻辑扇区数条目对应于DOS 2.0及更高版本下的BPB偏移量0x03。

^DOS 1.x不支持BPB,但此脂肪数量条目对应于DOS 2.0及更高版本下的BPB偏移量0x05。

^DOS 1.x不支持BPB,但此根目录条目数条目(α32字节)对应于DOS 2.0及更高版本下的BPB偏移量0x06。

^DOS 1.x不支持BPB,但此逻辑扇区总数条目对应于DOS 2.0及更高版本下的BPB偏移量0x08。

^DOS 1.x不支持BPB,但此每个FAT的逻辑扇区数条目对应于DOS 2.0及更高版本下的BPB偏移量0x0B。

^DOS 1.x不支持BPB,但此隐藏扇区数条目对应于DOS 3.0及更高版本下的BPB偏移量0x11。

^由于未知原因,某些Microsoft文档为此条目指定值3,其中0在技术上似乎是正确的。SCP MS-DOS 1.25也隐含假设为0。

^DOS 1.x不支持BPB,但此FAT ID条目与DOS 2.0及更高版本下BPB偏移量0x0A处的媒体描述符字节相对应。

保罗·艾伦;盖茨,比尔;金,阿德里安;拉森,克里斯;莱特温,戈登;O';后方,鲍勃;帕特森,蒂姆;彼得斯,克里斯;菲利普斯,布鲁斯;雷诺兹,亚伦;斯蒂勒梅克,贝蒂;兹比科夫斯基,马克(1986)。技术顾问";。MS-DOS(1.0-3.2版)技术参考百科全书。作者:Bornstein,Howard;Bredehoeft,Lawrence;Duncan,Ray;Morris,Carol;Rose,David;Socha,John;Tomlin,Jim;Vian,Kathleen;Wolverton,Van。贝利,吉姆;Preppernau,Barry;Beason,Pam;刘易斯,安德里亚;Rygmyr,David(编辑)。Microsoft参考库。1(原撤销版)。美国华盛顿州雷德蒙德:微软出版社。ISBN电话:0-914845-69-1。LCCN电话:86-8640。华侨城:635600205。(XVII+1053页;29厘米)(注。这个原始版本包含系统内部工作的流程图。它在1986年大规模分发之前被微软撤回,因为它包含许多事实错误以及一些本不应该发布的机密信息。几乎没有印刷品幸存下来。1988年,它被完全改编的版本所取代。[1])。

^a bc d e f g h i j k Hunter,David(1983年3月)。DOS的根源:蒂姆·帕特森(Tim Paterson)。Softalk。从原件存档于2019-09-06。

^a b c.帕特森,蒂姆(1983年6月)。深入了解MS-DOS-流行操作系统背后的设计决策。字节。6.Byte Publications Inc.。8:230。(注:本文经常使用";MS-DOS&34;来指代86-DOS和MS-DOS,但在侧栏文章“MS-DOS简史”中提到QDOS和86-DOS。)。

^Cringely,罗伯特·X。(1996年6月)。";第二部分";。书呆子的胜利:意外帝国的崛起。第一季,公共广播公司。

^a b西雅图计算机产品(1980年8月)。";86-DOS-8086操作系统-95美元。字节(通告)。第5卷第8期Byte Publications Inc.。第173页。ISSN电话:0360-5280。Coden和BYTEDJ。[2](NB.。SCP广告已经将产品命名为86-DOS,但没有提到具体的版本号。已知0.3版已被称为86-DOS,因此名称更改必须是在0.2版或紧随其后的1980年8月进行的。)。

^a b c";86-西雅图计算机产品公司与Microsoft之间的DOS版本0.3(1980-11-15)许可协议(PDF)。1981-01-06。存档时间为2020-02-18,原件为PDF。(注:(作为证据1,作为Comes诉Microsoft案件的一部分发表。)。

^a b c d&34;86-西雅图计算机产品公司与Microsoft之间的DOS销售协议(PDF)。1981-07-27.。存档于2020-02-19年原件(PDF)。(注:作为Comes诉Microsoft案件的一部分作为证据2发布。该文件还带有1981-07-22年的打印日期戳。)。

^Zbikowski,Mark;Allen,Paul;Ballmer,Steve;Borman,Ruben;Borman,Rob;Butler,John;Carroll,Chuck;Chamberlain,Mark;Chell,David;Colee,Mike;Dryfoos,Mike;Duncan,Rachel;Eckhardt,Kurt;Evans,Eric;Farmer,Rick;Gates,Bill;Geary,Michael;Griffin,Bob;Hogarth,Douth。Mathers,Estelle;Matthews,Bob;Melin,David;Mergentime,Charles;Nevin,Randy;Newell,Dan;Newell,Tani;Norris,David;O';Leary,Mike;O';Rear,Bob;Olsson,Mike;Osterman,Larry;Ostling,Ridge;Pai,

..

2020-6-8 15:46
2009-7-18 9:58
2006-11-30 17:16