Why does MS-DOS store the floppy read buffer for exactly two seconds?

MS-DOS 2.0 stores a disk read buffer, but not a write buffer. The read buffer is important: it avoids re-reading. And it can be canceled when the volume is unmounted.



But hey, we're not unmounting floppies. We just take them out.



The drives of that era could be opened manually and the floppy disk removed at any time. The specification provided statuses for opening the drive door, but IBM did not implement this part of the specification to save one logical gate. Equipment suppliers will do anything to save at least a cent .



But this read buffer is critical to performance. Without it, you will have to start from scratch each I / O operation, re-reading the table of contents of the volume, finding the directory entries, looking at the block allocation tables in search of the next free cluster ... and the floppy disk is definitely not the fastest drive, so all these operations last for seconds.



To leave at least some cache, the developers of MS-DOS launched a benchmark: how quickly can a person change a diskette in an IBM PC drive?



MS-DOS 2.0 project manager Mark Zbikowski was sitting with a stopwatch while Aaron Reynolds and Chris Peters tried to change floppies on an IBM computer as quickly as possible.



They could not do it faster than two seconds.



Therefore, the MS-DOS cache expired in two seconds. If two floppy disk accesses occur in a two-second interval, then the second attempt uses the cache from the old floppy disk.



I don’t know if the modern two-second cache clearing policy is a direct result of that competition in the office, but I like to think that there is some kind of connection.



All Articles