O MS-DOS 2.0 armazena um buffer de leitura do disco, mas não um buffer de gravação. O buffer de leitura é importante: evita a releitura. E pode ser cancelado quando o volume é desmontado.
Mas ei, não estamos desmontando disquetes. Nós apenas os tiramos.
As unidades daquela época podiam ser abertas manualmente e o disquete removido a qualquer momento. A especificação forneceu status para abrir a porta da unidade, mas a IBM não implementou essa parte da especificação para salvar uma porta lógica. Os fornecedores de equipamentos farão de tudo para
economizar pelo menos um centavo .
Mas esse buffer de leitura é crítico para o desempenho. Sem ele, você terá que começar do zero a cada operação de E / S, relendo o índice do volume, localizando entradas de diretório, observando as tabelas de alocação de blocos em busca do próximo cluster livre ... e o disquete definitivamente não é a unidade mais rápida, portanto, todas essas operações estão atrasadas por segundos.
Para deixar pelo menos algum cache, os desenvolvedores do MS-DOS lançaram uma referência: com que rapidez uma pessoa pode alterar um disquete em uma unidade IBM PC?
O gerente de projetos do MS-DOS 2.0, Mark Zbikowski, estava sentado com um cronômetro, enquanto
Aaron Reynolds e
Chris Peters tentavam alterar os disquetes em um computador IBM o mais rápido possível.
Eles não podiam fazer isso mais rápido que dois segundos.
Assim, o cache do MS-DOS expirou em dois segundos. Se dois acessos ao disquete ocorrerem em um intervalo de dois segundos, a segunda tentativa usará o cache do antigo disquete.
Não sei se a política moderna de dois segundos de limpar o cache é uma consequência direta dessa concorrência no escritório, mas gosto de pensar que há algum tipo de conexão.