为什么MS-DOS将软盘读取缓冲区存储恰好两秒钟?

MS-DOS 2.0存储磁盘读取缓冲区,但不写入缓冲区。 读取缓冲区很重要:它避免了重新读取。 卸载卷后可以取消它。

但是,嘿,我们没有卸载软盘。 我们只是把它们拿出来。

可以手动打开那个时代的驱动器,并随时删除软盘。 该规范提供了打开驱动器门的状态,但是IBM并未实施该规范的这一部分来节省一个逻辑门。 设备供应商将尽一切努力节省至少一分钱

但是,此读取缓冲区对于性能至关重要。 没有它,您将不得不从头开始每个I / O操作,重新读取卷的目录,查找目录条目,查看块分配表以搜索下一个空闲群集...而软盘绝对不是最快的驱动器,因此所有这些操作持续几秒钟。

为了至少保留一些缓存,MS-DOS的开发人员启动了一个基准测试:一个人可以多快的时间更换IBM PC驱动器中的软盘?

MS-DOS 2.0项目经理Mark Zbikowski坐着秒表,而Aaron ReynoldsChris Peters试图尽快更换IBM计算机上的软盘。

他们做不到两秒。

因此,MS-DOS缓存在两秒钟内过期。 如果在两秒钟的间隔内发生两次软盘访问,则第二次尝试将使用旧软盘中的缓存。

我不知道清除缓存的现代两秒策略是否是办公室竞争的直接结果,但我想认为存在某种联系。

Source: https://habr.com/ru/post/zh-CN469189/


All Articles