Submitted via IRC for Bytram
How did MS-DOS decide that two seconds was the amount of time to keep the floppy disk cache valid?
MS-DOS 2.0 contained a disk read cache, but not a disk write cache. Disk read caches are important because they avoid having to re-read data from the disk. And you can invalidate the read cache when the volume is unmounted.
But wait, you don't unmount floppy drives. You just take them out.
IBM PC floppy disk drives of this era did not have lockable doors. You could open the drive door and yank the floppy disk at any time. The specification had provisions for reporting whether the floppy drive door was open, but IBM didn't implement that part of the specification because it saved them a NAND gate. Hardware vendors will do anything to save a penny.
[...] Mark Zbikowski led the MS-DOS 2.0 project, and he sat down with a stopwatch while Aaron Reynolds and Chris Peters tried to swap floppy disks on an IBM PC as fast as they could.
They couldn't do it under two seconds.
So the MS-DOS cache validity was set to two seconds. If two disk accesses occurred within two seconds of each other, the second one would assume that the cached values were still good.
I don't know if the modern two-second cache flush policy is a direct descendant of this original office competition, but I like to think there's some connection.
(Score: 2) by Rich on Wednesday September 25 2019, @03:20PM (1 child)
Macs always have had little eject holes, and Mac power users (almost) always had a beefy bent-up paperclip next to their computer. The regular kind of paperclip was too weak for the spring loading of the Sony drives, and the large ones were too thick. (It was easy with the later drives, where the eject energy had to be pushed in with the disk, and the eject just needed to be triggered, though) The right kind of paper clip was quite a coveted item among classic Mac users. :)
Your ideas would require hacking the onboard controller of the stick, but good luck with that as the manufacturers are certainly not keen to expose their firmware tricks on how to keep your data stable until at least one day past the warranty period.
If you don't want to roll your own, Shenzhen-startup-style, maybe there's an upmarket manufacturer where the stick actually acts faithfully to commands and a "sync" is a "sync" and it will _guarantee_ that it is stable to the extent of being in some safe state with modifications only possible from writes after the last sync. Then you could add the LED to the port and use a journaling (or better a logging) file system from the host.
(Score: 2) by RS3 on Thursday September 26 2019, @03:09AM
I'm not suggesting hacking- I mean real product development (grown-ups). I'm just saying it might be a good idea for someone in that market, or someone who wants to try that.
I like your "sync" and LED ideas. Wish I could start a company! You'd get your cut. :)
Maybe just a "sync" button on the thing, and an LED would go out when done syncing. But I dunno- it all depends on the OS, USB speed, buffer size / speed, FLASH / controller speed...