Le DOS sied |
Beaucoup d'utilisateurs de PC font une confusion entre le système d'exploitation DOS et l'affichage pleine page en mode caractères, notamment dans le cas de l'utilisation d'une application particulière qu'on retrouve sur tous les ordinateurs : la console. Pour tenter de dissiper cette confusion il faut revenir à certaines notions de base.
Un ordinateur est une machine qui exécute des programmes à la demande. Il doit donc être doté d’un dispositif permettant de lui indiquer quel programme exécuter et de contrôler les résultats. Le plus simple de ces dispositifs, qu’on retrouve des gros ordinateurs centraux aux ordinateurs personnels, est la console.
La console est la combinaison d’un organe d’entrée sortie, aujourd’hui l’ensemble clavier écran ou ce qui en tient lieu (pensons aux écrans tactiles) et d’un logiciel capable de réagir aux caractères saisis au clavier, l’interpréteur de commandes (appelé shell en anglais). L’interpréteur de commandes est l’un des composants annexes mais néanmoins indispensable du système d’exploitation. Tout système d’exploitation est donc accompagné d'un interpréteur de commandes qui lui est propre. Avec certains systèmes d'exploitation, comme Unix, on a même le choix entre plusieurs interpréteurs. Dans le monde Microsoft il existe aussi des interpréteurs tierce partie.
Sur les ordinateurs centraux la console est un terminal dédié mais sur un PC (ou un Mac) c'est généralement le même ensemble clavier écran qui sert alternativement en mode console ou en mode applicatif. Dans le premier cas l'interface est exclusivement de type caractères, dans l'autre il peut être éventuellement de type graphique.
La manière d'accéder à la console dépend du système d’exploitation
Quand on démarre une machine sous DOS et qu'aucune application particulière n'est lancée via le fichier autoexec.bat, on est en mode console. Une invite de commande est affichée à l’écran et tous les caractères saisis au clavier sont dirigés vers l’interpréteur de commandes. L’ordinateur est prêt à exécuter une commande. Notons ici qu’il n’y a pas lieu de faire de distinction entre commande et programme puisque demander l’exécution d’un programme est une commande, même si celle-ci est implicite.
DOS étant un système d'exploitation mono tâche, pendant qu'un programme s'exécute la console n'est plus disponible. Elle le redevient après qu'il s'est terminé.
Le succès des ordinateurs individuels a conduit à masquer ce mode de communication un peu fruste et à lui substituer des interfaces graphiques. En reprenant les travaux menés par Xeros, Apple a été le premier à dispenser l’utilisateur de devoir se souvenir de commandes aux noms ésotériques et aux syntaxes draconiennes. Avec un peu de retard Microsoft a fini par lui emboîter le pas. Mais masquer ne veut pas dire supprimer. La console et son interface caractères a donc continuer d’exister en parallèle.
Avec ces premières versions de Windows l’interface graphique pouvait être considérée comme une application DOS parmi les autres. Même si Windows s'est progressivement substitué à DOS pour fournir leurs ressources aux applications, la console est restée celle de DOS, le système d'exploitation sous-jacent.
Avec Windows 9x tout commence à devenir plus subtil. Au démarrage la machine fonctionne sous DOS mais celui-ci ne sert que de lanceur pour Windows. Après que celui-ci a été chargé il devient le seul système d’exploitation disponible. On ne peut l’arrêter qu'en demandant l'arrêt de la machine ou son redémarrage.
Toutefois, pour des raisons de compatibilité il a été gardé une possibilité de travailler avec des applications DOS à partir de Windows.
Celles-ci s'exécutent dans des fenêtres gérées de manière spéciale qu'on peut voir comme des fenêtres de compatibilité DOS ou, en raccourci, des fenêtres DOS. On parle également de DOS émulé par opposition au DOS natif. Ces appellations sont pratiques mais trompeuses car en aucun cas il n'est question du système d'exploitation DOS. Il ne s'agit que d'un subterfuge contrôlé par Windows pour faire croire aux programmes qu'ils s'exécutent dans un environnement DOS.
Ceci a été mis à profit pour faire de l’interpréteur de commandes du DOS, command.com, la console de Windows 9.x. En d'autres termes, la console de Windows 9.x est une fenêtre DOS dans laquelle on exécute command.com.
Le fait qu'on préfère généralement utiliser la console en affichage plein écran ne doit pas masquer la réalité. Même dans ce cas il s'agit bien d'une fenêtre au sens où on l'entend habituellement.
Cette console n'est pas réservée au lancement de programmes DOS. Elle peut tout aussi bien servir à démarrer des programmes Windows. On peut aussi ouvrir simultanément plusieurs fenêtres DOS qui vont être indépendantes les unes des autres.
Il existe des applications conçues spécifiquement pour le DOS, souvent anciennes, qui gèrent directement certaines ressources matérielles et qui donc ne fonctionnent pas ou ne fonctionnent pas correctement sous Windows. Les lancer à partir de la console ne changera strictement rien à leur comportement.
Pour ouvrir une fenêtre DOS il suffit de lancer un programme de type .bat ou .com (y compris donc command.com), ou le .exe d'une application DOS. Toutes les méthodes de lancement sont utilisables :
- double clic sur le nom du fichier ;
- double clic sur son icône de raccourci ;
- entrée directe par Démarrer/Exécuter.
Les raccourcis pour les applications DOS ne portent pas l'extension lnk mais l'extension pif. Les propriétés d'un fichier .pif ne se limitent pas à celles du raccourci lui-même. Elles déterminent également le comportement de la fenêtre DOS.
Tous ces paramètres peuvent être adaptés à ses propres besoins. Voir le chapitre consacré à la personnalisation du DOS.
Suivant le programme lancé, la fenêtre sera fugitive ou non et elle sera du type console (interface caractères et affichage de l'invite) ou applicative (l'interface dépendant alors de l'application). Pour fermer la fenêtre DOS à partir de la console on utilise la commande exit.
Windows 2000 et Windows XP sont des Windows NT et à ce titre n'ont aucun lien avec DOS. À la mise sous tension c'est le programme ntldr.exe qui charge Windows et non plus DOS.
Toutefois, comme sous Windows 9.x, la compatibilité est assurée et il est tout à fait possible d'exécuter des programmes conçus pour DOS à partir de Windows. Cependant les restrictions imposées par le système d'exploitation étant encore beaucoup plus contraignantes que dans les versions précédentes cette possibilité est loin d'être garantie pour tous les programmes.
La console des systèmes d'exploitation Windows NT est une application Windows. Pour y accéder il faut lancer le programme cmd.exe ou, ce qui revient au même, cliquer sur le raccourci intitulé Invite de commande.
On remarquera que l'icône par défaut ne fait plus aucune référence à DOS mais qu'elle se contente de suggérer une invite de commandes.
La console sert à exécuter les programmes Windows ne fonctionnant qu'en mode caractères, dont un ensemble de commandes analogues à celles de DOS. Il ne faut toutefois pas se laisser tromper par cette similitude, il s'agit de commandes propres à Windows.
Parmi les différences avec la fenêtre DOS de Windows 9x on peut citer :
- les fichiers de commandes peuvent porter l'extension cmd ;
- le jeu de commandes a été enrichi mais certaines ont disparu ;
- le fichier d'un raccourci vers cmd.exe porte l'extension lnk et non pas pif, et ses propriétés sont complètement différentes.
Malgré tout Microsoft a conservé la possibilité d'ouvrir une fenêtre DOS en exécutant le programme command.com. Son fonctionnement est cependant très différent de la fenêtre DOS de Windows 9.x et il s'apparente beaucoup plus à une machine virtuelle DOS.
Le démarrage de cette machine virtuelle est contrôlé par un fichier de configuration équivalent à config. sys et par un fichier d'initialisation équivalent à autoexec.bat. Par défaut il s'agit des fichiers config.nt et autoexec.nt situés dans le répertoire %SystemeRoot%\System32 (donc le plus souvent dans C:\Windows\system32). On peut bien sûr créer un environnement personnalisé en modifiant ces fichiers ou en créant un raccourci vers command.com et en indiquant quels fichiers utiliser dans les propriétés du fichier .pif associé (et non pas .lnk).
La fenêtre DOS des Windows NT permet d'exécuter des applications DOS dans un environnement proche de celui pour lequel elles ont été conçues. Par exemple, en chargeant ansi.sys à l'aide du fichier config.nt il est possible de tester et mettre au point un fichier de commandes utilisant les séquences d'échappement ANSI pour l'affichage en couleur comme dans le cas du menu décrit ici.
Cependant, rappelons le, les limites de ce qu'autorise Windows peuvent être rédhibitoires. À titre d'exemple on peut citer la non prise en compte du programme doskey qui met en œuvre des mécanismes auxquels Windows NT ne permet plus d'avoir accès.
Il n'est pas possible de lancer des programmes conçus pour Windows à partir de cette fenêtre, même ceux en mode caractères.
Parmi les comportements surprenants de cette fenêtre DOS on constate que l'on a plein accès aux systèmes de fichiers NTFS mais que seuls les noms courts sont admis !
Quand on démarre un ordinateur en DOS il s'agit du DOS natif, c'est à dire du DOS en tant que système d'exploitation.
On doit donc disposer d'un support contenant DOS et permettant l'amorçage (disque dur, disquette, CD ou mémoire de masse USB).
Une disquette (ou un CD) d'amorce n'est pas forcément une disquette d'installation. Voir le chapitre Disquettes d'amorces consacré à ce sujet.
Sur une machine fonctionnant sous Win 9.x, puisque DOS est installé sur le disque dur on peut aussi :
- forcer le mode MS-DOS au démarrage ;
- redémarrer en mode MS-DOS.
Le Menu de démarrage permet à la demande d'empêcher le chargement de Windows, donc de rester sous DOS. Celui-ci apparaît en pressant la touche F8 pendant la phase d'initialisation ou systématiquement si le fichier msdos.sys contient la ligne :
bootmenu=1
Ce menu propose entre autres deux options de démarrage en mode MS-DOS, avec ou sans prise en charge du lecteur de CD.
À l'aide de ce même fichier on peut aussi inhiber le chargement de Windows de manière permanente avec la ligne :
bootgui=0
Dans un cas comme dans l'autre, il suffit de passer ultérieurement la commande win pour charger et lancer Windows.
Lorsque l'on choisit l'option Redémarrer en Mode MS-DOS dans la boîte de dialogue Arrêter, Windows est déchargé et l'on retourne au DOS natif.
Il est important de signaler que la machine n'est toutefois pas réinitialisée. Les fichiers config.sys et autoexec.bat ne sont pas rechargés. On ne peut donc pas tester de cette manière des modifications qu'on y aurait apportées.
Il est également possible de redémarrer en mode DOS à l'aide d'un raccourci. Voir le chapitre personnalisation.