Une brève histoire de DOS
Le système d'exploitation DOS est apparu en 1980, à une époque où les micro-ordinateurs 8 bits et les systèmes d'exploitation CP/M 80 constituaient la majorité des micro-ordinateurs basés sur les microprocesseurs Intel 8080 et Zilog Z-80. Quelques années auparavant, Intel avait conçu le microprocesseur 8086, la première génération de microprocesseurs 16 bits.
En avril 1980, le système d'exploitation CP/M-86 annoncé par Digital Research pour une utilisation sur le microprocesseur 8086 n'était pas disponible. Un programmeur nommé Tim Paterson a commencé à développer un nouveau système d'exploitation. Ce système est l'ancêtre des éditions MS-DOS des années 1980 et 1990.
À cette époque, de nombreux logiciels étaient disponibles pour les systèmes d'exploitation CP/M-80. Le développement d'un nouveau logiciel pour un système d'exploitation 8086 aurait nécessité des dépenses et des efforts énormes. L'objectif de Paterson était de permettre une conversion facile des logiciels existants du CP/M-80 vers le nouveau système d'exploitation. Il a essayé d'inclure les fonctions et les structures de données les plus importantes du système d'exploitation CP/M-80, tout en supprimant les points faibles de CP/M-80. Le produit fini était un système d'exploitation ne nécessitant que 6 Ko de mémoire. Les programmes développés pour CP/M-80 pouvaient également être convertis sans effort vers le microprocesseur 8086. Le nouveau système a été nommé 86-DOS.
Pendant ce temps, IBM développait un micro-ordinateur 16 bits. L'entreprise Microsoft a proposé de développer un système d'exploitation pour ce micro-ordinateur 16 bits. Puis, Microsoft a obtenu un prototype du nouvel ordinateur d'IBM, a acheté les droits du système d'exploitation de Paterson et a apporté quelques améliorations au logiciel. Même si Paterson participait au projet, les strictes dispositions de sécurité d'IBM l'empêchaient de voir la machine pour laquelle il avait développé un système d'exploitation. Malgré cela, les travaux de développement ont été conclus en août 1981. Le nouveau système d'exploitation a été publié pour IBM PC sous le nom de MS-DOS ou PC DOS.
De nombreux changements ont été apportés au DOS depuis 1981. Parce que ces changements sont d'une grande importance pour le programmeur DOS, cette page contient un segment pour chaque version majeure de DOS. Chaque segment répertorie les modifications par rapport aux versions précédentes avec des explications. De nombreux composantes de DOS sont expliqués ici, ce qui vous donnera une idée de la complexité d'un système d'exploitation.
Version 1.0
Cette version représentait un compromis pour Microsoft. Ils s'étaient fortement appuyés sur CP/M-80 et avaient besoin de transférer rapidement et facilement des programmes existants. Cette solution peut être vu dans le fait que les noms de fichiers (nom de fichier à 8 caractères, extension à 3 caractères) étaient identiques à CP/M-80. De plus, la désignation des unités de disque et la structure interne présentaient de nombreuses similitudes avec le système d'exploitation 8 bits CP/M-80.
Pendant ce temps, de nombreuses améliorations et améliorations du matériel se sont produites, telles que plus de mémoire vive (RAM) et des unités de disque plus rapides. Microsoft a décidé de rendre DOS plus indépendant du matériel en supprimant l'association entre la longueur de fichier physique et la longueur de fichier logique.
Dans CP/M-80, chaque disque était divisé en unités de 128 octets auxquelles on ne pouvait accéder que dans son ensemble. C'est pourquoi vous ne pouviez pas accéder à des octets individuels sur le disque (cela a créé un problème de programmation n'ayant pas dû exister en premier lieu). DOS a résolu ce problème en rendant la longueur des données logiques et physiques indépendante l'une de l'autre. De plus, des fonctions ont été implémentées pour permettre la lecture ou l'écriture de plus d'un ensemble de données d'un fichier sur un disque. Le traitement des périphériques d'entrée et de sortie comme des fichiers a permis d'obtenir une indépendance matérielle. Ces périphériques d'entrée et de sortie ont reçu leurs propres noms :
Périphérique | Description |
---|---|
CON | Clavier et affichage |
PRN | Imprimante |
AUX | Interface série |
Si vous avez utilisé l'un de ces trois noms au lieu d'un nom de fichier pour accéder à un fichier avec une routine DOS, l'ordinateur s'est adressé au périphérique correspondant et non à l'unité de disque. Cela permettait également de rediriger les entrées et sorties du clavier ou de l'écran vers un fichier ou un autre périphérique.
Auparavant, le DOS ne prenait en charge que les fichiers de programme se chargeant et s'exécutant à partir d'un emplacement fixe en mémoire. Cette technique s'est avéré peu pratique et la version 1.0 a donc introduit un nouveau type de fichier de programme. Ce nouveau type de fichier avait une extension de fichier .EXE au lieu de .COM. Un fichier .EXE peut être entreposé et exécuté à partir de presque n'importe quel emplacement de mémoire.
Deux modifications ont été apportées au processeur de commandes, la partie du système d'exploitation acceptant les commandes de l'utilisateur et contrôle l'exécution de ces commandes. Le premier changement consistait à entreposer le processeur de commandes dans un fichier séparé nommé COMMAND.COM. Cela a permis aux programmeurs de développer un processeur de commande personnalisé et de le relier au système.
Le deuxième changement consistait à diviser le processeur de commande en une partie résidente et une partie transitoire. Cette approche a été adoptée parce que les premiers systèmes PC ne contenaient qu'une petite quantité de mémoire. La partie résidente a été écrite pour être aussi petite que possible. De nombreuses commandes DOS étaient entreposées sur disque et chargées et exécutées uniquement lorsque cela était nécessaire, d'où le nom transitoire. DISKCOPY et FORMAT sont des exemples de commandes transitoires.
Une innovation majeure ayant propulsé DOS version 1.0 au-delà de CP/M-80 a été l'introduction de la FAT (table d'allocation de fichiers) sur disque. Chaque entrée de ce tableau correspond à une zone de données de 512 octets (appelée secteur) sur le disque. La FAT indique si le secteur est alloué à un fichier ou s'il est encore disponible.
La FAT a une signification particulière en relation avec l'entrée de répertoire existant pour chaque type de fichier. Outre le nom du fichier et d'autres informations, il indique également le numéro d'une entrée dans la FAT correspondant au premier secteur d'un fichier sur le disque. Cette entrée FAT pointe vers une autre entrée FAT indiquant le secteur suivant ayant été alloué au fichier. Les autres entrées FAT sur un disque effectuent la même tâche.
En conclusion, deux développements supplémentaires doivent être mentionnés facilitant le travail avec le PC pour l'utilisateur : l'introduction du traitement par lots offre à l'utilisateur la possibilité de placer plusieurs commandes DOS dans un seul fichier. Lorsque vous exécutez ce fichier (ayant une extension de fichier .BAT), DOS exécute les commandes individuelles de ce fichier comme si vous aviez saisi les commandes à partir du clavier, ce qui permet à l'utilisateur de gagner du temps lors de la saisie de groupes de commandes fréquemment utilisés.
La date et l'heure actuelles suivent chaque nom de fichier. Le DOS inclut ces données pour aider l'utilisateur à déterminer la dernière fois qu'un fichier a été modifié. Lorsqu'IBM a introduit un nouveau PC en 1982 utilisant les deux côtés d'un disque pour l'entreposage de données, Microsoft a publié la version 1.1 de DOS.
Version 2.0
L'entreprise IBM a annoncé un nouvel ordinateur personnel en mars 1983, appelé le PC XT, qui en plus de l'unité de disquette avait également un disque dur (également appelé disque fixe). L'énorme capacité de ce disque dur (10 mégaoctets) permettait à l'utilisateur d'entreposer plusieurs centaines de fichiers sur une seule unité, mais créait quelques problèmes pour le système d'exploitation. Le plus gros problème était que DOS ne pouvait gérer qu'un seul répertoire pour chaque unité d'entreposage. Il serait presque impossible pour l'utilisateur du disque dur de conserver des centaines de fichiers dans un seul répertoire. Microsoft avait deux options pour résoudre ce problème : ils pouvaient soit emprunter une idée au système d'exploitation CP/M-80, soit au système d'exploitation UNIX.
Le système d'exploitation CP/M considère un disque dur comme plusieurs unités de disque individuels partageant l'entreposage total sur le disque dur, chacun avec un seul répertoire.
Le système d'exploitation UNIX utilise un système de fichiers hiérarchique, dans lequel chaque unité d'entreposage a un répertoire racine pouvant contenir des sous-répertoires ainsi que des fichiers. Chacun de ces sous-répertoires peut contenir des sous-répertoires. Cela crée une arborescence de répertoires dont le tronc est le répertoire racine et dont les branches sont représentées par les sous-répertoires individuels.
Microsoft a choisi le système de fichiers hiérarchique, étant depuis devenu par la suite une composante populaire de DOS. C'était une autre étape du CP/M-80 vers un système d'exploitation 16 bits efficace. Avec l'introduction d'un système de fichiers hiérarchique, des changements majeurs ont dû être apportés dans le domaine du contrôle des fichiers par DOS. Auparavant, l'accès au fichier était effectué via un bloc de contrôle de fichier ou FCB.
Ce bloc de contrôle de fichier a été introduit pour la compatibilité avec CP/M-80. Le FCB contenait des informations importantes sur le nom, la taille et l'emplacement d'un fichier sur le disque. Ce CP/M n'autoriserait pas l'accès à un fichier dans un autre répertoire.
Les développeurs DOS ont standardisé l'accès aux fichiers via les fonctions DOS. L'accès à un fichier s'effectue exclusivement via les descripteurs de fichiers. Un descripteur de fichier (appelé Handle en anglais) est une valeur numérique transmise au programme dès qu'il ouvre un fichier via une fonction DOS. Les FCB n'ont pas été éliminés, mais le programmeur n'est plus entré en contact avec eux depuis que DOS a pris en charge la manipulation des blocs de contrôle.
Une innovation importante a été l'introduction de pilotes de périphériques installables. Ils offrent au programmeur la possibilité d'inclure facilement différents périphériques dans DOS, tels qu'un disque dur exotique, une souris ou un lecteur de bande magnétique. La version 2.0 a introduit le pilote de périphérique d'affichage ANSI.SYS ayant donné au programmeur une flexibilité dans le positionnement du curseur et la sélection des couleurs via les fonctions DOS.
La version 2.0 a ajouté la possibilité de formater les pistes individuelles d'un disque avec neuf secteurs au lieu de 8. Cela a augmenté la capacité d'entreposage d'un disque simple face de 160 Ko à 180 Ko et la capacité d'un disque double face de 320 Ko à 360 Ko.
Version 3.0
La version 3.0, comme la version 2.0, a été développée pour un nouveau PC, l'IBM PC AT. Il est sorti en août 1984 et prenait en charge le disque dur de 20 mégaoctets des AT ainsi que l'unité de disquette haute capacité de 1,2 mégaoctet. De nombreux changements se sont produits dans les routines internes de DOS. Ils ont contribué à une exécution plus rapide de certaines opérations, mais sont transparents pour le programmeur.
Version 4.0
Le DOS 4.0 est apparu sur le marché en août 1988. Avant cela, Microsoft avait écrit un nouveau système d'exploitation multitraitement appelé OS/2. Avant OS/2, le multitraitement était inconnu de MS-DOS.
L'utilisateur peut facilement voir les modifications apportées à DOS 4.0 par rapport aux versions antérieures de DOS. À la place de l'interpréteur de ligne de commande orienté en ligne utilisé par les versions 3.3 et antérieures de DOS, DOS 4.0 dispose d'un interpréteur de commande permettant des menus définis par l'utilisateur, une sélection facile d'applications, de fichiers et de répertoires à la fois à la souris et au clavier.
Les plus importantes sont les modifications inédites apportées au DOS, notamment dans l'adaptation du système d'exploitation aux nouvelles normes matérielles du marché. Au fur et à mesure que le système d'exploitation a gagné en puissance, sa complexité et son utilisation de la mémoire ont également augmenté. Par exemple, les versions antérieures de DOS étaient limitées à seulement 640 Ko de RAM et un disque dur de 32 mégaoctets. Cependant, DOS 4.0 gère le système de mémoire étendue (EMS) conformément à la norme LIM, une capacité de RAM normale allant jusqu'à 8 mégaoctets et des disques durs d'une capacité maximale de 2 gigaoctets (2048 mégaoctets).