首先要意识到一点:DOS不是一个项目,而是一个产品。这是一个从1.0版本直到6.22版本的产品,其间最主要的升级就是在不断适应硬件的升级,而硬件是技术和用户需求两方面不断推动发展的。
640KB的内存限制是Gates的锅,1MB则是8086地址总线宽度的问题;32MB的磁盘访问限制是因为16位的数据总线,所以最多容纳64K个扇区...
所以现在看到的很多DOS奇怪或者愚蠢的地方,都是有其历史原因的,包括硬件限制,特殊硬件的支持,前向兼容等等。当然,这种问题不是DOS独有的,几乎任何一个做了三年以上,经历过几个大版本迭代的产品都会存在。
所以,有一个问题需要先考虑:你要做的是DOS模拟器还是DOS?如果是前者的话你不需要考虑硬件限制,只要功能就行了。至少你不用操心操作系统所占用的内存,而Gates则需要DOS跟应用程序共享640KB的内存,所以他必须尽量做的小,而模拟器不用太担心。如果是要做一个可以在老CPU上跑的DOS,你先得把支持的硬件确定下来,包括Cpu,什么接口的键盘,是否支持鼠标,网络,什么样的串口并口等等。在硬件基础上,再考虑对标哪个DOS版本的问题,毕竟DOS1.0和6.22功能差别巨大。
【 在 hgoldfish 的大作中提到: 】
: 假如,我说假如,给大家无限的资金重写 DOS,把 DOS 写成你想要的样子。你会怎么样设计 DOS?
:
: 抛砖引玉一下,如果是我重写 DOS,我会让 DOS:
: ...................
--来自微微水木3.5.14
--
FROM 101.84.192.*