Pourquoi MS-DOS stocke le tampon de lecture de disquette pendant exactement deux secondes?

MS-DOS 2.0 stocke un tampon de lecture de disque, mais pas un tampon d'écriture. Le tampon de lecture est important: il évite la relecture. Et il peut être annulé lorsque le volume est démonté.

Mais bon, nous ne démontons pas les disquettes. Nous les sortons simplement.

Les lecteurs de cette époque pouvaient être ouverts manuellement et la disquette retirée à tout moment. La spécification fournit des statuts pour l'ouverture de la porte du lecteur, mais IBM n'a pas implémenté cette partie de la spécification pour enregistrer une porte logique. Les fournisseurs d'équipement feront tout pour économiser au moins un centime .

Mais ce tampon de lecture est essentiel aux performances. Sans cela, vous devrez recommencer à zéro chaque opération d'E / S, relire la table des matières du volume, trouver des entrées de répertoire, regarder les tables d'allocation de blocs à la recherche du prochain cluster libre ... et la disquette n'est certainement pas le lecteur le plus rapide, donc toutes ces opérations sont retardées de quelques secondes.

Pour laisser au moins du cache, les développeurs de MS-DOS ont lancé une référence: à quelle vitesse une personne peut-elle changer une disquette dans un lecteur IBM PC?

Mark Zbikowski, chef de projet MS-DOS 2.0, était assis avec un chronomètre tandis qu'Aaron Reynolds et Chris Peters essayaient de changer les disquettes sur un ordinateur IBM aussi rapidement que possible.

Ils ne pouvaient pas le faire plus vite que deux secondes.

Ainsi, le cache MS-DOS a expiré en deux secondes. Si deux accès aux disquettes se produisent dans un intervalle de deux secondes, la deuxième tentative utilise le cache de l'ancienne disquette.

Je ne sais pas si la politique moderne de deux secondes d'effacement du cache est une conséquence directe de cette concurrence au bureau, mais j'aime penser qu'il existe une sorte de connexion.

Source: https://habr.com/ru/post/fr469189/


All Articles