alain tarlowski architecture logicielle des systèmes ...the.file.free.fr/1er-année bts...

113
Directrice de publication : Valérie Brard-Trigo Les cours du Cned sont strictement réservés à l’usage privé de leurs destinataires et ne sont pas destinés à une utilisation collective. Les personnes qui s’en serviraient pour d’autres usages, qui en feraient une reproduction intégrale ou partielle, une traduction sans le consentement du Cned, s’exposeraient à des poursuites judiciaires et aux sanctions pénales prévues par le Code de la propriété intellectuelle. Les reproductions par reprographie de livres et de périodiques protégés contenues dans cet ouvrage sont effectuées par le Cned avec l’autorisation du Centre français d’exploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris). BTS Informatique de gestion 1 re année Alain Tarlowski Architecture logicielle des systèmes informatiques Cours 1 (systèmes d’exploitation)

Upload: ngoquynh

Post on 13-Sep-2018

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Directrice de publication : Valérie Brard-Trigo

Les cours du Cned sont strictement réservés à l’usage privé de leurs destinataires et ne sont pas destinés à une utilisation collective. Les personnes qui s’en serviraient pour d’autres usages, qui en feraient une reproduction intégrale ou partielle, une traduction sans le consentement du Cned, s’exposeraient à des poursuites judiciaires et aux sanctions pénales prévues par le Code de la propriété intellectuelle. Les reproductions par reprographie de livres et de périodiques protégés contenues dans cet ouvrage sont effectuées par le Cned avec l’autorisation du Centre français d’exploitation du droit de copie (20, rue des Grands Augustins, 75006 Paris).

BTS Informatique de gestion1re année

Alain Tarlowski

Architecture logicielledes systèmes informatiques

Cours 1 (systèmes d’exploitation)

Page 2: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 013

Conseils générauxVoici votre premier cours du module « Architecture logicielle des systèmes informatiques » du BTS Informatique de gestion abrégé sous l’acronyme « ALSI ». Ce module a pour but de faire découvrir à l’inscrit, sur les deux ans, la partie « logiciel » des systèmes informatiques. En effet, un ordinateur sans la couche logicielle n’a aucun intérêt pour les utilisateurs. Ce serait comme avoir une voiture sans moteur, sans volant, sans pédale bref sans intérêt car on ne peut rien faire avec.

Le module ALSI, pris dans son ensemble, commence par l’étude générale de logiciels spécifiques qui permettent de faire fonctionner un ordinateur, nous dirons plutôt « exploiter » les capacités d’un ordinateur, il s’agit vous l’avez compris des « systèmes d’exploitation ». Ensuite, l’ALSI s’at-tachera à montrer à l’inscrit l’utilisation des logiciels dans le domaine de la bureautique, d’Inter-net, mais encore dans le domaine des bases de données, des logiciels dits « Client/Serveur », des logiciels de gestion et d’administration des réseaux sans oublier la partie « réseau » des systèmes d’exploitation. Cette dernière partie inclut bien entendu l’explication du mécanisme « software » des réseaux. Celle-ci sera plus où moins approfondie en fonction de l’option de l’inscrit mais ceci est autre chose.

Ce premier cours a pour but d’expliquer, de manière générale, le rôle et le vocabulaire associés à la notion de système d’exploitation mais aussi comment fonctionnent les plus connus d’entre eux (DOS, WINDOWS XP et LINUX). Nous étudierons également le mécanisme du partitionne-ment d’un disque dur car c’est le point de départ de l’installation d’un système d’exploitation sur un ordinateur mais également le point de départ de la mise en fonction de ce dernier lorsque l’utilisateur met sous tension son ordinateur. Enfin, nous terminerons sur l’étude du principe des systèmes de gestion de fichiers qui permettent à un système d’exploitation de gérer les fichiers et les répertoires d’un utilisateur.

Attention, ce premier cours contient peut être des informations que vous connaissez depuis long-temps mais ne passez pas au dessus car on peut toujours apprendre de nouvelles choses et surtout il faut avoir le bon vocabulaire pour la suite des cours. En effet, les bases d’un cours doivent être acquises pour que ce ciment de la connaissance puisse permettre d’aller plus loin.

Voilà je pense que cette introduction vous a mis l’eau à la bouche alors allons-y sans plus attendre.

Sommaire

Séquence 1 : Généralités sur les systèmes d’exploitation 5

Séquence 2 : Étude du système d’exploitation DOS 77

Séquence 3 : Étude du système d’exploitation Windows XP Pro 119

Séquence 4 : Étude du système d’exploitation LINUX 203

Séquence 5 : Système de gestion de fichiers 293

Page 3: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 015

Séquence 1

Généralités sur les systèmesd’exploitation

u Contenu1. Quel est le rôle des systèmes d’exploitation ? ......................... 6

2. Chargement d’un système d’exploitation en mémoire ........ 10

4. Les différents types de système d’exploitation ....................... 18

5. Quelques noms de systèmes d’exploitation.............................. 20

5A. MS-DOS ....................................................................................................... 20

5B. Windows 95 – 98 - Me ............................................................................... 22

5C. Windows NT – 2000 – XP - Vista ............................................................... 25

5D. UNIX – LINUX .............................................................................................. 27

5E. Conclusion ................................................................................................... 28

6. Le partitionnement d’un disque dur ............................................ 29

7. Système d’exploitation et le travail en réseau ........................ 69

7A. Évolution de l’architecture informatique des entreprises ...................... 69

7B. Système d’exploitation et réseau ............................................................. 72

7C. Le nécessaire pour placer un poste dans un réseau................................ 75

Lorsque vous vous installez devant un ordinateur et que vous le mettez sous ten-sion, que se passe-il ? Vous pouvez remarquer que ce dernier réalise un certain nombre d’opérations, qui peuvent être plus ou moins longues, au bout desquel-les il vous donne la main afin de vous laisser travailler avec les différents logiciels installés. Ensuite, il ne vous reste plus qu’à prendre votre souris pour cliquer sur certaines zones de l’écran ou votre clavier pour taper des instructions, qui seront ensuite exécutées par l’ordinateur, du texte ou encore des chiffres. En fait, la finalité d’un utilisateur est d’utiliser les possibilités de son ordinateur sans se préoccuper de comment cela peut se faire. Cela doit être transparent pour lui. Ainsi pour répondre à la question du début de ce paragraphe, on peut dire que la première étape après la mise sous tension de l’ordinateur consiste à met-tre en place tous les éléments logiciels permettant d’exploiter les possibilités de l’ordinateur de l’utilisateur. Il charge donc un système d’exploitation en mémoire. Cependant cette première étape est parfois longue alors, peut-on s’en passer ?

Page 4: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 016

Séquence 1

1. Quel est le rôle des systèmes d’exploitation ? Pour répondre à cette question, modélisons la scène de départ. Nous avons d’un côté un utilisateur, en l’occurrence vous, et de l’autre un ordinateur.

En fait, comme vous pouvez vous en douter, en regardant les étiquettes des ordinateurs mis en vente dans les magasins ou encore en lisant la presse spécialisée en informatique, un ordinateur est constitué d’un ensemble de composants électroniques (processeur, carte mère, carte réseau, carte vidéo, contrôleur de disque dur, mémoire, etc) sur lesquels viennent parfois se connecter d’autres éléments appelés « périphériques » (impriman-te, graveur de CDROM, scanner, modem, etc).

Le problème réside donc dans le fait de faire fonctionner tout cela en harmonie et que l’ensemble puisse communiquer quand il le faut et comme il le faut afin de répon-dre à vos besoins. Vous voulez imprimer, il faut que l’ensemble communique, ou du moins les éléments concernés, afin de sortir la feuille papier avec les données attendues. Vous voulez faire une sauvegarde de votre travail, il faut que le système informatique s’exécute et écrive sur le disque dur, la disquette ou la clé USB, au bon endroit, la bonne informa-tion, sans détruire les données qui s’y trouvent déjà. Le problème est bien là car pour faire fonctionner un ordinateur, quelle que soit la catégorie dans laquelle il est classé (micro, mini, gros système), il ne suffit pas de le mettre sous tension mais il faut également que l’utilisateur lui fournisse, par un moyen ou un autre, des instructions compréhensibles par celui-ci or un ordinateur ne connaît qu’un seul langage : le langage machine.

Je vois déjà vos sourcils se froncer sur cette dernière notion, alors une petite explication s’impose. Le langage machine, appelé également « code machine », se compose d’un ensemble d’instructions codées en binaire, c’est à dire avec une suite de 1 et de 0, qui sont directement compréhensibles et exécutables par le processeur d’un ordinateur. C’est le seul langage que ce dernier comprenne. C’est son langage de base. En fait, le langage machine contient un ensemble d’instructions primitives, même s’il évolue aujourd’hui car les processeurs sont capables d’exécuter des instructions plus complexes grâce aux technologies électroniques de plus en plus performantes, qui permettent de demander à l’ordinateur d’exécuter des tâches simples. Il suffit ensuite d’assembler des actions simples pour réaliser une tâche plus complexe. C’est ce qui est fait au travers d’un pro-gramme. On peut conclure sur ce sujet d’une manière évidente en disant que le langage machine n’est pas directement compréhensible et utilisable par les utilisateurs lambda mais plutôt par des experts et encore au travers du langage « Assembleur ». En effet, il n’est pas évident de comprendre et utiliser une suite de 0 et de 1. Pour imager cela, c’est comme si on vous demandait de traduire un texte qui vous est fourni en morse. À moins d’être initié, ce n’est pas évident et peut-être pas très intéressant.

Si un ordinateur ne comprend que le langage machine, cela signifie que si vous voulez, par exemple, faire une sauvegarde d’information, il faut par un moyen ou un autre que vous envoyez à l’ordinateur la séquence d’instructions codées en binaire qui réalise l’opération.

Page 5: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 017

Remarque

Dans les années 50, on utilisait des cartes perforées pour communiquer avec l’ordinateur et lui donner des instructions).

De plus en retour, l’ordinateur renvoie une valeur numérique qui indique si l’opération s’est bien réalisée ou non. À vous ensuite de récupérer cette valeur et d’en comprendre la signification.

À ce stade du cours, vous vous dites certainement : « Je ne vois pas où il veut en venir car moi lorsque je suis devant mon ordinateur, je ne parle pas en binaire mais je tape des commandes au clavier ou je clique sur des icônes. C’est plus simple ! »

Justement, pour démocratiser l’informatique et la faire entrer dans tous les foyers, il a bien fallu trouver une solution intermédiaire qui permette d’exploiter plus simplement les composants et les périphériques d’un ordinateur. En fait, cette solution vient se placer entre l’utilisateur et l’ordinateur et elle se charge du dialogue avec l’ordinateur afin de lui faire réaliser les actions souhaitées par l’utilisateur.

Vous l’avez deviné, cette solution intermédiaire n’est autre que le système d’exploitation. Nous allons donc maintenant pouvoir donner une définition du système d’exploitation.

Définition : le système d’exploitation (ayant pour acronyme OS en anglais pour « Operating System ») est formé d’un ensemble structuré de programmes qui ont pour but de gérer les ressources matériels d’un ordinateur, à savoir ses compo-sants électroniques et ses périphériques. Il sert ainsi d’interface entre l’utilisa-teur et l’ordinateur. Il s’agit donc d’une couche « logicielle » qui se positionne entre la couche « matérielle » et l’utilisateur.

1001 1000 1100 1110

0000 0100 1001 1000

1001 1000 1100 1110

0000 0100 1001 1000

Commande à éxécuter

Réponse en clair

Page 6: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 018

Séquence 1

Ainsi, un système d’exploitation fournit un certain nombre d’outils permettant de gérer un ordinateur plus simplement en prenant le relais entre l’utilisateur et la machine. Il fournit les moyens d’utiliser correctement les ressources de l’ordinateur. Il assure par exemple, l’initialisation du système informatique après une mise sous tension ou encore le paramétrage de l’environnement de travail de l’utilisateur en fonction de ses souhaits. Il peut gérer les périphériques associés à l’ordinateur et réaliser des opéra-tions comme l’affichage des caractères à l’écran ou bien la lecture des données saisies au clavier, mais aussi le pilotage d’une imprimante ou d’un scanner, etc.

Un système d’exploitation doit donc obligatoirement être installé sur votre ordinateur, par votre revendeur ou par vous-même, avant de pouvoir utiliser celui-ci, sans quoi vous ne disposez que d’un ensemble de composants électroniques inutilisables et sans intérêt. Attention, le système d’exploitation reste proche de la couche « matérielle » car il pilote les différents composants à chaque sollicitation de l’utilisateur. Nous dirons alors qu’il doit être compatible avec celui-ci.

Mais au fait, comment un utilisateur peut-il, lui, s’adresser à un système d’exploitation ? Quel langage utiliser ? En effet, nous savons qu’un OS est capable de dialoguer avec les différents composants d’un ordinateur car les développeurs de l’OS ont programmé tou-tes les fonctionnalités permettant de réaliser cette tâche mais l’utilisateur, lui, comment transmet-il ses ordres au système d’exploitation ? C’est simple, la communication entre un utilisateur et un système d’exploitation s’établit par l’intermédiaire d’un langage de commandes et d’un interpréteur de commandes. Le langage de commandes contient un ensemble de commandes, appelées « commandes systèmes », prédéfinies par le concepteur de l’OS. Elles permettent à l’utilisateur de piloter l’ordinateur et ses périphériques en ignorant tout des caractéristiques du matériel qu’il utilise puisque cela est du domaine du système d’exploitation. Pour l’instant, nous n’irons pas plus loin sur cette notion de commande système, mais ne vous inquiétez pas, nous allons avoir l’occa-sion d’y revenir dans la suite du support.

Pour l’instant, à ce niveau d’avancement du cours, on peut déjà distinguer deux types de système d’exploitation.

• Les systèmes d'exploitation fonctionnant en mode « caractère » ou mode « texte ». Les instructions sont entrées sous forme de caractère à partir du clavier et l'ordinateur fournit des réponses sous forme de texte. Les systèmes en mode « caractère » sont plus com-plexes à utiliser car il faut explicitement taper au clavier la syntaxe exacte de toutes les commandes souhaitées. Cela est effectivement plus long mais l'OS offre une plus grande souplesse car, en général, les commandes systèmes possèdent un grand nombre d'options permettant d'affiner l'action souhaitée. Elles demandent en contrepartie de connaître la syntaxe des commandes systèmes. Nous verrons des exemples plus loin dans le cours avec l'étude du système d'exploitation MS-DOS et LINUX.

Page 7: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 019

• Les systèmes d'exploitation fonctionnant en mode « graphique ». Ils présentent des icônes auxquelles sont associées des commandes systèmes, permettant l'utilisation de la souris pour les déclencher, ainsi que des applications graphiques avec boutons de commande, zones de textes, boîtes de dialogue, etc. C'est le type de système que la plupart des utilisateurs utilisent et plébiscitent car plus simple, plus visuel voire plus intuitif. Cependant toutes les commandes systèmes et leurs options ne peuvent pas être représentées sous forme d'icônes graphiques sans risquer de surcharger l'écran. Conséquence, le nombre de commandes systèmes exécutables par ce moyen est limité à l'essentiel. Ceci est bien pour l'utilisateur occasionnel mais frustrant pour l'expert lorsque ce dernier souhaite « réparer » un système d'exploitation sans avoir à tout réinstaller. Remarquez, bien souvent, un système en mode « graphique » permet à l'utilisateur averti d'ouvrir un espace de travail (une fenêtre) à l'intérieur duquel (de laquelle), il peut travailler en mode « caractère ». Nous verrons cela plus loin dans le cours avec l'étude du système d'exploitation WINDOWS XP.

Remarque

Un peu plus haut dans le cours, nous avons employé le terme « interpréteur de com-mandes ». De quoi s’agit-il ? En fait, un interpréteur de commandes est un programme intégré à un système d’exploitation (voir définition des systèmes d’exploitation) qui, comme son nom le laisse supposer, a pour rôle d’interpréter les caractères saisis au clavier par l’utilisateur afin de trouver une correspondance avec une commande système de l’OS. Au final, l’interpréteur de commandes demande à l’OS d’exécuter la commande souhaitée si elle existe sinon il affiche un message d’erreur.

Comme nous venons de le voir, le système d’exploitation fournit un ensemble de com-mandes mais aussi parfois quelques utilitaires comme par exemple une calculatrice ou encore un éditeur de texte. Bien entendu cela n’est pas suffisant pour faire du traitement de texte avec mise en page. Ainsi, autour des systèmes d’exploitations se sont développés des logiciels « Applicatifs » (traitement de texte, tableur, jeux, logiciels de dessin ou de retouche d’image, etc), appelés également « applications », qui permettent de rendre encore plus attractifs les ordinateurs. Bien entendu, ces logiciels utilisent les capacités du système d’exploitation installé et, à travers celui-ci, les capacités des ordinateurs et des périphériques. En fait, nous pouvons compléter la définition d’un système d’exploitation en disant que ce dernier a pour rôle de mettre à la disposition d’un utilisateur final ou d’une application, une machine virtuelle, également appelée machine abstraite, qui pro-pose un ensemble de services, plus simples d’utilisation, qui s’appuie sur les possibilités de la machine physique. Au final, nous obtenons le schéma suivant.

Page 8: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0110

Séquence 1

Allez une petite conclusion pour la route. Voyons ce que vous avez retenu de cette pre-mière partie. Question : « le système d’exploitation est ….. ? »

Bravo ! Il s’agit effectivement d’un logiciel qui se compose d’un ensemble de program-mes et qui joue le rôle d’interface entre l’utilisateur, d’un côté, et l’ordinateur avec ses composants et ses périphériques de l’autre. En résumé, il est là pour :

• fournir un environnement dans lequel l'utilisateur peut exécuter des programmes (des applications) de manière pratique et efficace. Ainsi tous les logiciels et toutes les commandes auxquels l'utilisateur a accès ne sont pris en compte par l'ordinateur qu'au travers du système d'exploitation ce qui, en principe, sécurise son utilisation ;

• assurer le fonctionnement correct de l'ordinateur et de ses périphériques ;

• contrôler les ressources de l'ordinateur. L'OS est très lié au matériel car c'est lui qui communique avec. Il doit donc le connaître dans ses moindres retranchements ce qui libère l'utilisateur de cette tâche ;

• fournir la base sur laquelle seront construits les programmes d'application par les développeurs.

Voici quelques exemples de systèmes d'exploitation : MS DOS, Windows, UNIX, Linux.

2. Chargement d’un système d’exploitation en mémoire

Précédemment, nous avons défini qu’un système exploitation est constitué d’un ensem-ble structuré de programmes qui ont pour rôle de gérer l’ordinateur à la place d’un utilisateur. Un système d’exploitation joue donc le rôle du chef d’orchestre en charge du fonctionnement harmonieux et non conflictuel des ressources de l’ordinateur (processeur, mémoire, périphériques, etc) et de la coordination des interactions entre l’utilisateur et les programmes en cours d’exécution. Schématisons cela de la manière suivante :

Page 9: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0111

Mais à quel moment le système d’exploitation se met-il en action ? Eh oui, vous l’avez deviné, au démarrage de l’ordinateur, ou presque. En effet, lorsque vous mettez sous tension l’ordinateur, le processeur de celui-ci exécute dans un premier temps un mini programme qui se trouve stocké dans la mémoire ROM de la carte-mère. Il s’agit du BIOS (Basic Input Output System).

Avant d’aller plus loin dans l’explication de ce dernier terme, ouvrons une parenthèse. Sans entrer dans le détail, la mémoire ROM (Read Only Mémory), appelée également « mémoire morte », est un composant électronique dont le contenu ne peut être modi-fié par l’utilisateur et ne disparaît pas à l’arrêt de l’ordinateur. Ce type de mémoire est souvent opposé à la mémoire RAM (Random Access Memory) que l’on appelle égale-ment la « mémoire vive » et dont le rôle est de mémoriser de l’information le temps que l’ordinateur reste sous tension. Dans ce dernier cas, l’information y est dite « volatile ». En ce qui concerne la ROM, les données qui s’y trouvent au départ y ont été placées par le fabricant. Certes, aujourd’hui, nous sommes à l’ère de l’EEPROM (Electrically Erasable Programmable Read-Only Memory) qui est une mémoire morte dont le contenu peut être effacé et reprogrammé électriquement mais le principe reste le même car cette mémoire garde l’information même si l’ordinateur est hors tension. L’EEPROM est plus efficace car son contenu est évolutif dans le temps mais plus dangereuse en cas de mau-vaise manipulation au moment de l’opération de mise à jour. Fermons la parenthèse.

Le BIOS (Basic Input Output System) est le premier programme qui est lancé au démar-rage (au « boot » en Anglais) de l’ordinateur. En fait, le BIOS réalise deux actions consé-cutives. La première action consiste à initialiser et à contrôler le bon fonctionnement des composants de base de la machine: la carte mère, le processeur, la mémoire, le clavier, l’affichage et enfin les lecteurs de disques, disquettes, CDROM. Cette phase de contrôle s’appelle le « Power On Self Test » (POST) et elle peut déboucher, en cas de problème grave, sur l’arrêt de la procédure de démarrage de l’ordinateur avec parfois affichage d’un message d’erreur à l’écran ou émission d’une séquence de bips dont le nombre est codifié et peut permettre de diagnostiquer l’origine de la panne. En général, si tout se passe bien durant cette phase, l’ordinateur émet un bip bref. La seconde action du BIOS consiste à exécuter les premières commandes systèmes lui permettant de lire, sur le dis-que dur ou sur l’un des lecteurs de disque (lecteur de disquette dans le cas où il détecte une disquette à l’intérieur ou sur le lecteur de CDROM s’il contient un CDROM), le tout premier secteur.

Tiens voilà encore un nouveau terme. Alors, ouvrons une parenthèse. Un disque (dis-que dur, disquette, etc) est découpé en petites unités logiques (appelées « secteur ») pouvant contenir des données. La taille d’un secteur est de 512 octets, c’est à dire qu’il peut contenir jusqu’à 512 caractères. Pourquoi faire un tel découpage ? La réponse est simple. Sur un disque, on place des données qui proviennent de différents fichiers. Il peut s’agir de documents utilisateurs ou encore des programmes des différentes applications installées ou encore ceux du système d’exploitation. Si on ne crée pas, sur le disque, des zones spécifiques à chacun des fichiers, toutes les données contenues dans ces derniers risquent de se mélanger. Imaginez que dans l’une des pièces de votre habitation, vous vidiez le contenu de tous vos cartons ! Inconcevable si on veut être ordonné et retrou-ver rapidement ses affaires ! Dans le monde informatique, c’est la même chose. Afin de regrouper les données concernant chacun des fichiers, on a mis en place la notion de secteur. Ainsi, ce découpage permet un quadrillage du disque et donc une numérotation des différentes zones appelées « secteur ». Ce principe permettra au système d’exploi-tation, via un mécanisme dénommé « système de fichiers » ou « File system » en anglais

Page 10: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0112

Séquence 1

(genre FAT, FAT32 ou NTFS), d’affecter un ensemble de secteurs à chacun des fichiers et de pouvoir ainsi gérer et rechercher plus efficacement les données qui s’y trouvent. En résumé, la notion de secteurs permet de segmenter un disque (une disquette) afin de répartir, et surtout de retrouver, les données de chacun des fichiers. Avant de refermer la parenthèse, voilà un schéma permettant de se représenter visuellement un secteur :

La notion de secteur étant définie, revenons-en à notre BIOS et à la question que nous sommes en droit de nous poser. Pourquoi doit-il tenter de lire les informations du pre-mier secteur précisément ? Encore une fois la réponse est simple. Par convention, et pour uniformiser le mécanisme de boot d’un ordinateur, il a été prévu que ce serait le tout premier secteur d’un disque (pourquoi chercher plus compliqué), qui sera éventuel-lement susceptible de contenir des informations permettant de lancer l’exécution d’un système d’exploitation. À cette étape, il nous faut différencier le principe du premier secteur pour les disque durs du principe du premier secteur pour les autres périphériques de stockage (disquette, CD-ROM).

Nous allons commencer par le premier secteur des disques durs. En effet, ces derniers peuvent être « partitionnés ». Aïe ! Je vous vois encore en train de froncer les sourcils donc explication ! En fait, un utilisateur a la possibilité de diviser son disque dur physique en plusieurs disques logiques appelés « partitions ». Physiquement, dans l’ordinateur, il n’y a qu’un disque dur mais du point de vue du BIOS, et dans un deuxième temps, du système d’exploitation lorsqu’il sera chargé en mémoire, l’utilisateur dispose de plusieurs disques durs « virtuels ». Nous verrons plus loin dans cette séquence l’intérêt de cela. Pour l’instant, revenons sur notre premier secteur d’un disque dur. Celui-ci est appelé « Master Boot Record » ou « MBR » et comme tout secteur, il a une taille de 512 octets. En effectuant un zoom sur son contenu, on peut observer que le MBR contient un pro-gramme écrit en assembleur ayant une taille de 446 octets maximum, appelé ‘bootstrap loader » ou encore « bootloader » en anglais, ainsi qu’une structure de données appe-lée « la table des partitions ». Cette table des partitions contient des informations sur chacune des partitions créées, à savoir, la position physique de la partition sur le disque dur (à quel endroit elle commence et à quel endroit elle se termine), la taille de la parti-tion exprimée en nombre de secteurs, le type de la partition (Ex: FAT, FAT32, NTFS) ainsi qu’une indication permettant de savoir si la partition est active ou non. La partition active est la partition, désignée par l’utilisateur, comme étant susceptible de contenir un autre programme appelé le « programme de boot ». Le rôle de ce dernier est de charger le code du système d’exploitation, installé sur la partition, en mémoire RAM puis de lancer son exécution. Attention, on ne peut désigner qu’une seule partition active et

Page 11: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0113

cela se fait au travers d’utilitaires (genre fdisk de MS-DOS ou encore Partition Magic) dont nous reparlerons ultérieurement. En résumé, le programme du MBR, le bootloader, est exécuté par le BIOS et son rôle consiste d’une part, à lire la table des partitions afin de déterminer la partition active et la position du secteur de boot de cette partition, et d’autre part, à vérifier si le secteur de boot de la partition active contient un « program-me de boot ». Dans l’affirmatif, il charge le programme de boot et lance son exécution ce qui va permettre ensuite à celui-ci d’amorcer la mise en place du système d’exploita-tion installé sur la partition active. Nous reviendrons plus en détail sur ce mécanisme de partition dans le paragraphe 6 de cette séquence.

Venons en maintenant au premier secteur des autres périphériques de stockage (Disquette, CD-ROM...). Pour ceci, le mécanisme est plus simple car le premier secteur est le « secteur de boot » susceptible de contenir un programme de boot permettant de charger puis de lancer l’exécution du système d’exploitation.

Précédemment, j’ai employé l’expression « susceptible de contenir un programme ». Pourquoi ?

Eh bien oui, un disque, une disquette ou encore un CD-ROM n’est pas obligé de conte-nir un « programme de boot ». Ce dernier est mis en place lors de l’installation du dit « système d’exploitation » sur l’ordinateur ou encore en exécutant l’une des commandes système de celui-ci, par exemple « format » suivi de l’option « /s » en MS-DOS.

Remarque

Pour créer un CD-ROM contenant un programme de boot, l’opération est un peu plus com-plexe. Attention, nous n’aborderons pas ce sujet dans ce cours mais vous pouvez trouver sur Internet des modes opératoires).

Ainsi le BIOS effectue la recherche du « programme de boot », sur le premier secteur de chacun des éléments précités, dans un ordre qui est paramétrable grâce au fameux « Setup » du BIOS. Il s’agit d’un programme, faisant parti du BIOS, activable générale-ment par une touche du clavier, exemple la touche « F2 » ou encore la touche « Suppr », lors de la mise sous tension de l’ordinateur. Le « Setup » affiche un menu à partir duquel l’utilisateur « averti » peut modifier certains paramètres de base de l’ordinateur notam-ment l’ordre de parcours des lecteurs de disque à la recherche du « programme de boot ». Ces paramètres sont stockés dans la CMOS (Complementary Metal Oxide Semi-conductor) également située sur la carte mère. Il s’agit d’un type de mémoire à faible consommation électrique, alimentée par une petite pile ou une batterie, qui contient les informations de base nécessaires au bon fonctionnement de l’ordinateur et de son BIOS (exemple : les caractéristiques du ou des disques durs, l’ordre de test des lecteurs de disque, la date et l’heure, etc.). Au final, le BIOS lance l’exécution du « programme de boot » de la première unité de disque qui en possède un. Il recherche ainsi la première unité de disque « bootable ». S’il n’en trouve pas, il affiche un message d’erreur. Vous comprenez peut-être mieux maintenant pourquoi on entend dire parfois « Est-ce que ton disque est « bootable » ? »

Page 12: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0114

Séquence 1

3. Les différentes tâches réservées à un système d’exploitationVoilà après toutes ces explications, le chargement de notre système d’exploitation est sur la bonne voie. Vous comprenez mieux maintenant le pourquoi de cette première phase d’at-tente devant l’écran de l’ordinateur avant de voir apparaître un frémissement du système d’exploitation. Mais malheureusement ce n’est pas encore fini ! Eh oui ! Le programme de boot, a en fait pour rôle de lancer le chargement en mémoire RAM du système d’exploitation, ou du moins d’une partie essentielle qui s’appelle le noyau du système d’exploitation, puis de lancer son exécution mais ce n’est pas suffisant pour avoir la main sur l’ordinateur. Et voilà, nous sommes repartis pour une nouvelle attente car le système d’exploitation doit encore réaliser un certain nombre d’opérations. Il doit entre autre :

• Vérifier le bon fonctionnement des périphériques c'est-à-dire que la communication peut s'établir sans problème avec ces derniers.

• Initialiser l'ordinateur et ses périphériques en vue de les rendre utilisables.

• Charger, en mémoire RAM, les pilotes de périphériques ("driver" en anglais). Je vois votre tête changer d'expression ! Pilote ? Qu'est-ce qu'un pilote ? Il s'agit tout simplement d'un programme qui a pour rôle de transformer les commandes, que lui passe le système d'exploitation, en instructions que vont exécuter les composants électroniques du périphé-rique. Pourquoi faut-il un pilote pour chaque périphérique ? La réponse est simple. Les constructeurs de périphérique (carte graphique, carte son, graveur de CDROM, de DVD, imprimante, etc.) mettent à notre disposition un matériel de plus en plus performant avec des composants électroniques de plus en plus performant et qui évoluent très rapidement. Chaque périphérique possède donc un jeu d'instructions systèmes plus ou moins complexes en fonction de la marque du fabriquant et de la finesse de travail demandé au périphé-rique. (Rappel : le système d'exploitation doit communiquer avec les périphériques qu'il a sous ses ordres pour leur faire exécuter les commandes nécessaires afin de réagir aux sollicitations d'un utilisateur.) Cependant le système d'exploitation ne peut pas connaître toutes les caractéristiques et toutes les commandes systèmes particulières auxquelles obéit chaque matériel de chaque fabricant. De toute façon l'évolution des périphériques est plus rapide que l'évolution des systèmes d'exploitations. Pour contourner ce problème, une ruse a été trouvée : le pilote de périphérique. Ainsi, les concepteurs de systèmes d’exploitation définissent un jeu d’instructions de base valables pour tous les périphériques quelque soit la marque du constructeur et la qualité du périphérique. Puis lorsqu’un utilisateur sollicite un périphérique, par exemple pour faire apparaître une fenêtre à l’écran, le système d’exploi-tation transmet les différentes commandes de base, correspondant à l’ordre « dessiner une fenêtre », au pilote de périphérique qui connaît les caractéristiques du périphérique installé et qui traduit alors l’ordre de base en un ordre utilisant le jeu d’instructions spécifiques au contrôleur de la carte graphique qui s’exécute alors en dessinant la fenêtre à l’écran. De cette manière, le concepteur de système d’exploitation se décharge sur le fabriquant de périphérique qui lui de son côté peut faire évoluer son matériel comme il le souhaite.

Chacun est libre à une restriction près, c’est que le pilote de périphérique puisse réagir aux commandes de base de l’OS. Vous comprenez mieux maintenant, qu’à chaque fois que vous installez un nouveau périphérique, on vous demande d’installer les pilotes qui vont bien. En fait, c’est le pilote qui prend en charge les spécificités techniques particulières d’un périphé-rique par rapport aux autres périphériques de même type. De même, un pilote peut être amélioré au fur et à mesure du temps en corrigeant par exemple les erreurs de fonction-nement (des bugs). C’est pourquoi pour un même périphérique, vous pouvez installer des versions différentes de pilote en les téléchargeant par exemple à partir d’Internet.

Page 13: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0115

Remarque

Si le système d’exploitation est dit « Plug and play », et que les périphériques que vous installez sont également « Plug-and-play », alors l’OS détecte et installe les pilotes de ces nouveaux périphériques d’une manière automatique s’il les connaît ou dans le cas contraire après vous avoir demandé de lui fournir la disquette ou le CD-ROM contenant le pilote. Le « Plug and play » initie un dialogue entre le périphérique et l’OS afin que ce dernier prenne connaissance des caractéristiques de ce premier.

• Lire les fichiers de configuration du système afin de mettre en place un environnement de travail tel que le souhaite l'utilisateur.

• Lire les fichiers de script (batch) créés par l'utilisateur dans le but d'automatiser son tra-vail. Nous aurons l'occasion de reparler de cette notion dans le paragraphe consacré à MS-DOS.

• Charger les programmes permettant de configurer les services annexes (exemple : ges-tion de file d'attente d'imprimante, gestion réseau).

• Lancer automatiquement les programmes nécessaires à l'interface de l'OS et ceux sou-haités par l'utilisateur. Dans ce dernier cas, l'utilisateur désigne les programmes à lancer automatiquement à l'installation de l'OS ou en paramétrant l'OS ensuite.

Eh voilà, après tout cela, notre système d'exploitation est en place. Il vous place dans un envi-ronnement de travail en mode « graphique » ou en mode « caractère » puis vous donne la main. Ouf !

Après ce travail d'initialisation, le système d'exploitation va maintenant se consacrer à son rôle d'interface entre l'utilisateur, les applications et le matériel. Mais de quoi s'occupe-t-il réellement ? Sans entrer dans le détail du fonctionnement d'un ordinateur et de ses compo-sants, nous pouvons dire que l'OS est plus particulièrement en charge :

• De la gestion des entrées-sorties, c’est à dire de l’échange d’informations entre l’ordi-nateur et les périphériques.

• Du chargement en mémoire RAM du code du programme demandé par l’utilisateur puis du lancement de son exécution.

• De la gestion du temps d'utilisation du processeur par les différents programmes en cours d’exécution dans le cas des systèmes d’exploitation multitâches (voir paragraphe suivant dans cette séquence).

• De l'allocation et de la gestion de la mémoire en évitant qu’il y ait des conflits d’allo-cation, d’une même zone mémoire, à deux programmes en même temps. Il gère un plan d’occupation de la mémoire.

• De la lecture et de l'écriture de fichiers sur les supports de masse (disque dur, disquette, disquette ZIP, etc.).

Page 14: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0116

Séquence 1

• De la gestion des fichiers (documents utilisateurs ou programmes exécutables). Pour cela, l’OS fournit un outil qui s’appelle le « système de fichiers » ou « File system » en anglais. À travers cet outil, le système d’exploitation organise et gère la localisation des fichiers sur un support de masse (disque dur, disquette, CD-ROM, Zip, etc.) afin de pouvoir les retrou-ver le plus rapidement possible et sans erreur. On peut comparer la notion de système de fichiers au sommaire d’un magazine qui permet à son lecteur de retrouver rapidement la page de l’article qui l’intéresse. De même que chaque éditeur peut avoir son système de sommaire, chaque système d’exploitation peut avoir son propre système de fichiers (ex : FAT, FAT32, NTFS, Ext2fs). Certains permettent d’appliquer une notion de droit sur un fichier en fonction de la personne qui se connecte sur l’ordinateur, d’autres permettent de gérer plus efficacement un grand nombre de fichiers ou des fichiers de grandes tailles ou encore d’autres permettent de nommer les fichiers avec des noms plus ou moins long. Cette liste des différences n’est pas exhaustive. Nous reparlerons des « systèmes de fichiers » dans la séquence 5 de ce cours.

• Dans le cadre d'un ordinateur placé dans un réseau d'ordinateurs, de la communication avec les autres ordinateurs du réseau au travers de protocoles de communication.

• De mettre à la disposition de l'utilisateur un interpréteur de commande en mode « caractère » ou « graphique » à travers lequel, il peut entrer en communication avec l’ordinateur afin de lui donner des instructions, des ordres (par exemple pour lan-cer l’exécution d’un programme « applicatif »).

Le mode « caractère » oblige l’utilisateur à connaître et à taper au clavier les instructions avec éventuellement leurs options. Le mode graphique propose des objets graphiques (des icônes) sur lesquels il peut cliquer grâce à la souris. Le deuxième mode doit, en principe, être plus intuitif mais le premier est apprécié des experts car plus performant grâce à toutes les commandes et les options dont on dispose. Bien souvent les systèmes d’exploitation proposent les deux solutions. Ainsi tout le monde y trouve son compte.

Système d’exploitation en mode « caractère »

Système d’exploitationen mode « graphique »

Remarque

Un système d’exploitation peut également contenir un langage de programmation, parfois sommaire parfois assez complet, permettant à un utilisateur d’écrire des mini-programmes que l’on appelle « Batch » ou « Script-shell ». Ces derniers permettent d’automatiser des tâches que l’utilisateur réalise souvent ou encore de faciliter son travail en réunissant sous un seul nom un ensemble de commandes qu’il devait auparavant taper les unes après les autres au clavier. Les instructions contenues dans les fichiers « Batch » ou « Script-shell » sont interprétées puis exécutées les unes après les autres par l’interpréteur de commandes de l’OS.

Précédemment, je vous ai dit que le programme de boot chargeait une partie essentielle du système d’exploitation. Eh oui, tous les programmes d’un système d’exploitation ne sont pas chargés dès le début. En fait, le programme de boot charge le « noyau » du système d’exploitation. Le noyau est la partie essentielle de l’OS. Il doit être de taille

Page 15: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0117

raisonnable car il reste constamment en mémoire RAM et ce jusqu’à ce que l’utilisateur arrête l’ordinateur. La taille de son code ne peut donc pas être trop grande sous peine d’occuper trop d’espace mémoire au détriment des autres programmes « applicatifs » que l’utilisateur souhaite exécuter. Il ne faut pas oublier que le noyau de l’OS ne peut être retiré de la mémoire avant la fin puisqu’il se charge de faire la liaison entre les « applicatifs » et le matériel. C’est lui qui est en charge des tâches fréquemment exécu-tées par l’OS, comme la gestion de la mémoire ou encore la gestion des processus (pro-cessus = programme en cours d’exécution).

En plus du noyau, le système d’exploitation peut proposer un ensemble d’utilitaires comme un éditeur de texte, une calculatrice, un explorateur de fichiers, un gestionnaire d’images, des programmes permettant de paramétrer le système. Bref, il s’agit d’un ensemble de programmes dont le système d’exploitation et l’utilisateur non pas besoin en permanence. Dans ce cas, les utilitaires sont chargés en mémoire et retirés de la mémoire au même titre que les autres programmes « applicatifs » installés sur l’ordina-teur. Tous ces programmes utilisent le noyau du système d’exploitation pour communi-quer avec la machine.

Un système d’exploitation fournit des utilitaires mais pas forcément en nombre suffisant et pas forcément pour tous les domaines nécessaires à un utilisateur. Ce dernier a donc la possibilité de lancer l’exécution d’autres applications qu’il a développé lui-même ou bien qu’il a acheté dans le commerce. Là encore, le système d’exploitation va fournir une aide précieuse aux applications qui s’exécuteront sur l’ordinateur. En effet, ces program-mes auront besoin à un moment ou à un autre de faire appel à des services du système d’exploitation, par exemple pour accéder aux périphériques afin de lire ou écrire dans un fichier sur disque, pour connaître la date système, pour communiquer avec d’autres ordinateurs situés sur le réseau ou encore pour imprimer un document. L’ensemble de ces services qu’un système d’exploitation est capable de rendre à une application est appelé API (Application Programming Interface). Du point de vue du développeur d’ap-plication (personne en charge de développer un programme) une API est un ensemble de fonctions, regroupées dans une ou plusieurs bibliothèques, exemple une DLL pour « Dynamic Link Library » sous WINDOWS, qu’il est possible d’appeler à travers le pro-gramme afin d’obtenir des services de la part de l’OS. Cette ou ces bibliothèques sont installées lors de l’installation de l’OS sur un ordinateur et elles sont disponibles une fois que l’OS fonctionne. De ce fait, tout programme est donc conçu pour fonctionner dans le contexte d’un système d’exploitation particulier puisqu’il utilise l’interface de program-mation (API) de ce système. En résumé : une API est une interface de programmation d’applications, contenant un ensemble de fonctions courantes de bas niveau (proche de la couche matérielle) permettant de programmer des applications de « Haut Niveau », c’est-à-dire qui ne s’occupent pas des contraintes de la couche matériel.

Page 16: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0118

Séquence 1

Résumons cela à travers un schéma :

4. Les différents types de système d’exploitation

Dans les paragraphes précédents, nous avons défini qu’un système d’exploitation est proche des caractéristiques d’un ordinateur et plus particulièrement du processeur. Nous aurons ainsi des systèmes d’exploitation spécifiques pour les compatibles PC ou encore pour les Macintosh. Je ne parlerais pas ici des différences de technologie entre ces deux familles, mais cela nous permet déjà de définir des familles de systèmes d’exploita-tion liées aux familles d’ordinateurs. Mais ce n’est pas tout car à l’intérieur de chaque famille d’OS, il existe également différents types de systèmes d’exploitation. Si je vous dis « monotâche », « multitâches », « mono-utilisateur », « multi-utilisateurs », vous me répondez ? Eh oui, voilà encore une liste de mots liés à la notion de système d’exploita-tion. En fait, ce sont des termes qui méritent que l’on s’interroge sur leur signification car, dans l’environnement informatique, on les entend souvent sans forcément savoir à quoi cela correspond. Alors, allons-y pour une petite série de définitions !

Remarque avant de commencer

Un programme en cours d’exécution s’appelle un processus ou une tâche. Un pro-cessus (tâche) utilise donc les ressources de la machine notamment celles du processeur et de la mémoire afin de pouvoir dérouler les instructions prévues par le développeur du programme.

Monotâche : un système d’exploitation est dit « monotâche » lorsqu’il ne peut gérer le fonctionnement que d’un seul programme à la fois. L’OS ne peut allouer les ressources machine qu’à un seul programme à la fois. Cela a pour conséquence que le système

Page 17: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0119

d’exploitation, et bien entendu l’utilisateur, devront attendre que le programme en cours d’exécution se termine avant de pouvoir lancer l’exécution d’un autre et malheur à l’OS si le programme se « plante » car tout est bloqué. Dans ce cas, on se rappelle de la séquence de touches magiques « Ctrl + Alt + Suppr » afin de lancer le redémarrage de la machine (on dit alors que l’on doit « rebooter » l’ordinateur) si cela est possible. En effet, dans le pire des cas, il faut faire un arrêt brutal en coupant l’alimentation électrique de l’ordinateur.

Multitâches : un système d’exploitation est dit « multitâches » lorsqu’il est capable de faire fonctionner plusieurs programmes (processus) simultanément. En fait, nous devrions dire plutôt « quasi-simultanément ». En effet, un processeur quoi que l’on fasse ne peut s’occuper que d’un programme (processus) à la fois. C’est à ce niveau qu’inter-vient la notion d’OS « multitâches » car ce dernier à la charge de suspendre l’exécution d’un programme afin de donner « la main » à un autre programme dont l’exécution a elle-même été suspendue auparavant ou dont on vient juste de lancer l’exécution. L’OS alloue donc à tour de rôle, pendant une courte durée de temps (quelques millisecon-des), le processeur aux différents programmes en cours d’exécution. On parle de « time sharing » (temps partagé). Le temps alloué à chaque processus s’appelle également le « quantum » de temps. Le programme qui occupe le processeur à un instant donné est appelé le programme (processus) actif. Comme cette opération de changement de pro-gramme (processus) actif peut se dérouler un très grand nombre de fois par seconde, du point de vue de l’utilisateur, les programmes ont l’air de s’exécuter simultanément. Attention, plus on lance de programmes en simultané plus le délai d’attente avant qu’un programme ne puisse récupérer le processeur, afin de continuer le déroulement de ses instructions, peut être long. Dans ce cas, on se rend visuellement compte de la non simultanéité des programmes. Allons plus loin dans cette notion de « multitâches ». Il existe en fait, deux modes de multitâches, le « préemptif » et le « coopératif ». Dans le premier cas, le système d’exploitation possède un programme qui se charge de partager de façon équilibrée mais autoritaire le temps d’occupation du processeur entre les diffé-rents programmes en gérant parfois des règles de priorité. Ce programme faisant partie intégrante de l’OS s’appelle le « scheduleur » ou « ordonnanceur ». Dans le deuxième cas, il s’agit d’une forme simple de multitâches dans laquelle chaque processus doit explicitement permettre à un autre processus de s’exécuter. Il revient donc aux applica-tions de se répartir elles-mêmes le temps d’occupation du processeur. Le problème de cette deuxième solution est que si un des processus ne redonne pas la main à un autre processus, par exemple dans le cas où il est bloqué sur une erreur, le système entier peut s’arrêter. Dans le mode « préemptif », lorsqu’un programme se bloque, le scheduleur peut alors l’arrêter ou bien ne plus lui donner la main ce qui évite de consommer du temps processeur pour rien.

Mono-utilisateur : un système d’exploitation mono-utilisateur est un système dans lequel on n’autorise qu’un seul utilisateur à la fois à utiliser les ressources de l’ordinateur (processeur, mémoire, fichiers, périphériques). En fait, le seul utilisateur qui peut utiliser les ressources de l’ordinateur est celui qui travaille dessus.

Multi-utilisateurs : un système d’exploitation multi-utilisateurs est un OS permettant à plusieurs utilisateurs d’utiliser l’ordinateur, sur lequel est installé l’OS, simultanément ou les uns à la suite des autres. Bien entendu, il nous faut apporter une petite nuance à tout cela car dans le terme « simultanément », il ne faut pas comprendre qu’ils travaillent avec le même clavier et le même écran en même temps. Par contre, il est parfaitement envisageable que les utilisateurs puissent partager les ressources (processeur, mémoire, fichiers, périphériques) de cet ordinateur à partir d’autres ordinateurs, si ceux-ci sont

Page 18: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0120

Séquence 1

connectés à un même réseau. Ainsi, par exemple, on peut aller chercher un document sur le disque du premier, utiliser une imprimante ou tout autre périphérique installé sur celui-ci ou encore utiliser son processeur et sa mémoire afin de lui faire exécuter un programme. Bien entendu, un système d’exploitation multi-utilisateurs doit impérativement être mul-titâches afin d’exécuter en « parallèle » les demandes de chacun des utilisateurs des res-sources de l’ordinateur. De plus, il faut mettre en place une politique de sécurité avec des sessions de connexion (saisie d’un login de connexion et d’un mot de passe) afin de ne pas laisser toutes les ressources d’un ordinateur disponibles à tous les utilisateurs se trouvant sur le réseau. L’OS se charge donc de faire respecter les droits de chaque utilisateur. Par extension, un OS multi-utilisateurs permet également, comme nous l’avons dit quelques lignes plus haut, l’utilisation d’un ordinateur par un ensemble d’utilisateurs qui s’en servi-ront les uns à la suite des autres. Dans ce cas, chaque utilisateur a la possibilité de se créer son propre espace de travail (son propre « profil ») dans lequel le système d’exploitation le placera automatiquement à chaque connexion. L’utilisateur doit donc préalablement ouvrir une session de travail sur l’ordinateur en donnant son login et son mot de passe ce qui lui octroie des droits, ou des interdits, sur le poste de travail qui peuvent être différents des autres utilisateurs de ce même poste. Dans ce cadre, il existe toujours un utilisateur particulier appelé de façon générale « administrateur » qui lui a tous les droits.

5. Quelques noms de systèmes d’exploitation

Les systèmes d’exploitation existent depuis les années 60 voire avant et bien entendu, ils ont beaucoup progressé avec l’évolution du matériel. Il n’est pas question dans ce para-graphe de présenter tous les systèmes d’exploitation, car cela n’a que peu d’intérêt, mais décrire sommairement ceux dont on entend parler le plus. Bien sûr, il n’est pas prévu non plus, dans ce paragraphe, de polémiquer ou de critiquer tel ou tel système d’exploitation mais juste d’expliquer brièvement leur histoire. Nous n’approfondirons pas non plus l’ar-chitecture technique de chacun d’eux car il nous faudrait des centaines de pages, parfois barbares, et cela n’a pas forcément d’intérêt dans les premiers cours. Qui plus est, vous découvrirez cela au fur et à mesure de l’avancement des cours de votre formation, dans vos recherches sur Internet ou encore dans les livres traitant de ces sujets. Vous êtes prêts, alors allons-y.

5A. MS-DOSParmi tous les systèmes d’exploitation fourmillant dans la jungle des systèmes d’ex-ploitation, il y en un qui est devenu un standard dans les années 80 sur la plupart des ordinateurs personnels, c’est le MS-DOS (Microsoft DISK OPERATING SYSTEM) ou tout simplement, de son petit nom, le DOS. Ah le DOS que d’aventures et de souvenirs. Il est né d’un besoin exprimé par la société IBM qui souhaite se lancer sur le marché du micro-ordinateur car ce sont des ordinateurs de plus petite taille et que ce marché est déjà occupé depuis 1977, entre autre, par Apple (avec son Apple II) et Commodore (avec son PET (Personal Electronic Transactor). En 1981, IBM lance sur le marché un micro-ordina-teur du nom de « Personal Computer » (IBM PC) composé d’un écran, d’un clavier indé-pendant de l’unité centrale, d’un processeur « Intel 8088 » cadencé à 4,77 Mhz, d’une capacité mémoire de 64 Ko de RAM, extensible à 256 Ko, et qui dispose également d’un lecteur de disquettes 5’’1/4 simple face d’une capacité de 160 Ko (plus un emplacement pour un second). Non, non il ne faut sourire car pour l’époque pas si lointaine, c’était bien. Allez séquence souvenir !

Page 19: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0121

IBM PC 8088 Disquette 5"1/4 d’une capacité à l’origine de 160 Ko (sensiblement 160 000 octets)

Bien entendu, pour faire fonctionner le « Personal Computer», il fallait un système d’ex-ploitation. IBM se tourne vers « Microsoft » (et Bill Gates) déjà connu pour son langage de développement BASIC. Ainsi PC-DOS (Personnel Computer Disk Operating System) est né. Auprès des entreprises, l’IBM PC fut un grand succès et a attiré la convoitise des constructeurs concurrences. Ces derniers, futés, ont alors basé leurs propres machines sur le même microprocesseur qu’IBM (« Intel 8088 » ) et leur ont donné le titre de « compati-ble IBM Personal Computer » ou « compatible PC ». À la longue, seul est resté l’acronyme « PC ». Quant à Microsoft, IBM ne lui ayant pas fait signer de clause de non concurrence pour le système d’exploitation PC-DOS, il en profita pour promouvoir son OS, qui devint MS-DOS (Microsoft Disk Operating System), et l’installer sur les ordinateurs des concur-rents. Voilà, l’empire Microsoft est sur les rails.

Après cette petite histoire qui nous permet de mieux comprendre l’arrivée de Microsoft, revenons-en à MS-DOS. Ce système porte son nom du fait que les fonctions de base de MS-DOS étaient surtout en charge de la gestion des fichiers, d’où son nom de ‘Disk Operating System ». Pour le reste, il faisait appel la plupart du temps aux fonctions du langage système incorporé au BIOS. Bien entendu, MS-DOS réalise les tâches attendues par un OS. Il entre dans la catégorie des systèmes monotâche et mono-utilisateur. Petite parenthèse. Microsoft a lancé le tableur « Multiplan » en 82 et « Word » en 83. Ces logiciels fonctionnent dans l’environnement MS-DOS. Fermons la parenthèse. D’une manière générale et pour des raisons historiques, MS-DOS fonctionne uniquement avec les ordinateurs équipés d’un processeur de la société « Intel » (du 8088 au Penthium). Il a évolué au cours des années et se décline de la version 1.0 à la version 6.22 (voire 7.0 avec Windows 95/98). Ces versions diffèrent considérablement dans leurs possibilités, ce qui se manifeste par l’apparition de nouvelles commandes mais aussi par une augmentation du besoin en mémoire RAM. Le MS-DOS 1.0 pouvait se contenter de 64 Ko, le MS-DOS 2.11 a besoin au minimum de 128 Ko, le MS-DOS 3.0 a besoin de 256 Ko et les versions 4.0, 5.0 et 6.X nécessitent 640 Ko et la présence d’un disque dur. Nous aurons l’occasion de revenir sur le système d’exploitation MS-DOS plus loin dans ce cours.

Petit défaut, MS-DOS possède une interface en mode « caractère » ce qui oblige les utili-sateurs à taper les commandes qu’ils souhaitent faire exécuter à l’ordinateur et donc à en connaître la syntaxe et les options. Pour démocratiser l’utilisation des micro-ordinateurs, ce n’est pas forcément la solution. C’est pourquoi, assez rapidement (1985), Microsoft a ajouté une couche logicielle supplémentaire au dessus de MS-DOS. Vous l’avez immédia-tement compris, il s’agit de l’interface graphique Windows.

Page 20: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0122

Séquence 1

Remarque

1 octet représente 8 bits, 1 Ko (Kilo-octet) représente 1024 octets et 1 Mo représente 1024 Ko. Précisons le terme « bit ». Ce dernier est la contraction du terme « binary digit ». Il s’agit de la plus petite unité d’information manipulable par un ordinateur. Cette information peut prendre deux états 0 ou 1. Il s’agit donc d’une information binaire qui peut physiquement être représentée par un signal électrique. En effet, on peut considéré que, en dessous d’un certain seuil, le signal électrique représente la valeur 0 et au dessus la valeur 1. On peut également utiliser le sens du courant généré par un champ magnétique ou encore la profondeur des aspé-rités sur une surface. Ainsi, en associant des valeurs binaires (exemple en assemblant 8 bits Ë 1 octet), on peut coder des valeurs numériques interprétables par un ordinateur.

5B. Windows 95 – 98 - Me

Tout comme MS-DOS, Windows a subi de nombreuses modifications depuis son origine et cela continue encore aujourd’hui. Au départ (1985), Windows n’est pas un système d’exploitation mais simplement une couche logicielle supplémentaire qui vient se placer au dessus de MS-DOS. On peut le considérer simplement comme un utilitaire apportant un environnement graphique à l’informatique.

Dans la première version, on y trouve le concept d’applications fenêtrées avec un arran-gement des fenêtres en mosaïque, c’est à dire les unes à côtés des autres sans chevau-chement possible, des boîtes de dialogue et un certain nombre d’utilitaires graphiques en complément du mode commandes MS-DOS qui lui est resté non graphique. Cette première version a été conçue pour tourner sur une machine disposant de deux lecteurs de disquette 5"1/4 et de 256 Ko de mémoire vive. Quelques captures d’écran :

Gestionnaire de fi chier Le PaintBrush

Page 21: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0123

La notion d’interface graphique était déjà très en vogue chez Apple et les premières versions, Windows 1.0 en 1985 puis Windows 2.0 en 1987 (avec en prime l’arrivée d’Ex-cel, Word pour Windows appelé également WinWord) n’ont pas eu le succès espéré. Il faut attendre 1990 avec Windows 3.0 pour voir enfin les utilisateurs s’intéresser à ce logiciel. Il est plus ergonomique et plus simple d’emploi, avec des fenêtres à recouvre-ment qui peuvent se déplacer sur l’écran, avec des polices de caractères proportion-nelles, des ombrages trois dimensions, un bon gestionnaire de fichiers graphique, avec des icônes, des menus déroulants et en prime la possibilité d’ajouter des icônes associés aux programmes les plus fréquemment utilisés. En Avril 1992, la version 3.1 sort sur le marché. Celle-ci corrige plusieurs bogues apparus dans la précédente version. Microsoft y ajoute la technologie OLE (Object Linking and Embedding) qui permet d’insérer, dans un document d’une application, des éléments créés avec une autre application (ex : un tableau Excel dans un document Word). Avec cette version, les PC peuvent accueillir des composants multimédia et les lecteurs de CD-ROM. Allez souvenir souvenir encore des captures d’écran.

Gestionnaire de programmes (fenêtre principale de Windows 3.x)

Le gestionnaire de fi chier

En octobre 1992, la version « 3.11 for Workgroup » arrive. Celle-ci comprend un support réseau et marque donc le début des ordinateurs en réseau sous Windows. Elle permet le partage de fichiers et d’imprimantes sur le réseau.

Les versions Windows 3.x ont amené le principe du multitâches coopératif. Cela explique pourquoi, des clics « forcenés » sur une application donnée, alors que le sablier est affi-ché, ne produisent aucun effet puisqu’il faut attendre que l’application active rende la main pour que Windows puisse répondre aux clics. Autre remarque, ces versions Windows 3.x fonctionnent en mode 16 bits, puisque MS-DOS fonctionne en mode 16 bits donc il ne tire pas pleinement profit de la possibilité des processeurs qui eux fonctionnent en mode 32 bits depuis l’arrivée du processeur 80386.

Page 22: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0124

Séquence 1

Remarque

Le mode 32 bits permet de coder des instructions sur 32 positions binaires (ensemble de 1 ou 0) ce qui offre plus de possibilités de codage que le mode 16 bits. De plus le mode 16 bits donne accès à un espace mémoire de 1 Mo maximum à l’intérieur duquel les infor-mations des programmes en cours d’exécution ne sont pas protégées les unes des autres et cela peut entraîner des « plantages ». En effet, il arrive parfois que deux programmes en cours d’exécution puissent atteindre et écrire dans la même zone mémoire et donc que l’un d’eux ne comprenne plus ce qu’il a à faire. Il se bloque alors ce qui est embêtant en mode multitâches coopératif.

Août 1995, apparaît Windows 95. L’interface est complètement remaniée. Elle propose la notion de bureau, de raccourcis, une barre des tâches permettant de passer d’une appli-cation à une autre, des noms de documents sur 255 caractères, elle utilise pleinement le bouton droit de la souris avec les menus contextuels. Windows 95 propose directement des solutions réseaux en intégrant notamment le protocole TCP/IP, très utile pour inte-ragir avec Internet, mais aussi des outils facilitant la configuration et la visibilité des res-sources disponibles sur le réseau. L’installation de nouveaux matériels est facilitée grâce à la technologie « Plug and Play » qui permet au système de détecter et de configurer automatiquement certains périphériques (carte graphique, réseau, imprimante, modem, etc.) en installant des pilotes proposés en standard ou se trouvant sur un CD-ROM ou une disquette fournis par le constructeur. Les applications qui fonctionnent sur Windows 95 sont des applications 32 bits car celui-ci fonctionne en mode 32 bits ce qui permet une meilleure gestion de la mémoire puisque l’on a accès à une mémoire pouvant aller jusqu’à 4 Go ce qui permet aux applications 32 bits de pouvoir utiliser une zone mémoire dédiée à chacune d’elles, donc protégée. Cependant, Windows 95 peut toujours fonctionner en mode 16 bits afin de garder une compatibilité avec les versions de Windows précédentes ainsi qu’avec MS-DOS. Windows 95 doit pouvoir faire fonctionner les applications utili-sant MS-DOS (Notamment les jeux (eh oui !)). Cette compatibilité avec le mode 16 bits lui fait perdre les bénéfices du mode 32 bits et provoque bon nombre de « plantage » des programmes fonctionnant en mode 16 bits, et par voie de conséquence de Windows lui-même, puisque l’on retrouve la problématique de gestion des adresses mémoires liée aux applications en mode 16 bits. Autre point, Windows 95 est multitâches préemptif. Dans les nouveautés, on peut également noter l’apparition de la base des registres qui remplace les fichiers de configuration (les fichiers .ini) des versions précédentes. Il s’agit d’une base de données où sont classées les informations principales de la configuration matérielle et logicielle ainsi que la configuration spécifique des utilisateurs.

Page 23: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0125

Suite à l’apparition de Windows 95, la suite « Office 95 » est apparue avec Word (trai-tement de texte), Excel (tableur), Access (base de données) puis en 97, arrivera la suite « Office 97 » avec de plus en plus de fonctionnalités internet.

En 1998, sort la version 98 de Windows, avec support de nouvelles technologies (AGP et USB) et l’utilisation du système de fichiers FAT32 (voir séquence 5 de ce cours). En 1999 sort un second Windows 98 (« seconde édition » ou Windows 98 SE), qui contient une mise à jour des pilotes, ce qui lui permet d’être plus « Plug and Play », avec en plus la correction des erreurs de Windows 98.

Vrai ou faux système d’exploitation, nous n’entrerons pas dans la polémique en disant que la partie MS-DOS devient de plus en plus minime et que les Windows 9x durant leur évolution ont intégré de plus en plus de bibliothèques (API) contenant les fonctions per-mettant de prendre en charge les tâches d’un système d’exploitation. Le seul problème réside dans le fait que pour faire fonctionner les applications MS-DOS, il a été conservé un petit noyau MS-DOS. En faisant abstraction de cela, nous pouvons dire qu’il s’agit d’un système d’exploitation puisqu’il réalise toutes les tâches attendues pour un OS.

Finalement en septembre 2000, Windows Millenium (Me) arrive. Il augmente la convi-vialité avec l’utilisateur par rapport à Windows 98, améliore la sécurité; intègre encore plus le multimédia avec « Windows Médiaplayer », ajoute le protocole WIA (« Windows Image Acquisition ») permettant de gérer simplement son scanner, son appareil photo numérique, sa caméra numérique.. Autre nouveauté, MS-DOS n’est plus directement accessible. Les applications qui ont besoin de MS-DOS pour s’exécuter le feront dans un environnement DOS virtuel, une émulation, ce qui peut empêcher certaines applications DOS de fonctionner. Attention, Windows Millenium n’est pas un rapprochement entre la branche de la série Windows NT et la branche grand public (Windows 95 et 98). Cette dernière version marque simplement la fin de la branche des Windows 9x

5C. Windows NT – 2000 – XP - Vista

Parallèlement à sa série des Windows 9.x, Microsoft a développé une nouvelle architecture de système d’exploitation appelée Windows NT (Windows New Technology ou Nouvelle Technologie) dédiée exclusivement aux serveurs et aux stations donc tournés plus vers les entreprises. Bien sûr, avec tout ce que l’on peut lire sur le sujet, on peut lancer encore un débat sur le fait que Microsoft est inventé ou non cette nouvelle technologie mais cela ne fait pas avancer notre cours. La première version sort en 1993 sous le nom de Windows NT 3.1. Il s’agit d’un système d’exploitation, totalement débarrassé de MS-DOS, qui fonc-tionne en mode 32 bits ce qui permet d’accéder à une ressource mémoire allant jusqu’à 4 Go et donc cela offre la possibilité de gérer au mieux le partage des ressources mémoire entre les applications puisque la zone mémoire allouée à chaque application est proté-gée. Ce système d’exploitation est multitâches préemptif et propose un nouveau système de fichiers NTFS permettant de sécuriser l’accès aux fichiers. Windows NT s’est débarrassé de MS-DOS mais il permet toujours aux applications DOS de fonctionner sous certaines conditions, à savoir, que le programme DOS ne contienne pas des appels systèmes directs au DOS mais passe par les fonctions API. De toute façon, NT ne propose pas un vrai DOS mais une émulation de DOS ce qui fait que NT garde le contrôle de ce que fait le program-me et peut donc l’empêcher de planter le système contrairement aux versions Windows 9.x. Il y aura une version Windows NT 3.1 et une version Windows NT 3.1 Advance Server. Cette dernière intègre les outils d’administration d’un réseau alors que la première n’est destinée qu’à une station de travail (Workstation). En 1994 et 1995 suivront les versions NT 3.5 et NT 3.51 intégrant des outils réseau supplémentaires comme TCP/IP, intégrant

Page 24: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0126

Séquence 1

les disques durs IDE et les lecteurs CD-ROM. Ces versions ont une interface graphique semblable à celle de Windows 3.0 et se déclinent toujours en version « Serveur » et en version « Workstation ». En 1996 apparaît Windows NT 4.0 (Server et Workstation). Elles présentent une interface graphique semblable à Windows 95 et sont notamment beau-coup plus performantes au niveau des fonctionnalités réseau. On retrouve une version « Workstation » ainsi qu’une version « Server ». En 2000 apparaît Windows NT 5.0 ou si vous préférez Windows 2000 apportant toujours plus de simplicité d’utilisation en station de travail mais aussi en gestion de réseau pour un administrateur réseau. En 2001 sort Windows XP (Windows NT 5.1), mélange entre Windows 2000 et Windows ME, permet-tant d’accroître encore la convivialité et en 2003, sort Windows Server 2003 (Windows NT 5.2). Ce dernier est une amélioration du système Windows 2000 server. Il est a noté que Windows 2000 Server et Windows 2003 Server proposent le principe « Active directory » qui est un service d’annuaire permettant de recenser toutes les informations concernant le réseau, que ce soit les utilisateurs, les machines ou les applications ainsi que la mise en place des droits sur chacun de ces éléments au travers de stratégies de sécurité.

Enfin en janvier 2007, apparaît le dernier né de Microsoft vendu sous le nom de Windows Vista (NT 6.0). Il existe en version 32 bits et en version 64 bits. Ce nouvel OS apporte des nouveautés, par rapport à ces prédécesseurs, comme par exemple au niveau de l’interface orientée 3D, au niveau des droits accordés par défaut aux applications en cours d’exécu-tion, au niveau du protocole IP utilisant la norme IPV6 et bien d’autres éléments encore que nous n’allons pas détailler ici. Pour l’instant, il doit encore faire ses preuves par rap-port à Windows XP.

Dernier point, Windows XP et Vista ne sont développés qu’en version « Workstation » puisque la branche « serveur » est laissée à Windows 2000 Server, 2003 Server et main-tenant 2008 Server.

Résumons les apports de la branche NT.

• NT est devenu un système d'exploitation 32 bits, voire 64 bits maintenant, avec un vrai multitâches préemptif.

• Elle autorise la mise en place d'une vraie politique d'administration réseau avec authentification par login et mot de passe mis en place par un administrateur. Cette politique d'authentification peut être centralisée sur un serveur ou en local sur un poste de travail. L'administrateur peut autoriser ou non l'accès à des ressources au cas par cas en fonction d'un nom d'utilisateur ou de l'appartenance à un groupe. Bref l'as-pect sécurité a été pleinement mis en avant par cette branche.

• Mise en place du système de fichiers NTFS permettant de sécuriser un ou plusieurs docu-ments grâce notamment à des attributs (des droits) supplémentaires.

• Du point de vue interne, outre le fait de passer à 32 bits, le système est conçu pour être portable sur différentes architectures de processeur. En fait, NT est un système d'ex-ploitation modulaire, conçu comme une série de couches logicielles, écrites en langage C, indépendantes du matériel. Le seul code spécifique au matériel réside dans la HAL (Hardware Abstraction Layer) qui est une toute petite partie du système d'exploitation. La couche HAL fonctionne au niveau le plus bas traduisant les fonctions du système d'exploitation de bas niveau en instructions compréhensibles par le matériel spécifique utilisé. Pour passer d'une architecture de processeur à une autre, il suffit de récrire la HAL et de recompiler le code C des différents modules afin de créer des exécutables fonctionnant sur le nouveau système.

Page 25: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0127

Remarque

Windows 2000 et les versions suivantes possèdent des Services Pack (SP1, SP2, etc.) qui permettent de corriger des bugs (des erreurs) trouvés dans une version mais également apporter des outils complémentaires. Ainsi il se peut qu’une application ne fonctionne, sur une version donnée de l’OS, que si un «Service Pack » précis est ajouté. Pour ajouter un «Service Pack », il faut le télécharger sur Internet et lancer le processus d’installa-tion ce qui aura pour effet de mettre à jour votre version Attention, il faut télécharger un «Service Pack » qui concerne votre version de Windows. On ne peut pas utiliser un «Service Pack » pour passer à une nouvelle version de Windows.

5D. UNIX – LINUXQuoi que l’on en dise, LINUX devient aujourd’hui un système d’exploitation incontour-nable car il fait partie de la catégorie des logiciels dits « libres » et possède de nombreux logiciels applicatifs libres développés pour lui par un nombre très important de person-nes impliquées dans ce principe du libre.

À l’origine de LINUX, il y a les concepts développés pour un autre système d’exploitation du nom d’UNIX en 1969. L’idée était à l’époque de créer un système d’exploitation avec des idées novatrices incluant notamment :

• un système de gestion de fichiers hiérarchisé ;

• un principe identique pour envoyer des données dans un fichier ou sur un périphé-rique (en Unix : tout est vu comme un fichier) ;

• la possibilité que des processus (programme en cours d'exécution) puissent générer d'autres processus afin de leur faire exécuter de nouvelles tâches. Cela implique que le système soit multitâches ;

• un ou plusieurs interpréteurs de commandes ;

• un système d'exploitation portable et fiable.

Sous l’impulsion de Ken Thompson, qui travaillait à la société « Bell Labotories », et avec l’aide entre autre de Denis Ritchie, Rudd Kanaday et Brian Kernigham, la première ver-sion d’UNIX sort en 1969.

Il s’en suit différentes évolutions que nous détaillerons de manière plus précise dans la séquence 4 de ce cours.

Dans les années qui suivirent, Unix fut d’abord utilisé en interne, puis distribué à quel-ques universités et enfin des sociétés commerciales ont créé leurs propres versions d’Unix mais en respectant une base commune. Nous avons UNIX SCO, Solaris chez SUN, AIX chez IBM. Le problème est que ces UNIX sont propriétaires, c’est à dire qu’une société en détient le code source et vend les exécutables très chers. En effet, la réputation de fiabi-lité et de puissance d’UNIX commence à faire son petit bonhomme de chemin d’autant plus qu’il est également portable sur différentes architectures matériels, multitâches préemptif et multi-utilisateurs. Cependant une problématique demeure, il n’est pas for-cément fait pour le grand public.

En 1984, Richard Stallman crée la fondation FSF (« Free Software Foundation » ou « Fondation pour les logiciels libres ») et y développe un projet nommé GNU (qui est un acronyme récursif signifiant GNU is Not Unix) afin de permettre la distribution de programmes libres de droit. Ce projet a pour but d’essayer de créer un système d’exploi-tation fonctionnant comme UNIX mais gratuit.

Page 26: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0128

Séquence 1

Au début des années 1990, Linus Torvalds, un étudiant finlandais de l’université d’Helsinki décide lui également d’écrire un système d’exploitation type UNIX pour le besoin de ses études. Il réalise LINUX en 1991 et diffuse son code source sur Internet pour que toute personne qui le souhaite puisse l’aider à faire évoluer son OS. Amusées par cette initiative, de nombreuses personnes ont contribué à aider Linus Thorvald à réaliser ce système et d’autres versions de LINUX suivirent. Le libre est sur les rails d’autant plus que le rappro-chement de LINUX avec le projet GNU se met en place naturellement. Cela a permis de ce fait le développement d’une multitude d’utilitaires afin de rendre le produit LINUX plus intéressant car ce n’est qu’un système d’exploitation. Rapidement, LINUX intégra tous les outils présents sous UNIX et de nombreux autres. Il fût écrit pour de nombreuses archi-tectures informatiques. Aujourd’hui, LINUX est utilisé comme serveur de mail, serveur de ftp, serveur Web ou encore firewall. Il propose un grand nombre de langages de déve-loppement de base (C++, java, fortran, lisp, basic, python, Objective C, smalltalk, etc.). Il est difficilement « plantable » mais également difficilement attaquable par des pirates informatiques ou des virus. Il est rapide, mutitâches préemptif, fonctionne en mode 32 bits et 64 bits. Il possède des émulateurs pour Mac et Windows. De plus il évolue très rapidement avec le potentiel de personnes qui développent pour lui. Juste une petite tou-che négative, il peut être pour certains non initiés de l’informatique assez imperméable dans son fonctionnement, dans la configuration des périphériques et dans l’installation des nouveaux programmes par rapport à Windows ou les systèmes MAC. Pas de panique, aujourd’hui tout est mis en œuvre pour modifier cela par l’intermédiaire des distributions LINUX qui proposent des packages d’installation « clé en main » plus ou moins simples. De plus Internet fourmille de sites et de forums de discussion pour une entraide efficace. Nous développerons de manière plus longue tout cela dans la séquence 4 de ce cours.

5E. Conclusion

Système Mode Mono-utilisateur Multi-utilisateurs Mono-tâche Multitâches

DOS 16 bits X X

Windows 3.x 16/32 bits X Coopératif

Windows 95/98/Me 32 bits X Préemptif

Windows NT/2000 32 bits X Préemptif

Windows 2000 Server / 2003 Server

32/64 bits X Préemptif

Windows XP 32/64 bits X Préemptif

Windows Vista 32/64 bits X Préemptif

Unix / Linux 32/64 bits X Préemptif

Page 27: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0129

6. Le partitionnement d’un disque dur

Précédemment, nous avons énuméré un ensemble de systèmes d’exploitations. Ces derniers devront être installés sur un ordinateur pour que vous puissiez les travailler et approfondir leur fonctionnement. Pour cela, vous pouvez les installer successivement sur un ordinateur en fonction de celui que vous êtes en train d’étudier ou alors vous pouvez avoir plusieurs disques durs sur l’ordinateur afin d’installer les différents OS sur chacun d’eux ou encore avoir un système de disques durs amovibles ou enfin partager un disque dur unique entre tous les systèmes d’exploitation. Le problème de cette dernière solution réside dans le fait que l’on ne peut pas mélanger les programmes de tous les systèmes d’exploitation d’autant plus que, nous le verrons plus tard (dans la séquence 5), ils n’ont pas tous le même mode de système de fichiers (FAT16, FAT32, NTFS, Ext3fs de Linux). Heureusement il existe une solution pour contourner ce problème. Cette dernière consis-te à allouer une partie du disque dur à chacun des systèmes d’exploitation. Comment faire cela ? Eh bien, c’est là qu’intervient la notion de partition dont nous avons déjà parlé succinctement plus haut dans ce cours. Le partitionnement d’un disque dur permet de créer des zones indépendantes (des partitions) sur un disque dur contenant chacune leurs propres données. Ainsi, une fois les partitions d’un disque dur définies, nous pou-vons installer des systèmes d’exploitation différents sur chacune d’elles mais ce n’est pas la seule utilisation possible.

En effet, par ce procédé, il est également possible d’installer les différents programmes d’un système d’exploitation sur l’une des partitions et les fichiers de travail sur une autre partition. Ainsi on sépare les fichiers systèmes des fichiers « utilisateur ». On peut y voir deux avantages. Le premier est que cela peut éviter, par une mauvaise manipulation de la part de l’utilisateur, d’endommager les fichiers systèmes puisqu’il ne travaille pas dans la partition les contenant mais dans celle contenant ses données. Le deuxième avantage, est que si l’utilisateur doit, pour une raison quelconque, réinstaller le système d’exploi-tation, il le fait sur la partition prévue à cet effet ce qui lui évite d’écraser ses fichiers de données qui, eux, sont sur une autre partition. Voici encore une autre utilisation du partitionnement. Il peut servir à découper logiquement un gros disque dur en unités plus petites afin de permettre au système d’exploitation d’accéder plus rapidement aux données.

En résumé, pour imager la notion de partition, votre disque dur peut être vu comme une armoire dans laquelle vous installez des rayonnages (les partitions) afin d’y ranger vos affaires de manière indépendantes d’un rayonnage à l’autre. Bien entendu, la notion de partition ne concerne que les disques durs. De plus, si votre disque dur a un problème physique à un moment donné, vous perdez tout quelque soit la partition.

Ah ! Je vois poindre deux questions. À quel moment doit-on mettre en place le partition-nement ? Comment réaliser l’opération ?

La partitionnement d’un disque dur se fait après le formatage physique de celui-ci et avant le formatage logique. Ah je vous vois de nouveau froncer les sourcils, alors ne dérogeons pas à la règle et ouvrons une parenthèse sur ces notions de formatage phy-sique et formatage logique. Sans trop entrer dans les détails, car cela fait plutôt partie du domaine du hardware que du domaine des OS, un disque dur est organisé en pla-teaux circulaires, tournant autour d’un axe. Chacun des plateaux est recouvert de part et d’autre par des particules ayant des propriétés magnétiques, comme par exemple de l’oxyde de fer, qui en étant polarisé par les têtes de « lecture/écriture » du disque dur vont avoir le pouvoir de stocker des données codées sous forme d’un ensemble de 0 et de 1. Évidemment, il ne s’agit pas d’écrire explicitement un 0 ou un 1 sur la surface du

Page 28: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0130

Séquence 1

disque. Par contre, les têtes de « lecture/écriture », qui se trouvent de part et d’autre de chacun des plateaux, sont composées chacune d’un électro-aimant. Elles ont en plus la possibilité de se lever, de se baisser et de se déplacer latéralement.

Ainsi, pour réaliser l’opération d’écriture il suffit de faire passer un courant faible à travers l’électro-aimant de l’une des têtes ce qui aura pour effet de générer un champ magnétique positif ou négatif en fonction du sens du courant. Les particules magnétiques se trouvant à la surface de la zone du disque soumises au champ magnétique vont alors s’orienter natu-rellement dans un sens ou dans un autre en fonction du sens du champ magnétique ce qui sera interprété comme un 0 ou un 1. Pour l’opération de lecture, il suffit de placer la tête de « lecture/écriture » au-dessus de la zone du disque souhaitée ce qui aura pour conséquence, avec la rotation du disque, de générer des variations de champs magnétiques induisant, dans l’électro-aimant de la tête de « lecture/écriture » un courant électrique dont le sens permettra de savoir s’il s’agit d’un 0 ou d’un 1. Attention, à un instant donné, seule une tête de « lecture/écriture » peut réaliser une opération de lecture ou d’écriture.

Et notre formatage physique dans l’histoire ? Au départ, la surface de chacun des plateaux d’un disque dur est uniforme, comme une feuille blanche de papier A4, avec les parti-cules magnétiques positionnées de manière aléatoires. Or nous savons que par la suite, l’utilisateur va stocker des données que le système d’exploitation devra localiser le mieux possible. Si je reprends mon parallèle avec ma feuille de papier A4, en dessinant dessus un quadrillage avec des lignes et des colonnes, il est facile d’organiser les données que je souhaite écrire, et par conséquent, il est plus facile de les retrouver. Il suffit pour cela de préciser éventuellement la ligne et la colonne où la donnée se trouve. Avec notre disque dur, nous allons appliquer le même principe car je vous rappelle que l’on ne peut pas mélanger les données des milliers de fichiers que l’utilisateur peut placer dessus. Le for-matage physique, également appelé le formatage de bas niveau, permet d’organiser la surface de chacun des plateaux en pistes et secteurs et ce en polarisant, grâce aux têtes de « lecture/écriture » du disque dur, des zones sur chacun des plateaux. Pour cela, les têtes de « lecture/écriture » vont polariser concentriquement la surface des plateaux afin de former des pistes. À chaque fois que la tête d’écriture passe à la piste suivante, elle laisse entre les deux une séparation non polarisée appelé « gap » en anglais. Ensuite, chaque piste est elle-même organisée en secteurs, d’une capacité de 512 octets, séparés également entre eux par des gaps. Le formatage de bas niveau a donc pour but de préparer la surface du disque à accueillir des données en délimitant de petites zones qui pourront plus facilement être repérées (c’est-à-dire créer le quadrillage sur notre feuille de papier). Il ne dépend pas du système d’exploitation et permet en plus, grâce à des tests effectués par le constructeur, de « marquer » les secteurs défectueux.

Page 29: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0131

Remarque

Les pistes sont numérotées depuis la piste la plus externe en partant de 0 et les secteurs, à l'intérieur d'une piste, en partant de 1.

• Dans notre système de repérage (pistes et secteurs), il existe également la notion de « cylindre » Il s’agit de l’ensemble des pistes situées au même niveau sur chacun des plateaux (c’est-à-dire à la verticale les unes des autres). Cette notion vient du fait, que les différentes têtes de lecture / écriture sont montées sur le même support mobile et donc qu’elles n’ont pas un mouvement indépendant. Ainsi lorsqu’une tête se trouve au dessus d’une piste, par exemple le numéro 10, les autres têtes se trouvent obligatoire-ment sur la piste numéro 10 de leur plateau respectif. Le cylindre n°10 est donc formé de l’empilement des pistes n°10 de chaque plateau.

• Chaque secteur commence par une zone réservée aux informations du système appelée préfixe et se termine par une zone appelée le suffixe. Lors du formatage physique, le système y place les coordonnées du secteur ainsi qu'une valeur de contrôle permettant de vérifier si les données lues sur le secteur correspondent aux données qui ont été écrites. Cela permet de contrôler la détérioration du secteur.

O Le formatage physique d’un disque dur se fait en usine. Bien qu’il existe des utilitaires fournis par les constructeurs pour que vous puisiez le faire ou que certains BIOS vous le permette, ne le faites pas car cela peut rendre inutilisable votre disque dur. De toute façon, lorsque vous achetez un disque dur, le formatage physique a déjà été fait.

Le formatage de haut niveau lui par contre dépend du système d’exploitation. En effet, il permet de mettre en place le système de fichiers utilisé par le système d’exploitation que vous allez installer. Rappel : le système de fichiers (FAT, FAT32, NTFS, etc..) détermine la manière dont l’OS va organiser le suivi de l’espace « disque » alloué à vos données, de l’espace libre restant ainsi que la gestion de vos fichiers et répertoires (appelés égale-ment « dossiers ») sur le disque afin de pouvoir y accéder le plus rapidement possible. Le

Page 30: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0132

Séquence 1

formatage de haut niveau se réalise avant l’installation d’un système d’exploitation sur le disque dur à l’aide d’une commande système particulière, liée à l’OS que vous installez (ex : « format » de MS-DOS), ou au cours de l’une des phases de la procédure d’installa-tion de l’OS. Voilà, nous pouvons maintenant refermer la parenthèse et poursuivre notre explication de la notion de partitionnement.

Pour partitionner un disque dur, il faut passer obligatoirement par un utilitaire. Il en exis-te un certain nombre plus ou moins performants comme « fdisk » de MS-DOS/Windows 9.x, « fdisk » de Linux, FreeDisk de FreeDos, « Partition magic » de PowerQuest (racheté fin 2003 par Symantec), « Partition expert » de MicroApplication, ou encore « Partition Manager » de Paragon Software. Cette liste n’est pas exhaustive. Attention, certains sont gratuits, d’autres payants et d’autres encore sont fournis avec le système d’exploitation auquel ils sont rattachés. De même leur mode d’utilisation peut différer d’une version à l’autre. Par exemple, « Fdisk » doit être exécuté à partir d’une disquette bootable.

Prenez garde au fait que si vous modifiez les partitions d’un disque dur après y avoir ins-tallé votre système d’exploitation et vos fichiers de travail, vous perdrez les données de la ou les partitions que vous modifiez. Le logiciel payant « Partition magic » propose, lui, une interface graphique ainsi que de nombreuses options supplémentaires permettant ainsi de préserver les informations qui se trouvent sur des partitions déjà existantes en fonction du nouveau partitionnement. Ce logiciel n’est pas le seul à faire cela mais il est le plus connu. De toute façon avec aucun vous n’êtes sûr que l’opération de partitionnement se passe bien. En conclusion, avant de toucher aux partitions d’un disque dur contenant déjà des données, il faut mieux faire des sauvegardes des données importantes.

Remarque

Sur Internet, vous pouvez trouver des versions d’évaluation de ces différents utilitaires.

Revenons maintenant sur la notion de partition en elle-même. En fait, il existe 3 types de partition qui sont : primaire (également appelée principale), étendue et logique (éga-lement appelée « lecteur logique »). Ces trois types existent indépendamment de tout système d’exploitation. Alors pourquoi ces trois appellations ?

Une partition « primaire », également appelée « principale », est une partition dont le premier secteur, le « secteur de boot », a la possibilité de contenir un « programme de boot » permettant de charger un système d’exploitation. En d’autres termes, une parti-tion « primaire » est prévue pour contenir un système d’exploitation. Sur un disque dur, le BIOS n’est capable de reconnaître, au maximum, que 4 partitions appelées « partition primaire ». Chacune d’elles étant susceptible de contenir un système d’exploitation dif-férent avec son propre système de fichiers. Bien entendu, dans ce cas, cela signifie que chacune d’elles a subit auparavant un formatage logique (formatage de haut niveau), afin de lui permettre de contenir un système de fichiers correspondant au système d’ex-ploitation installé dessus.

Attention toutefois, sur un disque dur, nous avons la possibilité de créer jusqu’à 4 parti-tions primaires mais une seule peut être active à la fois. « Active » signifie que le BIOS, au démarrage de l’ordinateur, ira voir sur le premier secteur de cette partition uniquement si elle contient un programme de boot. Si elle n’en contient pas, un message d’erreur apparaîtra vous indiquant que le disque n’est pas « bootable » (sauf si le BIOS trouve une disquette ou un CD-ROM bootable). Cela implique que la partition active de votre ordinateur doit être celle qui contient le système d’exploitation que vous souhaitez démarrer au lancement de l’ordinateur. Que deviennent les autres partitions primaires si elles existent ? En fonction du système d’exploitation en cours d’exécution, les autres

Page 31: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0133

partitions primaires peuvent être visibles, cachées ou inaccessibles. Bien entendu si ces partitions restent accessibles, il faut que le système de fichiers utilisé sur ces dernières soit compatible avec le système d’exploitation en cours d’exécution afin que l’OS puisse lire les fichiers qui s’y trouvent. Mais au fait, comment peut-on désigner une partition active ? Le choix de la partition active se fait à l’aide des utilitaires de partitionnement comme par exemple « fdisk » ou « Partition magic ».

Revenons-en à la limitation de 4 partitions primaires définie précédemment. Cette limi-tation, si on peut appeler cela une limitation, trouve son origine dans le « Master Boot Record » ou MBR, dont nous avons déjà parlé plus haut dans le cours. En effet, si vous vous rappelez bien, le MBR est situé sur le tout premier secteur d’un disque dur et dis-pose d’une capacité de 512 octets. Il partage son espace entre la table des partitions et un programme (le bootloader) permettant de lire les données de cette table puis de lancer le programme de boot se trouvant éventuellement sur le secteur de boot de la partition active. Effectuons un zoom sur le secteur MBR et observons son contenu.

Nous voyons mieux maintenant pourquoi nous sommes limités à quatre partitions primaires car dans la table des partitions il n’y a que quatre emplacements prévus. Historiquement, les disques durs étaient de petites tailles donc avoir la possibilité de créer beaucoup de partitions n’avait que peu d’intérêt. Aujourd’hui les disques durs ont des capacités de stockage beaucoup plus importantes mais pour des raisons de compati-bilité avec l’existant, on a conservé ce principe de 4 entrées maximum dans la table des partitions tout en essayant quand même de le contourner indirectement en introduisant les notions de partition étendue et de partitions logiques. Un peu de patience nous allons revenir sur ce dernier point plus loin dans le cours pour l’instant, finissons-en avec le MBR. Voici un autre schéma montrant la répartition des 512 octets de ce secteur :

Page 32: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0134

Séquence 1

Et pour finir voici une capture d’écran montrant les octets du « Master Boot Record » d’un disque dur comportant 3 partitions primaires.

Remarque

La visualisation des octets de la MBR est possible en passant par un éditeur hexadécimale comme « Hex Workshop » ou encore «WinHex ». Ces logiciels offrent la possibilité de visua-liser les octets contenus dans un fichier ou dans un programme applicatif, et par extension, ils offrent également la possibilité de consulter les octets d’un secteur particulier d’un disque. C’est pratique pour visualiser voire modifier le contenu du secteur MBR. Vous pouvez trouver ces logiciels ou d’autres en version de démonstration ou en graticiel (freeware) sur Internet.

Avant de poursuivre, éclaircissons le terme « valeur hexadécimale ». Une valeur hexa-décimale est une valeur numérique codée en base 16 (base hexadécimale). Faisons un parallèle avec la base 10 que nous employons tous les jours. Les nombres en base 10 uti-lisent les chiffres de 0 à 9 pour être formalisés. La base 16 (base hexadécimale) utilise les nombres de 0 à 15 qui se représentent avec les chiffres allant de 0 à 9 et des lettres allant de A à F permettant de représenter respectivement les valeurs de 10 à 15. Exemple: la valeur 123 en base 10 se représentera par la valeur hexadécimale « 7B », la valeur 65 en base 10 se représentera par la valeur hexadécimale « 41 », la valeur 255 en base 10 se représentera par la valeur hexadécimale « FF ». Vous trouverez sur Internet et dans la littérature informatique toutes les précisions que vous souhaitez sur l’utilisation de la base hexadécimale ainsi que sur le passage de la base 10 à la base 16 et inversement. C’est pourquoi, nous ne détaillerons pas ici les différents mécanismes de calcul. Sachez

table des partitions

Code d'identification(signature)

Code du programmedu MBR (bootloader)

Traduction de la valeur desoctets de la MBR sous

forme de caractères ASCII

Page 33: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0135

toutefois que pour des raisons de clarté, lorsqu’une valeur est donnée en base hexadéci-male, pour éviter toute confusion, on ajoute « 0x » devant la valeur ou « h » derrière la valeur afin de préciser que la valeur est une valeur en base hexadécimale. Exemple : la valeur 123 en base 10 se représentera par la valeur hexadécimale « 0x7B » ou « 7Bh », la valeur 65 en base 10 se représentera par la valeur hexadécimale « 0x41 » ou « 41h », la valeur 255 en base 10 se représentera par la valeur hexadécimale « 0xFF » ou « FFh ». On préférera la première syntaxe (0x). Maintenant, si on vous donne la valeur 25, vous savez immédiatement qu’il s’agit d’une valeur donnée en base 10 et si on vous donne la valeur 0x25, vous savez immédiatement qu’il s’agit d’une valeur donnée en base 16 et qui vaut donc 37 en base 10 (obtenue avec le calcul : 2*16

1 + 5*16

0 soit 2*16 + 5).

Revenons à notre capture d’écran précédente et analysons la. Au centre, nous pouvons voir apparaître les 512 octets du secteur MBR qui se répartissent en 3 groupes, comme nous l’avons vu dans le schéma du zoom du secteur MBR, à savoir le code du programme MBR (446 octets) correspondant au « bootloader » (bootstrap), les 4 entrées de la table des partitions (4 x 16 Octets) et enfin les deux derniers octets du secteur qui représentent le code d’identification du MBR.

Que représente le code d’identification du MBR ? Comme vous pouvez le constater sur la capture d’écran, le premier des deux octets vaut 0x55 et le deuxième 0xAA.

Le « 0x » placé devant permet de spécifier que la valeur qui suit utilise la base 16).

Cela forme donc la signature 0xAA55. Cette valeur est, pour le secteur MBR, très impor-tante car elle permet de préciser au BIOS que le disque dur a bien été partitionné et que le BIOS trouvera dans ce secteur, le code du programme MBR et la table des partitions. Si cette valeur n’est pas présente, le BIOS ne tentera pas de lire les octets du programme du secteur du « Master Boot Record » et par voie de conséquence ceux de la table des partitions. Pour lui le disque dur est tout simplement non exploitable. Cela implique que pour qu’un disque dur soit exploitable, il faut au moins créer dessus une partition primaire afin que par le biais de cette opération, les octets du secteur MBR soient mis en place à savoir le code du programme MBR, la table des partitions et la signature.

O Peut-être vous êtes vous étonnés de la valeur de la signature qui est 0xAA55 alors que le premier octet a pour valeur 0x55 et le deuxième 0xAA. En fait, les proces-seurs « Intel et compatibles » inversent les octets lors de la lecture d’un mot. Un mot représente deux octets consécutifs. Dans notre exemple, nous sommes justement dans le cadre d’une architecture « Intel et compatibles ». C’est pourquoi, il faut lire la valeur de la signature de la manière suivante : 0xAA55.

Et les octets de la table des partitions que représentent-ils ? Chaque entrée dans la table des partitions comprend 16 octets et contient des informations sur l’une des partitions créées sur le disque dur. Voici la répartition des octets de la table des partitions par rapport à notre capture d’écran des octets du MBR (voir précédemment). Attention, les valeurs sont données en hexadécimale.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1re Entrée 80 01 01 00 06 FE 7F 04 3F 00 00 00 86 FA 3F 00

2e Entrée 00 01 41 05 0B FE BF 08 04 FB 3F 00 C5 BB 3F 00

3e Entrée 00 00 81 09 0C FE FF FF C9 B6 7F 00 FC 86 7C 00

4e Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Dans l’exemple qui correspond à la capture d’écran du MBR, nous avons mis en place trois partitions primaires, c’est pourquoi, les octets de la quatrième entrée sont tous à 0.

Page 34: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0136

Séquence 1

Voici la signification des 16 octets d’une entrée de la table des partitions

N° de l'octetConcerné

SignificationNombre d'octets

concernés

0 Indique si la partition est active ou non. L’octet vaut 0x80 si la partition est active ou 0x00 dans le cas contraire. Nous pouvons observer dans notre exemple, que la première partition est la partition active

1

1 Numéro de la tête de lecture marquant le début de la partition

1

2 et 3 Numéros du secteur et du cylindre marquant le début de la partition

2

4 Type de partition (FAT, FAT32, NTFS…) 1

5 Numéro de la tête de lecture marquant la fin de la partition

1

6 et 7 Numéros du secteur et du cylindre marquant la fin de la partition

2

8, 9, 10 et 11 Distance, en nombre de secteurs, entre la table des partitions (secteur MBR) et le premier secteur de la partition

4

12, 13, 14, et 15 Nombre total de secteurs dans la partition 4

En résumé, nous avons comme informations : l’état de la partition (active : 0x80 ou inactive : 0x00), la position du premier secteur de la partition (Ë secteur de boot de la partition), la position du dernier secteur de la partition, le type de système de fichiers employée pour stocker les fichiers sur cette partition, la distance, en nombre de secteurs, séparant le pre-mier secteur de la partition du secteur MBR et enfin la taille de la partition en secteurs. Toutes ces informations permettent au BIOS ou à un OS de localiser une partition.

Pour mieux comprendre et savoir interpréter les valeurs des octets des entrées de la table des partitions, nous allons essayer d’interpréter la première entrée de la table des partitions de notre exemple. Elle contient les valeurs suivantes :

N° Octet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Valeur Octet 80 01 01 00 06 FE 7F 04 3F 00 00 00 86 FA 3F 00

Voici l’interprétation que nous pouvons faire :

• L'octet 0 contient la valeur 0x80 Ë Il s’agit de la partition active.

• L'octet 1 contient la valeur 0x01 ce qui correspond à la valeur 1 en base 10. La partition commence donc sur la tête n°1.

• Les octets 2 et 3 valent respectivement 0x01 et 0x00. Ils représentent les numéros du cylindre et du secteur du début de la partition. Cependant la lecture de leur valeur respective n’est pas si immédiate que cela. En effet, nous avons à notre disposition 2 octets, représentant chacun 8 bits (c’est-à-dire 8 valeurs binaires 0 ou 1), soit au total 16 bits. L’ensemble de ces 16 bits code le numéro du cylindre et le numéro du secteur avec un partage non équitable, à savoir 10 bits sur les 16 codent le numéro du cylindre et 6 bits sur les 16 codent le numéro du secteur. Voici le découpage que cela donne sachant que les bits sont numérotés à partir de 0 et de droite à gauche.

Page 35: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0137

Numéro du cylindre Numéro du secteur

N° bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Attention, les bits n°6 et 7 sont considérés comme les bits de poids fort pour la partie « numéro du cylindre ». Il faut donc les faire passer devant. Nous obtenons au final le schéma suivant :

Numéro du cylindre Numéro du secteur

N° bit 07 06 15 14 13 12 11 10 09 08 05 04 03 02 01 00

Mettons cela en pratique sur notre exemple. Attention, les processeurs « Intel et compa-tibles » inversent les octets lors de la lecture d’un mot. Un mot représente deux octets consécutifs. Dans notre exemple, nous sommes justement dans le cadre d’une architec-ture « Intel et compatibles ». Ainsi, les deux octets (n°2 et n°3) de notre exemple valant respectivement 0x01 et 0x00 forment le mot 0x0001 (Ë On inverse les valeurs des octets). Traduisons cette valeur en binaire.

N° bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Valeur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Appliquons le découpage vu précédemment afin de distinguer le numéro du cylindre et le numéro du secteur.

Numéro du cylindre Numéro du secteur

N° bit 07 06 15 14 13 12 11 10 09 08 05 04 03 02 01 00

Valeur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Traduisons les valeurs binaires obtenues. Le numéro du secteur où commence la partition est le numéro 1. Le numéro du cylindre où commence la partition est le numéro 0. Au final, la partition commence Cylindre 0, Tête 1, Secteur 1.

le secteur MBR est aux coordonnées Cylindre 0, Tête 0, Secteur 1. Cela nous permet de constater que le premier secteur de la première partition commence 63 secteurs plus loin. Nous reviendrons sur ce détail à la fin de ce paragraphe concernant les partitions.

• L'octet 4 contient une valeur permettant de connaître le type de la partition. Elle peut prendre une valeur parmi celles du tableau suivant :

Valeur (heka) Description

0x00 Vide

0x04 FAT16 (<32Mo)

0x05 Partition étendue

0x06 FAT16 (> 32Mo et <2Go)

0x07 NTFS (NT et XP)

0x0B FAT32

0x0C FAT32x utilisant le mode LBA

Page 36: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0138

Séquence 1

0x0E FAT16 utilisant le mode LBA

0x0F Partition étendue utilisant le mode LBA

0x14 FAT16 (<32Mo) cachée

0x16 FAT16 (>32Mo et <2Go) cachée

0x17 NTFS caché

0x1B FAT32 cachée

0x1C FAT32x utilisant le mode LBA, partition cachée

0x42 Disque dynamique Windows 2000

0x82 Linux, (swap)

0x83 Linux, système de fichier

0x85 Linux étendue

0x8A Linux Kernel

0x93 Linux, système de fichier, cachée

0xA5 FreeBSD

0xA6 OpenBSD

0xA9 NetBSD

0xEB BeOS

Attention cette liste n’est pas exhaustive. Vous pourrez trouver sur Internet l’ensemble des valeurs allant de 0x00 à 0xFF mais la plupart d’entre elles n’ont que peu d’intérêt.

• L'octet 5 contient la valeur 0xFE ce qui correspond à la valeur 254 en base 10. La partition se termine donc sur la tête n°254.

• Les octets 6 et 7 valent respectivement 0x7F et 0x04 ce qui correspond au mot 0x047F. Ils représentent les numéros du cylindre et du secteur de fin de partition. En reprenant le mode de calcul vu précédemment, nous obtenons :

N° bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Valeur 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1

Appliquons le découpage vu précédemment afin de distinguer le numéro du cylin-dre et le numéro du secteur.

Numéro du cylindre Numéro du secteur

N° bit 07 06 15 14 13 12 11 10 09 08 05 04 03 02 01 00

Valeur 0 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1

Traduisons les valeurs binaires obtenues. Le numéro du secteur où se termine la partition est le numéro 63. Le numéro du cylindre où se termine la partition est le numéro 260. Au final, la partition commence Cylindre 0, Tête 1, Secteur 1 et se termine Cylindre 260, Tête 254, Secteur 63.

• Les octets 8, 9, 10 et 11 valent respectivement 0x3F, 0x00, 0x00 et 0x00. Rappel: nous utilisons un processeur « Intel et compatibles ». Nous obtenons 2 mots 0x003F et 0x0000 qu’il faut également inverser entre eux. Au final, nous obtenons le dou-ble mot 0x0000003F. Cette valeur représente la distance, en nombre de secteurs, entre la table des partitions et le premier secteur de la partition. Nous obtenons la

Page 37: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0139

valeur 63. Il y a donc 63 secteurs entre le MBR et le secteur de boot de la première partition.

• Les octets 12, 13, 14 et 15 valent respectivement 0x86, 0xFA, 0x3F et 0x00. Nous obtenons 2 mots 0xFA86 et 0x003F qu’il faut également inverser entre eux. Au final, nous obtenons le double mot 0x003FFA86. Cette valeur représente le nombre total de secteurs dans la partition. Nous obtenons la valeur 4192902. Il y a donc 4192902 secteurs dans cette partition.

Nous pouvons remarquer qu’il y a redondance d’informations parmi celles permettant d’exprimer la position du premier et du dernier secteur d’une partition. En effet, ces informations sont contenues dans les octets 1, 2, 3, 5, 6 et 7 à travers un système de coor-données dit « CHS » (pour Cylinder Head Sector en Anglais) mais aussi dans les octets de 8 à 15 qui fournissent des valeurs permettant de calculer leurs positions respectives par rapport au premier secteur du disque dur (le MBR). Pourquoi deux méthodes de repérage du début et de la fin d’une partition ? Tout simplement parce qu’il existe deux méthodes pour localiser un secteur donné sur un disque dur, le système de coordonnées « CHS » et le mode d’adressage LBA (Logical Block Addressing).

Sans entrer dans le détail, voyons en deux mots ce que sont le système de coordonnées « CHS » et le mode LBA. Commençons par le premier. Précédemment, nous avons défini qu’un disque dur se compose de plateaux encadrés par des têtes de lecture/écriture et que l’opération de formatage de bas niveau permettait de définir, sur le disque, des pis-tes (donc des cylindres) et des secteurs. Le système de coordonnées « CHS » (« Cylinder Head Sector » ou CTS en français pour « Cylindre Tête Secteur ») définit la position d’un secteur sur le disque dur à partir d’un numéro de cylindre, un numéro de tête de lecture/écriture et enfin un numéro de secteur sur une piste. Ainsi, les deux premiers paramè-tres permettent de localiser une piste sur l’un des plateaux, et le dernier, un secteur sur cette piste. Par exemple, le secteur « Master Boot Record » se situe Cylindre 0, Tête 0, (Head 0), Secteur 1. De même, dans notre exemple précédent, concernant les 3 partitions primaires, le secteur de boot de la première partition se trouve aux coordonnées CHS : Cylindre 0, Tête 1, Secteur 1. Le dernier secteur de cette même partition se trouve lui aux coordonnées CHS : Cylindre 260, Tête 254, Secteur 63.

Pourquoi un tel système de coordonnées ? Pour trouver une réponse, il nous faut nous tourner vers le BIOS. Le BIOS, outre le fait de réaliser toutes les tâches dont nous avons déjà parlé, possède un certain nombre de fonctionnalités de base (appelés « interrup-tion ») pouvant être appelées par le système d’exploitation, ou par un programme en cours d’exécution, permettant ainsi de réaliser différentes tâches « systèmes » comme par exemple accéder aux informations d’un disque dur ou d’une disquette, accéder à la mémoire, gérer le clavier, écrire une information à l’écran, etc. Ces fonctionnalités de base sont appelées des interruptions car lorsque l’on fait appel à l’une d’elles, le programme en cours d’exécution est momentanément interrompu afin de dérouler les instructions de la fonction de base appelée. Ensuite, le programme momentanément interrompu reprend son exécution à partir de l’endroit où il a été suspendu. Chaque « interruption » disponible n’est pas repérée par un nom mais par un numéro donné en hexadécimale. Ainsi, l’interruption « 13h » (remarques : 13 en hexadécimale) est l’une des plus importante car elle régit tout accès physique aux disques et offre des options permettant entre autre la lecture, l’écriture, le formatage et la réinitialisation des disques durs. Nous pouvons donc répondre maintenant à notre question posée un peu plus haut. Le système de coordonnées CHS est utilisé par l’interruption « 13h » du BIOS pour atteindre un secteur sur le disque dur afin d’effectuer une opération de lec-ture ou d’écriture. Le BIOS se charge de converser avec le contrôleur du disque afin de réaliser un positionnement physique sur le secteur à partir des coordonnées « CHS ».

Page 38: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0140

Séquence 1

Remarque

le principe de fonctionnement des interruptions est indépendant de tout système d’exploi-tation. Dès qu’un système d’exploitation ou un programme fait appel aux interruptions du BIOS, il doit se plier à leurs modes de fonctionnement.

L’utilisation de la technique des coordonnées CHS a ses limites. Comme nous venons de le voir avec les octets d’une entrée de la table des partitions, le numéro d’une tête se code sur 1 octet et les numéros du secteur et du cylindre se partagent, de manière non équitable, 2 octets. Ce principe de découpage des coordonnées CHS utilisé dans le cadre de la table des partitions est le même que celui employé par l’interruption « 13h » du BIOS donc cela nous donne les mêmes limitations. Mais quelles sont-elles ?

Pour répondre à la question, il nous faut déterminer le nombre maximum de secteurs que nous pouvons gérer par le système de coordonnées CHS. Voici le calcul :

• Le nombre de têtes est codé sur 1 octet (8 bits) ce qui implique que la plus grande valeur que l'on puisse coder est 255 (soit 1111 1111 en binaire) mais comme les numé-ros de tête commencent à 0, nous avons donc 256 valeurs possibles (de 0 à 255).

• Le nombre de cylindres est codé sur 10 bits donc la plus grande valeur que l'on puisse coder est 1023 (soit 11 1111 1111 en binaire) mais comme les numéros de cylindre commencent à 0, nous avons donc 1024 valeurs possibles (de 0 à 1023).

• Le nombre de secteur est codé sur 6 bits donc la plus grande valeur possible est 63. Comme les numéros de secteur commencent à 1, nous avons donc 63 valeurs possi-bles (de 1 à 63).

En résumé, le principe des coordonnées CHS nous permet de gérer au maximum 1024 x 256 x 63 secteurs soit 16515072 secteurs. Cela représente un disque dur de quelle taille ? Un secteur contenant 512 octets, nous avons accès au maximum à 16515072 x 512 = 8455716864 octets soit sensiblement 7,9 Go que l'on peut arrondir à 8 Go.

1 Go représente 1024 Mo (Méga-octet), 1 Mo représente 1024 Ko (Kilo-octet), 1 Ko représente 1024 octets, donc 1 Go représente 1024 x 1024 x 1024 = 1 073 741 824 octets).

Cette limitation n'est plus acceptable aujourd'hui. C'est pourquoi, nous ne parlerons plus de ce système de coordonnées CHS dans la suite Il nous a juste permis de comprendre les principes liés à leur utilisation et à manipuler des calculs bianires.

Avec des disques durs ayant de plus en plus de capacité, il a été nécessaire de trouver un moyen de repousser cette limite de 8 Go. Ainsi est apparu le mode d'adressage LBA (Logical Block Addressing). Dans ce mode, on considère que les secteurs du disque dur concerné sont numérotés de façon linéaire à partir de 0 jusqu’à « N-1 ». (« N » représente le nombre total de secteurs sur le disque dur). Le premier secteur de numéro LBA 0 cor-respond aux coordonnées CHS : Cylindre 0, Tête 0, Secteur 1. Le mode d’adressage LBA utilise des numéros codés sur 28 bits ce qui permet de coder 228 secteurs soit 268435456 secteurs. (Remarque : le codage se fait sur 4 octets soit 32 bits mais les 4 bits de poids forts sont réservés, il n’en reste donc plus que 28 disponibles). Nous pouvons donc disposer au maximum de 268435456 x 512 octets soit 137438953472 octets ou encore 128 Go avec, au maximum, des secteurs numérotés de 0 à 268435455 (rappel: 1Ko = 1024 octets). Attention toutefois pour que le mode LBA soit utilisable, il faut que le BIOS et que le système d’exploitation le prenne en charge ce qui est toujours vrai

Page 39: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0141

aujourd’hui. La norme « LBA » continue à évoluer afin de dépasser la limite des 28 bits et ainsi pouvoir prendre en compte des disques encore plus volumineux. Ainsi depuis 2002, il existe la norme LBA48 qui code le numéro des secteurs sur 48 bits au lieu de 28. Cette norme permet donc de coder 248 secteurs soit 281474976710656 secteurs. Cela permet de gérer 281474976710656 x 512 octets soit 144115188075855872 octets ou encore environ 128 Po (Péta-octets) Ë 1 Po = 1024 To = 1024 x 1024 Go. Cette norme LBA48 nécessite d’avoir un BIOS à jour, d’origine ou après flashage, afin de prendre en charge le LBA48 et un système d’exploitation capable de gérer le LBA48 comme par exemple Windows 2000 depuis le « Service Pack 3 » ou Windows XP depuis son « Service Pack 1 ». Dans certains cas, il faut encore aller dans la base des registres Windows et modifier une clé. Nous reviendrons sur la notion de base des registres dans la séquence 4. Bien entendu les dernières versions de Linux prennent également en charge le LBA48. Je n’en dirais pas plus pour Linux car il faudrait également prendre en compte les distributions utilisées.

Et notre limitation à 4 partitions primaires dans tout ça, finalement peut-on la contour-ner ? Vous vous doutez bien de la réponse ! Oui nous pouvons la contourner mais de manière indirecte. En effet, comme on ne peut pas agir sur le nombre d’entrées dans la table des partitions, il a été défini un type de partition particulier : la partition étendue. Dans la liste des valeurs possibles pour un type de partition (voir octet n°4 de l’entrée d’une partition dans la table des partitions), il a été réservé les valeurs 0x05 et 0x0F pour définir le type « Partition étendue ».

À quoi correspond ce type et qu’apporte-t-il ? Une partition étendue est une partition spéciale dont le seul but est d’être un conteneur pour d’autres partitions appelées « logi-ques » ou « lecteurs logiques ». Attention, au moins une partition logique est nécessaire dans une partition étendue, car nous ne pouvons pas y stocker de données directement contrairement aux partitions primaires. De même, il ne peut exister qu’une et une seule partition étendue sur un disque dur. En résumé, un disque peut contenir au maximum quatre partitions primaires ou trois partitions primaires et une partition étendue. Bien entendu, ceci est un maximum car vous pouvez avoir une seule partition primaire qui utilise la totalité des capacités du disque ou alors une partition primaire avec le système d’exploitation et une partition étendue avec des lecteurs logiques afin d’y placer l’instal-lation des logiciels applicatifs ou encore vos fichiers de données.

Remarque

Pour les fichiers de données, cela peut être intéressant car si pour une raison quelconque, vous devez réinstallez le système d’exploitation, les données, elles, sont protégées et ne seront pas détruites par la réinstallation de l’OS sauf en cas de mauvaises manipulations bien entendu.

En résumé : une partition étendue peut contenir une ou plusieurs partitions logiques (appelées également « lecteurs logiques »). Ces dernières ne peuvent exister sans parti-tion étendue tout comme une partition étendue ne peut être utile que si elle contient au moins une partition logique. Attention, une partition logique est faite plutôt pour contenir des données même si éventuellement elle peut contenir un système d’exploita-tion à la condition que celui-ci puisse être lancé à partir d’un lecteur logique (ex : Linux). Nous reviendrons succinctement sur ce dernier point plus loin dans le cours.

Page 40: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0142

Séquence 1

Remarque

Une partition primaire doit être formatée avant d’être utilisée de même qu’une partition logique, ceci afin que le système d’exploitation actif puisse lire ou stocker des fichiers grâce au système de fichiers mis en place par l’action de formatage. Il faudra donc utiliser un uti-litaire de formatage de haut niveau comme «format.exe » de MS-DOS/Windows ou encore utiliser l’une des fonctionnalités du logiciel de partitionnement utilisé.

Allez, un petit exemple pour mieux visualiser le concept de partition « étendue ». Nous allons considérer que nous avons mis en place un disque dur avec une partition primaire sur laquelle est installé Windows XP Pro avec un système de fichiers FAT32, une autre partition primaire avec un système de fichiers NTFS et une partition étendue composées de trois partitions logiques (lecteurs logiques).

Remarque

Windows XP Pro est capable de visualiser plusieurs partitions primaires mais bien entendu, comme toujours, une seule peut être active à la fois, celle qui contient le boot secteur avec le programme de boot.

Voici un schéma de notre exemple :

Vu sous un autre angle, voici une représentation linéaire de nos partitions avec en plus la liste des noms de lecteurs que nous avons à notre disposition et qui ont été attribués par défaut par Windows XP Pro.

Partition étendue

Partitionprimaire

N°1(Lecteur C)

Partitionprimaire

N°2(Lecteur E)

PartitionLogique

N°1(Lecteur F)

PartitionLogique

N°2(Lecteur G)

PartitionLogique

N°3(Lecteur H)

Et enfin, vu à partir de Windows XP Pro, voici la liste des lecteurs disponibles et le nom de volume attribué à chacune des partitions.

Remarque

Un nom de volume est le nom associé à une partition. Ce nom peut être donné au moment du formatage de haut niveau ou encore à l’aide d’un utilitaire fourni avec l’OS ou non.

Page 41: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0143

La capture d’écran précédente nous montre bien qu’une partition étendue peut contenir des lecteurs logiques mais que du point de l’utilisateur rien ne transparaît. Pour lui, il a accès à plusieurs lecteurs un point c’est tout. Regardons néanmoins avec un éditeur hexadécimale le secteur « Master Boot Record », et plus particulièrement le contenu de la table des partitions, d’un disque dur sur lequel nous avons mis en place les partitions prévues dans le cadre de notre exemple.

À partir de cette capture d’écran, nous pouvons observer que l’octet n°4 de la troisième entrée de la table des partitions contient la valeur 0x0F qui indique qu’il s’agit d’une partition étendue. Nous pouvons observer également que les deux premières entrées de la table des partitions contiennent les informations sur les deux premières partitions pri-maires (l’une en FAT32 et l’autre en NTFS) mais rien sur les partitions « logiques ». Alors comment sont-elles repérées?

Pour répondre à cette question, nous allons nous rappeler l’importance de la notion de « premier secteur ». Le premier secteur d’un disque dur est le MBR. Le premier secteur

Type "Partition étendue"

Page 42: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0144

Séquence 1

d’une partition primaire est le secteur de boot pouvant contenir éventuellement un pro-gramme de boot permettant de lancer le chargement d’un OS. Voici le secteur de boot de notre première partition primaire :

Le premier secteur d’une partition étendue quant à lui n’est pas un secteur de boot mais un secteur dont la structure est identique à celle du secteur MBR. Ce secteur s’appelle « Extended Boot Record » ou EBR. En résumé, il contient la partie des 446 octets réser-vée éventuellement au code d’un programme, la partie des 64 octets réservée aux octets des 4 entrées d’une table des partition et enfin la signature 0xAA55.

En généralisant, la signature 0xAA55 est mise en place pour permettre de spécifier au BIOS et à un OS que le secteur concerné est un secteur spécial (MBR, EBR, secteur de boot). On peut d’ailleurs la visualiser sur la capture d’écran précédente. Si cette signature n’est pas présente, c’est que le secteur ne contient pas les données atten-dues. Il ne faut donc pas supprimer par inadvertance cette signature sous peine de ne plus pouvoir avoir accès correctement aux informations stockées sur le disque).

Voici une capture d’écran montrant le secteur EBR (premier secteur) de la partition éten-due de notre exemple en cours.

Page 43: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0145

Sur cette image de l’EBR, nous pouvons observer que les octets des deux premières entrées de la partie « Table des partitions » contiennent des valeurs. À quoi correspondent-elles ? En fait, les octets de la partie table des partitions de l’EBR ont pour rôle de repérer les partitions logiques via un mécanisme de chaînage que nous allons maintenant mettre en évidence.

Lorsque l’on crée une partition étendue à l’aide d’un utilitaire approprié, celui-ci modifie les octets de l’une des quatre entrées de la table des partitions du secteur MBR afin de mémoriser les informations sur la localisation de la partition étendue ainsi que sa taille. Bien entendu, il lui donne également à ce moment là le type « partition étendue » (voir octet n°4 de l’entrée concernée). Voici un schéma du secteur MBR de notre exemple après avoir mis en place les deux partitions primaires et la partition étendue.

O Nous ne faisons pas apparaître le secteur EBR sur le schéma précédent car comme il n’y a pas encore de partition logique créée, celui-ci ne contient pas d’information précise.

Néanmoins, à partir des informations sur la partition étendue contenues dans le secteur MBR, il est simple de localiser le premier secteur de la partition étendue, à savoir le sec-teur EBR. C’est pourquoi, dès que l’utilisateur crée la première partition logique, notre programme « utilitaire » peut facilement compléter la partie « table des partitions » du secteur EBR et plus précisément la première entrée de cette dernière (les différents octets des entrées de cette table des partitions ont le même rôle que ceux de la table des parti-tions du secteur MBR). Les 16 octets de la première entrée du secteur EBR vont permettre de localiser le début et la fin de notre première partition logique ainsi que son type (FAT, FAT32, NTFS, etc). Tous les autres octets de la table des partitions de l’EBR sont à zéro.

Le premier secteur de la partition logique est un secteur de boot qui peut éventuellement contenir un programme d’amorçage si l’OS installé peut s’exécuter à partir d’une partition logique et si le programme du secteur MBR est capable de lancer l’exécution d’un programme se trouvant dans le secteur de boot d’une partition logique, ce qui n’est pas le cas par défaut.

Page 44: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0146

Séquence 1

Pour la suite du cours, nous allons données le nom EBR1 à ce secteur EBR. Vous allez comprendre pourquoi après. Où en sommes nous par rapport à notre exemple ? Allez un petit schéma.

Que se passe-t-il maintenant si on ajoute une deuxième partition logique ? Notre uti-litaire va alors modifier la deuxième entrée de notre secteur EBR1 afin d’y inscrire les informations permettant de localiser le début et la fin de la portion de partition étendue dans laquelle la deuxième partition logique est créée. Cette portion de partition étendue commence en général à la suite du dernier secteur de la partition logique précédente et son premier secteur est de nouveau un secteur EBR que nous allons appeler EBR2 afin de mieux nous repérer. La première entrée de la zone de la table des partitions du secteur EBR2 va à son tour contenir les informations permettant de localiser le début et la fin de la partition logique n°2. Les autres octets de la table des partitions du secteur EBR2 sont à 0. Vite un schéma.

Page 45: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0147

En généralisant le mécanisme des secteurs EBR, nous pouvons dire que seules les deux premières entrées de la table des partitions de ces derniers sont susceptibles de contenir des informations. La première permet de localiser le début et la fin d’un lecteur logique ainsi que son type (FAT, FAT32, NTFS, etc). La deuxième permet de localiser le début et la fin de la portion de partition étendue qui contient le lecteur logique suivant s’il en existe un. Bien entendu, cette portion comprend à son tour, en tant que premier secteur, un secteur EBR qui reprend les notions précédentes. Pour un secteur EBR donné, s’il n’existe pas de lecteur logique suivant, tous les octets de la deuxième entrée sont à 0. Ce méca-nisme que nous venons de décrire est un mécanisme de chaînage. Le début du chaînage est repéré par l’intermédiaire de l’une des entrées de la table des partitions du secteur MBR qui permet de localiser le premier secteur de la partition étendue (premier secteur EBR). La fin du chaînage est repérée par le fait que tous les octets, de la deuxième entrée de la table des partitions du dernier secteur EBR, sont à 0. Dans le cas où une partition étendue est créée sans partition logique à l’intérieur, le secteur EBR que l’on atteint à partir de la table des partitions du secteur MBR ne contient pas la signature 0xAA55 ce qui permet d’indiquer au BIOS ou à un OS que le secteur EBR ne contient pas les données attendues ce qui est normal puisque qu’il ne localise aucune partition logique. Remarque : les octets des deux dernières entrées de la table des partitions d’un secteur EBR seront toujours à 0 car ils n’ont aucune utilité précise.

Page 46: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0148

Séquence 1

Voici le dernier secteur EBR de notre exemple

Remarque

Lorsque la deuxième entrée d’un secteur EBR contient des informations permettant de localiser la portion de partition étendue contenant la partition logique suivante, l’octet n°4 marquant le type de la partition repérée contient le type «Partition étendue ». Voici les valeurs de la table des partitions du secteur EBR1 de notre exemple en cours.

Page 47: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0149

Au final, notre exemple en cours nous donne le chaînage suivant :

Sec teur MBR

Entrée n°1 (Primaire)

Entrée n°2 (Primaire)

Entrée n°3 (Etendue)

Code Programme

Signature 0xAA 55

Partition pr ima ir e

Autres secteur s de la parti tion primaire

Sec teur de boot

Partition primaire

Autres secteur s de la parti tion pr imaire

Sec teur de boot

Faisons-en une représentation linéaire ;

Page 48: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0150

Séquence 1

Précision : dans le schéma, chaque ligne avec une flèche représente une entrée dans la table des partitions du secteur MBR ou d’un secteur EBR. L’accolade représente le début et la fin de la zone repérée par l’une des entrées de la table des partitions considérée.

Remarque

Les secteurs vides matérialisés sur le schéma précédent, sont dus au fait que les utili-taires de partitionnement font toujours commencer une partition sur le premier secteur d’une piste. Ainsi, ils laissent tomber les secteurs qui suivent le secteur MBR ou EBR et qui se trouvent sur la même piste que ce dernier. Cela correspond à 62 secteurs perdus. Rappel : une piste contient 63 secteurs.

Avant d’en terminer avec notre voyage au cœur de la notion de partition, nous allons ajouter un petit commentaire sur le programme contenu dans le secteur MBR. Par défaut, comme nous l’avons déjà dit, celui-ci est conçu pour lancer le programme de boot de la partition active. Cependant, rien empêche un développeur chevronné, un programme utilitaire, le programme d’installation d’un OS ou encore un virus, de modifier le code du secteur MBR. Pourquoi modifier ce code ? Dans le cas d’un virus, on peut facilement imaginer que le but est de poser des problèmes à un utilisateur en empêchant par exemple le BIOS de booter sur le disque dur ou encore de lire les données de la table des partitions du MBR. Pour un développeur chevronné, cela peut permettre de personnaliser le boot ou de le rendre plus performant. Dans le cas d’un OS, cela peut permettre de mettre en place un programme capable de lancer un programme de boot se trouvant sur le secteur de boot d’une partition logique au lieu de celui se trouvant sur le secteur de boot d’une partition primaire. Bien entendu, il faut dans ce cas que l’OS soit capable de fonctionner à partir d’une partition logique. Enfin, il existe un cas pour lequel la possibilité de modifier le code du programme MBR prend tout son intérêt : le multiboot. Au début du paragraphe concernant les partitions, nous avons parlé de la possibilité d’installer plusieurs systèmes d’exploitation sur le même ordinateur puis du moyen de booter sur l’un ou l’autre en modifiant, à l’aide d’un utilitaire de partitionnement, la partition active. Cette solution n’est pas forcément une solution simple. Heureusement, il existe une autre solution qui consiste à remplacer le code du MBR par un programme dit de « multiboot ». Ce programme permet d’afficher un menu à partir duquel l’utilisateur va désigner le système d’exploitation de démarrage. Bien entendu les différents

Page 49: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0151

OS doivent avoir été préalablement installés sur l’ordinateur. Il existe différents programmes de multiboot. Linux propose LILO (LInux Loader) ou encore GRUB. Windows NT/2000/XP pro-posent NTLoader. Il existe également des utilitaires comme « System Commander », « Boot Magic » inclus dans « Partition Magic » ou encore XOSL. Ces utilitaires disposent d’une procé-dure d’installation qui se charge de l’installation du programme de multiboot dans le MBR.

Remarque

Ces programmes peuvent dépasser les 446 octets du secteur MBR car comme nous l’avons déjà précisé précédemment, une partition commence toujours au début d’une piste ce qui laisse des secteurs libres derrière les secteurs MBR ou EBR que le programme de multiboot peut utiliser à son profit. Ainsi derrière le secteur MBR, on dispose de 62 secteurs de 512 octets en plus des 446 octets du secteur MBR. Cela laisse environ 32 Ko de disponible.

Page 50: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 015353

Application

Décryptage d’une table des partitionsPour faire cette exercice d’application, vous aurez besoin de faire des conversions de valeurs entre hexadécimale, base 10 et binaire. Pour vous aider, vous pouvez utiliser la calcula-trice de Windows que vous atteigniez en passant par [Démarrer] [Programmes] [Accessoires] [Calculatrice]. Une fois la calculatrice affichée, passez en affichage « scientifique ». Ensuite l’utilisation est simple. Il suffit de sélectionner la nature de la valeur que vous allez saisir (Hex, Dec,, Oct, Bin) puis vous saisissez la valeur et enfin vous cliquez sur le type de conversion à effectuer (Hex, Dec, Oct, Bin). Remarque : le type « Dec » correspond à la base 10.

Question 1Vous allez découvrir ci-après, une table des partitions extraite du secteur MBR d’un disque dur. À partir des valeurs contenues dans le tableau précédent, indiquez le nombre de partitions créées sur le disque dur puis donnez toutes les informations que l’on peut déduire sur chacune des partitions définies même les informations CHS. Les valeurs des octets sont en hexadécimale.

Remarque : nous sommes dans une architecture « Intel et compatibles ».

N° octet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ère Entrée 00 01 01 00 06 FE 7F 04 3F 00 00 00 86 FA 3F 00

2ème Entrée 80 00 41 05 0B FE FF 58 C5 FA 3F 00 54 19 92 00

3ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Question 2Vous allez découvrir ci-après, une série de captures d’écran montrant le contenu de diffé-rents secteurs d’un disque dur. Vous trouverez, en dessous de chacune des captures d’écran, le numéro du secteur associé à l’image. À partir du contenu de ces différentes captures d’écran, vous allez essayer de dessiner (de cartographier) les partitions du disque dur concerné. Pour cela, à partir de la valeur de certains octets contenus dans les différentes captures d’écran précédentes, déduisez-en la manière dont a été partitionné le disque dur de l’ordinateur, à savoir s’il y a des partitions « primaire », « étendue » et « logique ». Puis, toujours à partir de la valeur de certains octets contenus dans les différentes captures d’écran précédentes, calculez le numéro de secteur associé aux différents secteurs importants (MBR, Secteur de boot, EBR, Secteur de boot de lecteur logique) ainsi que la taille en secteurs des différentes partitions. Vous justifierez vos réponses et vous ferez, en conclusion, un schéma sur lequel vous dessinerez les différentes partitions ainsi que les secteurs importants. Sur ce schéma vous porterez également le type des partitions (FAT, FAT32, NTFS), le n° de secteur des secteurs importants et la taille des partitions en secteurs. Attention, petit piège, toutes les captures d’écran ne sont pas forcément utiles pour répondre à la question mais le numéro de secteur porté sur certaines d’entre elles peut vous permettre de contrôler la validité de vos calculs.

Page 51: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0154

Remarques pour vous aider :

• Vous ne vous occuperez pas des octets donnant des informations sur les coordonnées CHS.

• Dans le cadre d'une partition primaire, les octets n°8 à 11, de l'entrée de la table des partitions associée, permettent de calculer la distance en nombre de secteurs entre la table des partitions, donc le secteur MBR, et le premier secteur de la partition primaire. Ces informations nous permettent d'en déduire le numéro de secteur du premier sec-teur de la partition puisque l'on connaît le numéro du secteur MBR.

• Dans le cadre de la table des partitions d'un secteur EBR, les octets n°8 à 11 de la pre-mière entrée permettent de calculer la distance en nombre de secteurs entre la table des partitions contenue dans le secteur EBR associé à la partition logique considérée et le premier secteur de cette partition logique. Par contre, les octets n°8 à 11 de la deuxième entrée d'un secteur EBR, si elle existe, donne la distance en nombre de secteurs entre le secteur EBR gérant la partition logique suivante et le premier secteur de la partition « étendue ». Allez faisons un schéma pour mieux comprendre les explications.

Sur ce schéma, le secteur noté EBR1 est le premier secteur de la partition « éten-due ». Ainsi, les octets n°8 à 11 de la première entrée permettent de connaître la distance en nombre de secteurs d'avec le secteur de boot de la première partition logique et les octets n°8 à 11 de la deuxième entrée permettent de connaître la distance en nombre de secteurs d'avec le secteur EBR2 gérant la deuxième parti-tion logique. Passons au secteur EBR2, Les octets n°8 à 11 de la première entrée permettent de connaître la distance en nombre de secteurs d'avec le secteur de boot de la deuxième partition logique et les octets n°8 à 11 de la deuxième entrée permettent de connaître la distance en nombre de secteurs entre le secteur EBR1 (point A), qui est le secteur EBR de la partition « étendue », et le secteur EBR3 (point B) gérant la troisième partition logique. Le principe se répète ainsi de suite.

Voici les différentes captures d’écran (page suivante) annoncées au début de la question :

Page 52: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 015555

Image 1 : secteur n°0

Image 2 : secteur n°1

Page 53: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0156

Image 3 : secteur n°2

Image 4 : secteur n°63

Page 54: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 015757

Image 5 : secteur n°64

Image 6 : secteur n°30780540

Page 55: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0158

Image 7 : secteur n°30780603

Page 56: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 015959

Image 8 : secteur n°47568465

Image 9 : secteur n°47568528

Image 10 : secteur n°47568530

Page 57: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0160

Image 11 : secteur n°69689970

Image 12 : secteur n°69690033

Page 58: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 016161

Question 3

Complétez le tableau suivant en précisant à quel type de secteur (MBR, Secteur de boot, EBR) chacune des 12 images (captures d’écran) précédentes correspond. Si l’une des images corres-pond à un secteur n’ayant aucune particularité précise dans le cadre de l’exercice, vous l’indi-querez dans le tableau avec la mention « Secteur non utile dans le cadre de l’exercice ».

Numéro d’image Commentaires

Image 1

Secteur MBR. Le secteur n°0 est le secteur principal permettant d’avoir des informations sur le partitionnement d’un disque dur. Il contient également un programme, le bootloader, permettant de lancer éventuellement le programme de boot d’un OS.

Image 2

Image 3 Secteur non utile dans le cadre de l’exercice

Image 4

Image 5

Image 6

Image 7

Image 8

Image 9

Image 10

Image 11

Image 12

Page 59: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Corrigé

8 3999 TG PA 016363

Question 1En analysant la table des partitions précédente, nous pouvons voir que seulement deux des 4 entrées contiennent des valeurs. Cela implique que notre disque dur se compose de deux partitions. Pour en connaître la nature, il faut interpréter la valeur de l’octet n°4. Cela nous donne la valeur hexadécimale 0x06 pour la première et la valeur 0x0B pour la deuxième. La première partition est donc une partition primaire de type FAT16 et, la deuxième, une par-tition primaire de type FAT32. En poursuivant l’analyse, nous pouvons observer que, l’octet n°0 de la deuxième entrée de la table des partitions vaut la valeur hexadécimale 0x80. La partition active est donc la deuxième.Voyons maintenant les octets concernant la localisation de la première partition. Ces octets sont dans la première entrée de la table des partitions. Rappel : les octets n°1, 2 ,3 per-mettent, en mode CHS, de localiser le début de la partition. Ainsi l’octet n°1 vaut, en hexadécimale, la valeur 0x01 Le numéro de la tête de lecture/écriture marquant le début de la partition est la tête n°1. Les octets n°2 et 3 valent respectivement 0x01 et 0x00. Attention, les processeurs « Intel et compatibles » inversent les octets lors de la lecture d’un mot. Un mot représente deux octets consécutifs. Dans notre exercice, nous sommes justement dans le cadre d’une architecture « Intel et compatible ». Ainsi, les deux octets (n°2 et n°3) valant respectivement 0x01 et 0x00 forme le mot 0x0001 (Ë On inverse les valeurs des octets). Traduisons cette valeur en binaire.

N° bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Valeur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Valeur Octet n° 3 Valeur Octet n° 2

Appliquons le découpage vu dans le cours afin de distinguer le numéro du cylindre et le numéro du secteur. Cela nous donne :

Numéro du cylindre Numéro du secteur

N° bit 07 06 15 14 13 12 11 10 09 08 05 04 03 02 01 00

Valeur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

Traduisons les valeurs binaires obtenues. Le numéro du secteur où commence la partition est le numéro 1. Le numéro du cylindre où commence la partition est le numéro 0. Au final, la partition commence Cylindre 0, Tête 1 (Head 1), Secteur 1.De la même manière, les octets n°5, 6 ,7 permettent, en mode CHS, de localiser la fin de la partition. Voyons cela.L’octet n°5 vaut, en hexadécimale, la valeur 0xFE Le numéro de la tête de lecture/écriture marquant la fin de la partition est la tête n°254.Les octets n°6 et 7 valent respectivement 0x7F et 0x04. Nous obtenons en binaire et après inversion des octets :

N° bit 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Valeur 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1

Valeur Octet n°7 Valeur Octet n°6

Page 60: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0164

Appliquons le découpage vu précédemment afi n de distinguer le numéro du cylindre et le numéro du secteur.

Numéro du cylindre Numéro du secteur

N° bit 07 06 15 14 13 12 11 10 09 08 05 04 03 02 01 00

Valeur 0 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1

Traduisons les valeurs binaires obtenues. Le numéro du secteur où termine la partition est le numéro 63. Le numéro du cylindre où termine la partition est le numéro 260. Au final, la partition termine Cylindre 260, Tête 254 (Head 254), Secteur 63.

Les octets n°8 à 11 de la première entrée représentent la distance, en nombre de secteurs, entre la table des partitions et le premier secteur de la partition. Les octets ont respective-ment pour valeur en hexadécimale 0x3F, 0x00, 0x00, 0x00. Nous sommes dans le cadre d’un processeur « Intel et compatibles », nous obtenons donc deux mots 0x003F et 0x0000 qu’il faut ensuite inverser entre eux pour les mêmes raisons que précédemment. Nous obtenons donc au final la valeur 0x0000003F. Cette valeur représente le nombre de secteurs qui sépa-rent la MBR et le premier secteur de la partition. Nous obtenons la valeur décimale (en base 10) de 63. La distance est donc de 63 secteurs. Le premier secteur, le secteur de boot, de cette partition est situé au numéro 63. En effet, si on se décale de 63 positions en partant du secteur n°0 (le secteur MBR), on arrive au secteur 63.

Poursuivons avec les octets de 12 à 15 qui représentent le nombre total de secteurs de la par-tition et qui valent respectivement en hexadécimale 0x86, 0xFA, 0x3F, 0x00. Nous obtenons donc deux mots 0xFA86 et 0x003F qui nous donne au final la valeur hexadécimale suivante : 0x003FFA86. Cela correspond à la valeur en base 10 de 4192902. La taille de la partition est donc de 4192902 secteurs. Allons plus loin, même si cela n’est pas demandé dans la question, si le premier secteur de la partition est le n°63 et que la partition a une taille de 4192902 secteurs, le dernier secteur se trouve au n° 4192964 Ë 63 + 419202 -1 Ë On fait -1 car le secteur n°63 est déjà comptabilisé dans le 419202 secteurs.

Avec le même procédé de calcul, avec la deuxième entrée de partition, nous obtenons les informations suivantes :

– la deuxième partition commence en Cylindre 261, Head 0, Secteur 1 et se termine Cylindre 856, Head 254, Secteur 63 ;

– la distance, en nombre de secteurs, entre la table des partitions et le premier secteur de la deuxième partition est de 4192965 secteurs. Le premier secteur, le secteur de boot, de cette partition est situé au numéro. 4192965. La taille de cette par-tition est de 9574740 secteurs. Le dernier secteur se trouve donc au numéro 4192965 + 9574740 – 1 Ë 13767704.

RésuméPremière partition Type FAT16

Partition non activeDébut : Cylindre 0, Head 1, Secteur 1Fin : Cylindre 260, Head 254, Secteur 63.Distance d’avec le secteur MBR : 63 secteursTaille en secteurs : 4192902

Deuxième partition Type FAT32Partition activeDébut : Cylindre 261, Head 0, Secteur 1Fin : Cylindre 856, Head 254, Secteur 63Distance d’avec le secteur MBR : 4192965 secteursTaille en secteurs : 9574740

Page 61: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 016565

Question 2

Pour répondre à cette question, il faut commencer par analyser la table des partitions de la MBR soit le secteur 0. Attention, dans la suite, je ne reprends pas tous les calculs que nous avons déjà ré-explicité dans la correction de l’exercice précédent. De la table des partitions de la MBR, nous obtenons les informations suivantes :

N° Octet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ère Entrée 80 01 01 00 0C FE FF FF 3F 00 00 00 3D AC D5 01

2ème Entrée 00 00 C1 FF 0F FE FF FF 7C AC D5 01 D1 36 F5 02

3ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Deux entrées sont remplies. L’octet n°0 de la première entrée nous informe qu’il s’agit de la partition active (valeur 0x80) et l’octet n°4 qu’il s’agit d’une partition primaire de type FAT32. Quant à la deuxième entrée, l’octet n°4 nous informe qu’il s’agit d’une partition étendue.

Les octets 8 à 11 de la première entrée nous informe que la distance entre la MBR et le pre-mier secteur de la partition est de 63 secteurs. Le premier secteur d’une partition primaire est le secteur de boot de la partition. Il a donc pour numéro de secteur le numéro 63. (Petit rappel : les secteurs sont numérotés à partir de 0). Les octets 12 à 15 nous donne la taille de cette partition. Celle-ci est de 30780477 secteurs. Cette valeur est obtenue en traduisant la valeur hexadécimale 0x01D5AC3D en base 10.

Les octets 8 à 11 de la deuxième entrée nous informe que la distance entre la MBR et le pre-mier secteur de la deuxième partition est de 30780540 secteurs. Cette valeur est obtenue en traduisant la valeur hexadécimale 0x01D5AC7C. Le premier secteur de la deuxième partition, qui est une partition étendue, se trouve donc au numéro 30780540. Les octets 12 à 15 de la deuxième entrée nous donne la taille de cette partition. Celle-ci est de 49624785 secteurs. Cette valeur est obtenue en traduisant la valeur hexadécimale 0x02F536D1 en base 10.

Le premier secteur de la deuxième partition que nous venons de localiser précédemment est le secteur EBR de la partition étendue. Il faut donc consulter la table de partition de ce secteur EBR pour localiser la partition logique qu’elle référence mais aussi savoir s’il y a d’autres partitions logiques. Voici les valeurs de la table des partitions de ce secteur EBR. Nous appellerons ce secteur EBR1 pour faciliter la suite de la correction.

N° Octet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ère Entrée 00 01 C1 FF 0B FE FF FF 3F 00 00 00 96 29 002 01

2ème Entrée 00 00 C1 FF 05 FE FF FF D5 29 00 01 21 8C 51 01

3ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

La première entrée, de cette table des partitions de l’EBR, et plus précisément les octets n°8 à 11, donne la distance entre le secteur EBR1 et le premier secteur de la partition logique. La valeur hexadécimale trouvée est 0x0000003F ce qui correspond à la valeur 63 en base 10. Sachant que le secteur EBR1 se trouve au numéro 30780540, il suffit de se décaler de 63 secteurs pour trouver le numéro du premier secteur de la partition logique. Ainsi, le premier secteur de la partition logique a pour numéro : 30780540 + 63 = 30780603.

Page 62: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0166

Le premier secteur de la partition logique est le secteur de boot de cette partition.Déterminons maintenant la taille de cette partition en consultant la valeur hexadécimale contenue dans les octets n°12 à 15. Cette valeur vaut 0x01002996 Ë 16787862 en base 10. La partition logique a une taille de 16787862 secteurs. Enfin pour connaître le type de la partition logique, nous consultons l’octet n°4 de la première entrée qui contient la valeur 0x0B, ce qui indique que la partition est de type FAT32.

La deuxième entrée de cette même table des partitions de l’EBR1 n’est pas vide. Il y a donc une suite. L’octet n°4 de cette deuxième entrée vaut 0x05 ce qui signifie bien que la partition repérée est une partition étendue contenant un autre lecteur logique. Calculons la position du premier secteur de cette partition « étendue » trouvée ce qui correspondra au secteur EBR, que nous appellerons EBR2, contenant la table des partitions pour ce deuxième lecteur logique. Les octets n°8 à 11 pour cette deuxième entrée de l’EBR1 nous donne la valeur 0x010029D5 soit 16787925 en base 10. Pour trouver le numéro de secteur de EBR2, nous prenons le numéro de secteur de l’EBR1 soit 30780540 que nous décalons de 16787925 positions. Nous obtenons 30780540 + 16787925 Ë 47568465. Le secteur EBR2 se trouve donc au numéro 47568465.Voici les valeurs de la table des partitions de ce secteur EBR2.

N° Octet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ère Entrée 00 01 C1 FF 07 FE FF FF 3F 00 00 00 E2 8B 512 01

2ème Entrée 00 00 C1 FF 05 FE FF FF F6 B5 51 02 DB 80 A3 00

3ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

De la première entrée de cette table des partitions, nous pouvons déduire que le premier secteur de la partition logique se trouve à 63 secteurs du secteur EBR2. Le secteur EBR2 se trouvant au numéro 47568465, le secteur de boot de la deuxième partition logique se trouve au numéro 47568465 + 63 Ë 47568528. Cette deuxième partition logique à une taille de 22121442 secteurs et elle est de type NTFS (voir octet n°4). La deuxième entrée de cette même table des partitions de l’EBR2 n’est pas vide. Il y a donc une suite. L’octet n°4 de cette deuxième entrée vaut 0x05 ce qui signifie bien que la partition repérée est une partition étendue contenant un autre lecteur logique. Calculons la position du premier secteur de cette partition « étendue » trouvée ce qui correspon-dra au secteur EBR, que nous appellerons EBR3, contenant la table des partitions pour ce troisième lecteur logique. Les octets n°8 à 11 pour cette deuxième entrée de l’EBR2 nous donne la valeur 0x0251B5F6 soit 38909430 en base 10. Pour trouver le numéro de secteur de EBR3, nous prenons le numéro de secteur de l’EBR1 soit 30780540 que nous décalons de 38909430 positions. Nous obtenons 30780540 + 38909430 Ë 69689970. Le secteur EBR3 se trouve donc au numéro 69689970. Voici la table des partitions du secteur EBR3.

N° Octet 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ère Entrée 00 01 C1 FF 0B FE FF FF 3F 00 00 00 9C 80 A3 00

2ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

3ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4ème Entrée 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

De la première entrée de cette table des partitions, nous pouvons déduire que le premier secteur de la partition logique se trouve à 63 secteurs du secteur EBR3. Le secteur EBR3 se trouvant au numéro 69689970, le secteur de boot de la troisième partition logique se trouve au numéro 69689970 + 63 Ë 69690033. Cette troisième partition logique à une taille de 10715292 secteurs et elle est de type FAT32 (voir octet n°4).La deuxième entrée du secteur EB3 étant vide, il n’y a plus d’autre lecteur logique.

Page 63: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 016767

Voici le schéma fi nal de la cartographie du disque dur concerné par les captures d’écran de l’exercice.

Page 64: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0168

Question 3Voici le tableau complété

Numéro d’image Commentaires

Image 1

Secteur MBR. Le secteur n°0 est le secteur principal permettant d’avoir des informations sur le partitionnement d’un disque dur. Il contient également un programme, le bootloader, permettant de lancer éventuellement le programme de boot d’un OS.

Image 2 Secteur non utile dans le cadre de l’exercice

Image 3 Secteur non utile dans le cadre de l’exercice

Image 4 Secteur de boot de la partition primaire

Image 5 Secteur non utile dans le cadre de l’exercice

Image 6 Secteur EBR de la partition « étendue » (EBR1)

Image 7 Secteur de boot de la première partition logique

Image 8 Secteur EBR concernant la deuxième partition logique (EBR2)

Image 9 Secteur de boot de la deuxième partition logique

Image 10 Secteur non utile dans le cadre de l’exercice

Image 11 Secteur EBR concernant la troisième partition logique (EBR3)

Image 12 Secteur de boot de la troisième partition logique

Page 65: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0169

7. Système d’exploitation et le travail en réseau

Dans ce paragraphe, nous allons mettre en avant quelques notions de base sur le fonc-tionnement des réseaux du point de vue des systèmes d’exploitation. Attention, nous n’allons pas entrer dans le détail du fonctionnement des réseaux, car ce n’est pas le but de ce support consacré aux généralités sur les systèmes d’exploitation, mais nous allons donner le vocabulaire dont nous aurons besoin dans ce cadre.

7A. Évolution de l’architecture informatique des entreprises

Dans notre présentation sur les systèmes d’exploitation, nous avons eu l’occasion de mettre en avant différents modes de fonctionnement comme les systèmes monotâche ou multitâches, mono-utilisateur ou multi-utilisateurs. Dans ce dernier cas, nous avons indiqué que cela offrait la possibilité à plusieurs personnes de travailler les unes à la suite des autres sur le même poste informatique mais également de pouvoir partager des ressources machines, voire logiciels dans le cas des architectures « Clients/Serveurs », au travers d’un ensemble d’ordinateurs placés dans un réseau. Ah le réseau, maître mot aujourd’hui ! Comment pourrions nous définir ce terme ?Voici une défi nition possible : un réseau est un regroupement d’ordinateurs reliés entre eux au travers d’un assemblage de composants électroniques (carte réseau, hub, switch, routeur, etc), de câbles et de logiciels spécialisés afi n de permettre à ces ordinateurs de communiquer ensemble pour échanger des données ou partager des ressources matériels (imprimante, disque, etc).

Mais avant d’en arriver à une architecture de réseau local tel que l’on peut la voir et l’utiliser aujourd’hui, il a fallu faire évoluer l’architecture informatique des entreprises. En effet, dans les années 70, l’informatique est centralisée autour de gros systèmes propriétaires avec un OS propriétaire, capables de gérer un grand nombre d’utilisateurs. Chaque utilisateur dispose d’un terminal (ensemble clavier/écran) dépourvu d’unité centrale et permettant d’envoyer vers un ordinateur « central » (un « mainframe ») des caractères saisis au clavier et affi cher les réponses de ce dernier à l’écran. Vous comprenez facilement que l’ordinateur central doit donc être pourvu d’une importante puissance de calcul et de traitement afi n de supporter la charge de travail de l’ensemble des applications en cours d’exécution de tous les utilisateurs. Ces « gros systèmes » ont pour vocation de gérer l’information de toute une entreprise nationale voire internationale. On les trouve dans de grandes compagnies comme les banques, les assurances ou encore les services de réservation. L’ordinateur central (le mainframe) se compose de différents éléments occupant parfois un espace de quelques dizaines de mètres carrés et doit utiliser un système d’exploitation adapté.

Remarque

Un système d’exploitation « propriétaire » ou « exclusif » est un OS qui ne peut s’exécuter que sur un seul type d’ordinateur et qui est conçu est vendu par le constructeur de cet ordinateur.

Vers le milieu des années 70, sont apparus des ordinateurs ayant une capacité de traitement plus limitée conçus pour gérer les données d’une entreprise moyenne ou d’un département d’une grande entreprise. Ces systèmes, moins chers, sont amenés à échanger des informations avec un ordinateur central (un mainframe) ou avec d’autres ordinateurs d’autres départements de l’entreprise. À cette occasion, la logique de fonc-tionnement des ordinateurs a dû être repensée. Ainsi, sont nés des systèmes d’exploita-tion plus « ouverts » capables de communiquer avec d’autres systèmes créés par d’autres constructeurs. On voit à cette époque arriver le système UNIX.

Page 66: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0170

Séquence 1

Comme nous en avons parlé au tout début de ce support, les années 80 ont vu naître l’ordinateur personnel (le « PC » d’IBM) avec MS-DOS. Ces ordinateurs sont conçus pour être produits à plus faible coût et pour être utilisés par une seule personne sans avoir besoin de solliciter le service informatique pour faire fonctionner une application ou pour obtenir le résultat d’un calcul ou d’une recherche. Ces micro-ordinateurs ont à ce titre commencer à envahir les entreprises pour palier la lourdeur de fonctionnement des architectures décrites précédemment. De plus, ils commencent à disposer d’une offre « logiciel » importante et souvent très sophistiquée ce qui en a vite fait l’élément de travail incontournable pour les entreprises au détriment du partage des données entre collaborateurs.

Cependant, petit à petit, les utilisateurs de PC en entreprise ont souhaité avoir la possibilité de mettre en commun leur travail avec d’autres personnes de l’entreprise ou atteindre des ressources installées sur d’autres ordinateurs comme les imprimantes par exemple. De plus, la nécessité d’intégrer les micro-ordinateurs dans le système informatique global de l’entreprise, afi n d’accéder à des données se trouvant sur des ordinateurs centraux ou départementaux voire sur d’autres micro-ordinateurs, ont amené la logique de travail individuel à migrer vers une logique de travail en groupe. La notion de réseaux locaux fut la réponse trouvée à ce besoin de fédérer les ressources informatiques de l’entreprise. Ainsi dans les années 90, les systèmes d’exploitation ont évolué pour que les micro-ordinateurs puissent s’ouvrir aux partages des ressources. Il y a, ou il y a eu, Windows 3.11 for workgroup, Windows 95 et sa suite, Windows NT et sa suite, Novell, UNIX, Linux et bien d’autre encore. D’abord simple module ajouté à un système d’exploitation existant, le module réseau fait partie aujourd’hui, de manière pleine et entière, du package de base d’un système d’exploitation.

Dans ce contexte, la puissance du système informatique global est répartie sur autant de petits systèmes capables de coopérer et de dialoguer pour assurer cohérence et sécurité de l’ensemble. Prenez l’exemple du réseau « Internet ».

Aujourd’hui, suite à toute l’évolution décrite précédemment, on défi nit différents types de réseau avec les sigles suivants :

• LAN (Local Area Network) : il s'agit d'un réseau local limité à un bâtiment ou a quel-ques centaines de mètres. C'est ce que nous trouvons le plus communément.

• MAN (Metropolitan Area Network) : il s'agit d'un réseau à l'échelle d'une ville.

• WAN (Wide Area Network) : réseau à grande échelle comme par exemple « Internet ».

Chacun de ces types de réseau met en œuvre différents types de composants informatiques plus ou moins complexes, différents types de câblage (exemple : la paire torsadée ou encore la fi bre optique) ou de mode de communication (direct, par ligne téléphonique, par onde, par satellite) mais également de systèmes d’exploitation permettant de piloter le tout.

Aujourd’hui, nous nous retrouvons donc dans un monde de réseaux hétérogènes et qui doivent pourtant communiquer de manière cohérente. Les réseaux se doivent d’être ouvert et ce de manière totalement transparente pour les utilisateurs. En effet, je ne dois pas avoir besoin de connaître la structure d’un réseau distant (type d’ordinateurs, OS installé dessus) pour communiquer avec lui. Dans le cas contraire, sur Internet, il me faudrait connaître tous les réseaux de toutes les entreprises connectées à Internet pour que mon ordinateur puisse dialoguer avec eux.

Pour assurer cette transparence, tout se passe encore une fois au niveau des systèmes d’exploitation. En effet, les OS sont capables de jouer le rôle d’interface entre un utilisateur et un ordinateur donc pourquoi ne pourraient-ils pas également jouer le rôle d’interface entre deux ordinateurs à condition, bien entendu, que ces deux ordinateurs sachent comment dialoguer ensemble. C’est pourquoi, les OS donnent une unité à l’ensemble des éléments d’un ou plusieurs réseaux interconnectés en fournissant ou en acceptant des protocoles de communication (exemple TCP/IP).

Page 67: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0171

Définition : un protocole de communication définit un ensemble de règles et de procédures à suivre pour que deux ordinateurs puissent se comprendre, c’est à dire puissent émettre ou recevoir des données via un réseau.

Extrapolons un peu. Dans la vie courante, pour que deux personnes puissent se compren-dre, ils doivent respecter un ordre dans la discussion. On ne donne pas une réponse à une question avant d’avoir eu la question sinon la réponse risque de ne pas correspondre à l’attente du demandeur. Autre exemple, lorsque je téléphone, je compose le numéro de mon interlocuteur, j’attends qu’il décroche et dise « allo » avant de commencer à parler, s’en suit alors un dialogue entre les deux personnes et pour terminer chacun dit « au revoir » et raccroche. Ceci constitue un autre protocole. De même, chaque continent, chaque pays a ses propres usages, ses propres coutumes, ses propres règles (protocoles) de communication. Pour que deux personnes de deux continents différents puissent communiquer ensemble, il est nécessaire qu’ils se définissent un protocole commun ou que l’un connaisse et applique le protocole de l’autre. Transposons cette problématique en informatique.

Pour que ce monde hétérogène puisse communiquer, il a été nécessaire de définir des protocoles de communication connus de tous. Certains sont propriétaires comme par exemple le protocole IPX/SPX des systèmes Netware (Novell) ou encore le protocole NETBEUI des systèmes Microsoft dans le cadre des réseaux « poste à poste » et d’autres sont devenus des normes de communication au fil du temps comme le protocole TCP/IP (Tranmission Control Protocol / Internet Protocol) utilisé dans le monde « Internet », exemple le plus parlant de liaison entre réseaux hétérogènes.

Aujourd’hui, le protocole TCP/IP est le protocole universel pour le dialogue entre ordi-nateurs du LAN au WAN en passant par les mini-réseaux que l’on peut mettre en place chez soi. Même les applicatifs « Client/Serveur » utilisant des protocoles propriétaires acceptent TCP/IP. Les systèmes d’exploitation doivent donc être capable de gérer et four-nir en standard au moins ce protocole. À charge ensuite à l’utilisateur de paramétrer son système informatique pour que celui-ci utilise ce protocole à moins que l’OS ne le fasse au travers d’un assistant fourni dans la package d’installation.

Pour en finir avec TCP/IP, il faut savoir que le protocole TCP/IP est en fait composé d’un ensemble de protocoles dédiés chacun à une tâche précise sur le réseau, comme par exemple HTTP pour le transfert de données hypertexte, FTP pour le transfert de fichiers, POP3 pour la récupération des courriels sur un serveur de messagerie, SMTP pour l’envoi des courriels sur un serveur de messagerie, Telnet permettant d’ouvrir une session de travail sur une machine distante et bien d’autres encore comme IP et TCP qui sont eux même des protocoles en charge pour le premier de gérer l’acheminement des données souhaitées sous forme de datagrammes (de paquets) sur l’ordinateur destinataire et pour le deuxième de contrôler que les données envoyées sont bien arrivées. On peut faire une comparaison avec « La Poste » qui peut acheminer des lettres, des colis sim-ples ou des colis suivis. À chaque étape, les employés effectuent ou non des contrôles et les employés qui réceptionnent un courrier ne font pas les mêmes opérations qu’un employé qui réceptionne un colis. De même la manière dont un employé amène un courrier à un destinataire n’est pas la même qu’un employé qui amène un colis à un des-tinataire. En résumé, le protocole général de « La Poste » se compose de plusieurs pro-tocoles spécifiques dont l’application dépend de la nature de l’élément acheminé mais le fonctionnement est normalisé et connu de tous. Si l’expéditeur ou le destinataire ne le respectent pas ou ne le connaissent pas, la lettre ou le colis ne pourra pas arriver. Chacun doit respecter le protocole s’il veut voir sa lettre ou son colis arriver au bon endroit. Il

Page 68: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0172

Séquence 1

en va de même avec les OS qui connaissent le fonctionnement du protocole TCP/IP et qui doivent l’implémenter pour avoir une chance que la donnée transmise sur le réseau arrive quelque soit la nature du destinataire puisque d’après le protocole, le destinataire sait ce qu’il a à faire dans le cadre de TCP/IP.

Remarque

TCP/IP est normalisé au travers d’un modèle de nom « modèle TCP/IP » lui-même issu du « modèle OSI » qui régit de manière générale la manière dont doivent communiquer les ordinateurs d’un réseau. Nous n’irons pas plus loin sur TCP/IP mais sur les sites « Internet », vous trouverez de nombreux cours très bien formalisés en tapant le mot clé « TCP/IP » sur un moteur de recherche.

En conclusion, nous pouvons dire qu’aujourd’hui pas un ordinateur et pas un système d’exploitation ne peut ignorer de base la connexion possible à un réseau quelconque et doit proposer dans ce sens tout le nécessaire composants ou logiciels.

Cette notion de connexion réseau à amener d’autres soucis au niveau sécurité que ce soit les failles d’un système d’exploitation utilisées par les pirates pour entrer sur un poste informatique mais également au niveau de l’authentifi cation des utilisateurs autorisés à utiliser un poste informatique du réseau. Pour résoudre le premier problème, les concepteurs d’OS s’y affèrent tous les jours sachant que LINUX tient la corde de l’OS le moins sujet à ce genre de problème via le nombre important de développeurs bénévoles qui s’en occupent. Concernant le deuxième problème, il y a deux philosophies dont le choix dépend de la taille du réseau :

• gérer la liste des personnes autorisées à utiliser un poste informatique poste par poste mais cela entraîne une multitude de listes.

• centraliser la liste des personnes autorisées sur un serveur d'authentification. Cette liste doit alors être gérée par un administrateur et son accès sécurisé au maximum.

Nous reviendrons sur cela dans la suite de cette séquence.

7B. Système d’exploitation et réseau

Dans le cadre des réseaux, nous venons de le voir, les systèmes d’exploitation ont une énorme importance mais vous vous en doutiez. Avec les gros systèmes (les mainframes), les systèmes d’exploitation sont propriétaires, c’est à dire qu’ils sont conçus pour faire fonctionner un type spécifique d’ordinateurs. Avec IBM et son PC, l’OS proposé au début est monoposte. Il ne sait pas dialoguer avec les autres ordinateurs. Face à la demande, petit à petit, les OS des micro-ordinateurs ont dû s’ouvrir à l’extérieur afin de prendre en compte le besoin de partage de ressources (fichiers et imprimantes) avec d’autres ordinateurs connectés ensemble via un réseau local.

Dans ce cadre, nous trouvons différents modes de fonctionnement des OS. Il y a d’abord les OS dits « multipostes » comme UNIX ou LINUX. C’est à plus petite échelle ce qui existe dans le cas des mainframes. Ainsi, ce type d’OS est installé sur un ordinateur central. Il peut gérer plusieurs postes de travail en même temps et traite toutes demandes à lui tout seul. Pour cela, les utilisateurs disposent d’un espace mémoire réservé (espace privé) sur l’ordi-nateur centrale, et accèdent à certains fichiers se trouvant sur le serveur grâce à un mot de passe. Tous les traitements se font sur l’ordinateur central qui est le seul à disposer des capacités de traitement. Ce genre d’OS est forcément multitaches et multi-utilisateurs.

Page 69: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0173

Ter minau x reliés à l'ordinateur central

Ordinateu r central avec unsystème d'explo itationmu ltipos tes (E x: Un ix)

Dans le cadre des réseaux, nous trouvons également une autre catégorie d’OS. Il s’agit des systèmes d’exploitation pour réseau local également appelé NOS (Network Operating system) qui ont pour vocation d’ajouter une couche logicielle aux fonctions standard d’un OS afin de permettre la communication entre les ordinateurs reliés au réseau, via les protocoles, ainsi que le partage de fichiers et de périphériques. Il s’agit de systèmes d’exploitation installés de manière autonome sur des stations de travail (Workstation). En résumé, une station de travail est un ordinateur classique et autonome possédant son propre système d’exploitation. Dans la catégorie des systèmes d’exploitations utilisables sur des ordinateurs autonomes placés dans un réseau, on trouve Unix et Linux mais également la branche Windows 9x et la branche NT de Windows avec Windows 2000, XP et Vista. Chaque ordinateur peut être à la fois client de « ressources partagées » mais également « serveur » de ressources partagées. Ces ordinateurs sont connectés les uns aux autres, via des hubs ou des switchs, sans avoir besoin d’être reliés à un serveur central pour échanger des données. On parle de réseau « poste-à-poste » (« peer-to-peer » en anglais). Les ordinateurs sont traités d’égal-à-égal dans un groupe de travail et ainsi par exemple, chaque utilisateur est libre de rendre accessible ses fichiers en partageant ses dossiers ou non avec d’autres utilisateurs du réseau.

Terminaux reliés à l'ordinateur central

Ordinateur central avec un système d'exploitation multipostes (Ex : Unix)

Page 70: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0174

Séquence 1

Comme vu précédemment, que ce soit avec un OS multipostes ou avec un OS pour réseau, il est primordial qu’un utilisateur soit obligé de s’identifier pour accéder à un ordinateur, on dira ouvrir une session de travail, car cela lui ouvre ensuite la porte des ressources partagées du réseau. Ainsi ce type d’OS doit prévoir une politique de gestion d’utilisateurs.

Dans le cas d’un OS multipostes, la création des comptes utilisateurs se fait sur l’ordina-teur central. Dans le cas des stations de travail, la création des comptes utilisateurs peut se faire au niveau de chacun des postes, ce qui peut alourdir considérablement la tâche d’un administrateur ou se faire d’une manière centralisée sur un seul ordinateur appelé le serveur d’identification ou d’authentification. Windows appelle ce serveur, le serveur de domaine. Créer un compte utilisateur permet de contrôler les accès et les droits des utilisateurs sur l’ensemble des ressources partagées. Aujourd’hui, cette centralisation a le vent en poupe et offre beaucoup de possibilités de gestion des utilisateurs, des ordinateurs situés sur le réseau et des ressources partagées au travers de systèmes d’an-nuaire comme « Active Directory » sous Windows 2000 Server ou Windows 2003 Server et « LDAP » sous LINUX.

Les systèmes d’exploitation utilisés dans le cadre des réseaux permettent aux stations de travail d’atteindre différents types de ressources partagées : des fichiers, des périphéri-ques comme les imprimantes ou encore des applications. Ces différentes ressources peu-vent être disséminées sur les postes d’un réseau ou être sur des ordinateurs dédiés à une tâche spécifique comme les serveurs de fichiers, les serveurs d’impression ou encore les serveurs d’application. Un même ordinateur peut remplir un ou plusieurs de ces rôles.

• Dans son rôle de serveur de fichiers, l'OS installé rend accessible le ou les disques durs du serveur de fichiers aux utilisateurs comme si le disque était dans leur pro-pre station afin que ceci puissent y stocker leurs fichiers. L'intérêt d'un serveur de fichiers et que bien souvent l'OS installé, ou au pire une application dédiée installée sur le serveur, permette de faire des sauvegardes automatiques du contenu des disques sur bandes. Ceci évite les pertes de données importantes des utilisateurs lorsque leur poste informatique tombe en panne.

• Dans son rôle de serveur d'application, l'OS installé permet à des applications exé-cutées sur les stations de travail de solliciter les services d'une application installée et exécutée sur le serveur. L'utilisation la plus courante de ce principe concerne les bases de données (les SGBD comme Oracle, SQL Server, MySQL). Ainsi dans ce cadre, une application exécutée sur une station envoie une requête (une demande d'information) à une application SGBD exécutée sur le serveur. Cette dernière

Serveur d'impressionServeur D'authenfication

Page 71: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Généralités sur les systèmes d’exploitation

8 3999 TG PA 0175

répond en envoyant à la station « client » les informations demandées. On parle alors de dialogue « Client/Serveur ». Il existe beaucoup d'exemples de fonctionne-ment « Client/Serveur ». Cela a pour avantage d'avoir une petite application sur les postes « Clients » ayant juste pour rôle d'interroger ou solliciter des services d'une application « Serveur » qui elle est bien entendu plus conséquente puisque c'est elle qui réalise la tâche demandée. L'application « Serveur » enverra ensuite la réponse attendue à l'application « Client » qui pourra alors l'afficher sur l'écran de la station de travail « Client ».

• Dans son rôle de serveur d'impression, l'OS installé gére les imprimantes connectées au serveur ou connectées directement au réseau. Cela permet de libérer plus vite la station de travail car les données à imprimer sont envoyées au serveur d'impression qui les imprime ensuite à son rythme. Cela permet également d'ordonnancer les tâches d'impression avec des priorités éventuelles mais également de garder des traces des impressions effectuées (une journalisation). En fait un serveur d'impres-sion gère une file d'attente d'impression pour éviter un engorgement de l'accès à l'imprimante partagée.

Aujourd’hui, il existe une autre catégorie de serveur, les serveurs de communication parmi lesquels on trouve les serveurs Web hébergeant des pages Web, les serveurs de messagerie permettant à un utilisateur d’envoyer ou de recevoir des Emails ou encore les serveurs de transfert de fichiers (serveur FTP) permettant à des ordinateurs « Clients » de transférer des fichiers, se trouvant sur le serveur, sur leur disque local

Remarques

Microsoft décline Windows en version « Station de travail » et en version « Serveur ». Les versions « Serveurs » par rapport aux versions « Station de travail » incluent des outils et des services supplémentaires pour centraliser la gestion et la surveillance du réseau mais également pour mettre en place l’un des types de serveurs définis précédemment. Ainsi, nous avons Windows 2000, XP ou Vista dans la catégorie des OS servant aux stations de travail et nous avons Windows 2000 Server ou Windows 2003 Server dans la catégorie des OS pour Serveur. LINUX lui peut servir dans les deux cas, il n’y a pas une telle différenciation bien que de base tous les packages nécessaires, pour mettre en place les services d’un des types de serveur définis précédemment, ne soient pas forcément installés par défaut. Dans ce cas, il faut soit ajouter les packages manquants à partir des CD-ROM fournis soit aller les chercher sur le site du distributeur.

7C. Le nécessaire pour placer un poste dans un réseau

Encore une fois, sans entrer dans le détail des réseaux qui n’est pas le but de ce support, nous pouvons dire que pour placer un poste de travail dans un réseau, il faut :

• Une carte réseau, appelée également « NIC » pour « Network Interface Card », ins-tallée sur l'ordinateur concerné qui permet à ce dernier d'envoyer ou de recevoir des informations du réseau. Il s'agit d'une interface entre le poste de travail et le réseau. Cette carte doit être compatible avec la technologie du réseau (Ethernet ou Token Ring) et dotée d'un connecteur compatible avec la nature des câbles du réseau (RJ45, Coaxial, fibre optique).

• Les pilotes de la carte réseau compatibles avec le système d'exploitation utilisé qui permettent de faire fonctionner la carte.

• Un OS contenant les fonctionnalités nécessaires pour placer l'ordinateur dans un réseau.

Page 72: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0176

Séquence 1

• Le ou les protocoles de communication utilisés. Les OS réseaux supportent la plu-part des protocoles soit de façon standard soit sous forme de produit indépendant proposé par l'éditeur de l'OS.

Le protocole TCP/IP est le protocole universel pour le dialogue entre ordinateurs.

• Un nom d'ordinateur ou encore une adresse IP dans le cas du protocole TCP/IP. Ceci est fonction du protocole utilisé. Ces données se configurent soit à l'installation de l'OS soit par la suite dans la configuration de l'OS. Attention, un nom d'ordinateur ou une adresse IP doit être unique sur le réseau car c'est par ce moyen que les ordi-nateurs, via les protocoles, se reconnaissent entre eux.

Remarque

Une adresse IP est donnée sous la forme de 4 octets séparés les uns des autres par un point (exemple 192.168.1.10). Aujourd'hui, les OS intègrent de base l'utilisation de l'IPV6 où les adresses IP ont une longueur de 16 octets ce qui va permettre d'étendre le nombre de possibilité d'adresses sachant que le protocole TCP/IP, donc l'adressage IP, est le protocole du réseau mondial « Internet » et que l'on souhaite pouvoir connecter, sur le réseau Internet, de plus en plus d'éléments divers et variés comme par exemple des téléphones portables, des caméras ou pourquoi pas des téléviseurs ou des frigos. On peut rêver à toutes les possibilités. Sachez toutefois que ces OS restent compatibles avec l'IPV4 que l'on utilise actuellement car le monde n'est pas encore prêt à tout faire migrer vers l'IPV6 puisque cela aura un coup non négligeable.

• Définir les services que l'ordinateur peut proposer aux autres ordinateurs du réseau comme par exemple le partage des fichiers et des imprimantes.

• Un compte « utilisateur » créé soit en local sur un poste soit sur un serveur d'iden-tification.

Il existe toujours un compte « administrateur » permettant de créer les autres comptes « utilisateurs ».

Voilà maintenant les généralités sur les systèmes d'exploitation et tout ce qui gravite autour étant énoncé, nous allons maintenant travailler avec certains OS. Si vous le sou-haitez, vous pouvez partitionner le disque dur de votre ordinateur afin de pouvoir y installer les différents systèmes d'exploitation étudiés. Attention, vous risquez de perdre ce qui se trouve déjà sur le disque de votre ordinateur. Pour vous aidez, vous trouverez sur Internet, avec le mot clé « Multiboot », des procédures à suivre afin de réaliser la mise en place d'un multiboot.

Page 73: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0177

Séquence 2

Etude du système d’exploitation DOS

u Contenu1. Historique ................................................................................................ 77

2. Les constituants de base du système MS-DOS ......................... 79

3. Les notions de fichiers et de répertoires .................................... 85

4. Nom de fichiers et de répertoires sous MS-DOS ..................... 89

5. La notion de chemin ........................................................................... 90

6. La variable d’environnement « PATH » ........................................ 91

7. Commencer avec MS-DOS................................................................. 92

7A. Accéder à l’environnement MS-DOS ........................................................ 92

7B. Le nom d’une unité de disque .................................................................. 93

7C. Syntaxe d’une commande système .......................................................... 94

7D. Quelques commandes systèmes ............................................................... 96

8. Les fichiers « batch » ......................................................................... 109

1. Historique

Le premier des systèmes d’exploitation dont nous allons parler est le MS-DOS. Pourquoi ? La réponse est simple, car il est l’un des tous premiers OS (Operating System) grand public des années 80 dont on parle encore aujourd’hui. De plus, il permet d’introduire simple-ment l’utilisation du mode « ligne de commande » et il est parfois utilisé pour tenter de dépanner une machine « plantée ». Hier, il était encore sous-jacent à Windows 9x, aujourd’hui, il n’existe plus qu’au travers d’un programme standard intégré à la branche Windows NT (2000, XP, Vista) mais ses commandes restent toujours accessibles à partir d’une fenêtre d’exécution dans laquelle on lance un interpréteur de commande MS-DOS. Voici la fenêtre d’exécution de Windows XP Pro dans ce cas.

Page 74: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0178

Séquence 2

À travers cette fenêtre, nous nous retrouvons en mode « ligne de commande », c’est-à-dire un mode dans lequel nous avons la possibilité de saisir le nom des commandes MS-DOS, que nous souhaitons exécuter, avec éventuellement les différentes options. Bien entendu, Windows intègre de manière graphique la plupart des commandes DOS surtout celles concernant la gestion des fichiers et des répertoires (appelés également « dossiers ») mais MS-DOS est riche de beaucoup d’autres commandes avec une multi-tude d’options ce qui permet parfois de travailler plus finement dans le paramétrage de son ordinateur ou bien tout simplement de le dépanner. Bien maîtriser le mode « commande » d’un système d’exploitation, que ce soit avec MS-DOS/Windows ou encore Linux, permet de mieux connaître, exploiter et donc maîtriser son environnement de travail.

MS-DOS a beaucoup évolué depuis 1981, année de sa naissance. Il s’est décliné de la ver-sion 1.0 à la version 6.22 avant d’être ensuite intégré au système d’exploitation Windows lui-même, à partir de Windows 95, et de continuer à évoluer avec ce dernier. Voici quel-ques repères succincts :

1981 : Apparition de MS-DOS 1.0 mis en place pour l’ordinateur « IBM PC 8088 ». Il ne reconnaît que les disquettes 5 pouces ¼ de 160 Ko simple face dans un pre-mier temps puis celles de 360 Ko ensuite. Attention, on ne parle pas encore de disque dur. L’ensemble des programmes de l’OS doit tenir sur disquettes.

1982 : MS-DOS 1.1 supporte les disquettes 5 pouces ¼ double face.

1983 : Un petit tournant avec MS-DOS 2.0 (puis 2.1 et 2.11) car il est maintenant capa-ble de gérer les disque durs de 10 Mo. Avec cette version apparaît également la notion de répertoire et sous répertoire (dossier et sous-dossier) ce qui introduit le principe de la hiérarchie des fichiers et des répertoires. Nous reviendrons sur cette notion plus loin dans le cours. Cette version de DOS supporte également les jeux de caractères internationaux et des pilotes de périphérique.

De 1984 à 1987 : La famille des MS-DOS 3.X apparaît et grandit. Tout d’abord la version 3.0 qui supporte les disquettes 5 pouces 1/4 d’une capacité de 1,2 Mo et les disques durs de 20 Mo. Ensuite, la version 3.1 per-mettant la gestion d’un réseau local, la version 3.2 qui accepte les disquettes 3 pouces ½ de 720 Mo et enfin, la version 3.3 qui accepte les disquettes 3 pouces ½ d’une capacité de 1,44 Mo et qui propose même la notion de partition d’un disque dur.

1988 : C’est au tour de la famille de MS-DOS 4.x de faire parler d’elle avec la possibi-lité de gérer des partitions de plus grandes tailles et avec une pseudo interface graphique du nom de DOSSHELL

Page 75: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0179

De 1991 à 1994 : Les versions 5.0 et 6.X font leur apparition apportant leurs lots de nouvelles commandes avec, entre autre, la compression des données du disque dur et une meilleur gestion de la mémoire. La version MS-DOS 6.22 est la dernière de la série.

De 95 à Aujourd’hui : MS-DOS se trouve intégré de plus en plus au système Windows lui-même jusqu’à ne plus en être qu’un programme « utili-taire » dans le cas de Windows branche NT. Il a été épuré de certaines de ses commandes et d’autres ont été modifiées afin de prendre en compte les nouvelles particularités comme par exemple la gestion des noms longs de fichiers et de répertoires (dossiers). Il sert de lanceur pour les versions 9X de Windows ce qui n’est plus le cas avec la branche NT.

2. Les constituants de base du système MS-DOS

Bien entendu, MS-DOS n’est plus très utilisé de manière directe. Alors pourquoi ce paragraphe ? Tout simplement parce que pour comprendre le mécanisme des systèmes d’exploitation et des éléments qui sont mis en œuvre pour son fonctionnement, il peut être intéressant d’en étudier des simples.

Nous venons encore de le préciser précédemment, MS-DOS est aujourd’hui intégré à Windows 9X et Windows branche NT. Néanmoins, il est toujours possible de travailler avec un ordinateur fonctionnent en mode MS-DOS. Comment ? Il y a plusieurs solutions. La première consiste à installer l’une des versions MS-DOS (jusqu’à la version 6.22) sur une partition primaire active, afin de pouvoir booter dessus, ou sur une machine vir-tuelle. Une machine virtuelle est tout simplement une application (exemple VMware Workstation) qui simule le fonctionnement d’un ordinateur complet. Sur cette machine virtuelle, on peut installer toutes sortes d’OS puis lancer leur exécution, comme s’ils étaient installés sur une vraie machine, et enfin les utiliser pour en étudier leur compor-tement sans risque pour la machine réelle puisque tout se passe dans l’environnement de la machine virtuelle. Dans le paragraphe 1D de la séquence 4, nous reviendrons sur cet aspect de machine virtuelle. La deuxième solution consiste à démarrer l’ordinateur avec une disquette bootable MS-DOS dans le lecteur après avoir vérifier dans le « Setup » du BIOS que le lecteur de disquette est en premier dans l’ordre de recherche du secteur bootable. La troisième solution consiste, à partir de Windows, à ouvrir une fenêtre d’exécution afin d’y exécuter l’interpréteur de commandes DOS pour Windows 9X ou d’y déclencher l’exécution d’un programme nous plaçant dans un environnement simulant MS-DOS dans le cas de Windows branche NT. Nous reviendrons plus loin sur ces deux dernières solutions.

Mais au fait, quels sont les éléments significatifs qui se mettent en place lorsque nous souhaitons travailler dans un environnement MS-DOS ? Mon problème est que je ne peux pas vous apporter une seule réponse mais obligatoirement trois car rappelez vous que MS-DOS a évolué d’abord seul jusqu’à la version 6.22 puis avec Windows 9X et enfin avec Windows branche NT.

Commençons avec la première phase de la vie de MS-DOS à savoir jusqu’à la version 6.22. Sans entrer dans le détail du fonctionnement de MS-DOS, car ce n’est pas le but principal de ce paragraphe, nous pouvons dire qu’il est constitué de cinq éléments de base. Voyons cela. Rappelez vous, au démarrage de l’ordinateur, une fois que le BIOS a testé le bon

Page 76: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0180

Séquence 2

fonctionnement des composants de ce dernier, il cherche un secteur de boot contenant un programme de boot capable de lancer le chargement de l’OS souhaité. Dans le cadre de MS-DOS, le programme de boot charge un programme de nom « io.sys » en mémoire. Celui-ci contient un ensemble de fonctionnalités (appelées des routines) en charge de la communication (nous dirons plutôt des entrées/sorties) avec les périphériques (exemple: clavier, écran, disque dur, lecteur de disquette, etc….). Le programme « io.sys » a pour fonction d’isoler le DOS des spécificités du matériel en jouant le rôle d’interface de bas niveau entre les deux. En fait, les routines de « io.sys » ont pour rôle de faire appel aux fonctions « systèmes » (les interruptions) du BIOS et sont donc au contact direct avec le matériel et ses spécificités d’où le terme de « bas niveau » employé précédemment. Cela implique qu’il est nécessaire de ré-écrire ce module si l’on souhaite porter MS-DOS sur une nouvelle architecture d’ordinateur. Une fois que « io.sys » a été chargé en mémoire, il lance, à son tour, le chargement d’un deuxième programme : « msdos.sys ».

Ce programme « msdos.sys » contient des routines MS-DOS indépendantes du matériel pour la gestion des données (répertoires et fichiers), la gestion de la mémoire, la gestion des programmes en cours d’exécution. Il a également pour rôle d’interpréter les appels systèmes d’entrée/sortie des programmes en cours d’exécution afin d’appeler la routine correspondante dans « io.sys ». En fait, un développeur qui souhaite écrire un program-me fonctionnant sous MS-DOS écrira du code faisant appel aux routines de « msdos.sys ». Celui-ci joue donc le rôle d’interface de haut niveau car il est indépendant du type d’architecture de l’ordinateur.

Remarque

Ce que nous venons de décrire est un fonctionnement idéal qui peut être contourné. En effet, un développeur sous MS-DOS peut, s’il le souhaite, appeler directement les routines du BIOS sans passer par « msdos.sys » et « io.sys ». Dans ce cas le problème est que cela crée une dépendance vis-à-vis du matériel. Ce type de programme DOS ne fonctionne plus sous Windows branche NT.

Les deux fichiers « msdos.sys » et « io.sys » forment le noyau du système d’exploitation MS-DOS. D’une manière générale, ils sont en charge de gérer, à différents niveaux, le dia-logue entre le matériel et les programmes. Ces deux fichiers possèdent les attributs Read Only, Hidden et System (Lecture Seule, Caché et Système) et se trouvent à la racine du disque. Nous reviendrons plus loin dans le cours sur le terme « racine du disque ».

Pour l’instant, poursuivons les étapes du chargement de MS-DOS. Une fois que « msdos.sys » a fini d’être chargé en RAM, il rend la main à « io.sys » qui va alors lire le contenu du fichier de configuration système de nom « config.sys » si celui-ci existe. Ce fichier est un fichier en mode texte, ce qui signifie que l’utilisateur peut consulter son contenu ou le modifier à l’aide d’un éditeur de texte, et il se trouve également à la racine du disque. Il est constitué d’un ensemble de lignes de commande débutant par un mot-clé particulier permettant de charger en mémoire des « gestionnaires de périphérique » ou de définir ou modifier des paramètres systèmes comme par exemple le nombre de fichiers qui peu-vent être ouvert simultanément en mémoire. Ah, je vois que vous vous interrogez sur le terme « gestionnaire de périphérique ». Il s’agit tout simplement d’un synonyme du terme « pilote de périphérique » dont le rôle est de prendre en charge la communication avec le périphérique concerné à la place de l’OS. Ce dernier n’est donc plus dépendant des caractéristiques du périphérique. En fait, au niveau de DOS, il existe deux types de gestionnaires de périphériques, ceux qui sont chargés automatiquement par « io.sys »

Page 77: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0181

et ceux dont l’ordre de chargement se trouve inscrit dans le fichier « config.sys ». Parmi les gestionnaires de périphériques chargés automatiquement, on trouve celui pour le cla-vier et l’écran (gestionnaire « CON: »), ceux pour les interfaces parallèles (gestionnaires « PRN: », « LPT1: » à « LPT3: »), ceux pour les interfaces séries (gestionnaires « AUX: », « COM1: » à « COM4: »), celui pour le lecteur de disquette (gestionnaire « A: »), celui pour le premier disque dur (gestionnaire « C: ») ou encore celui pour l’heure système (gestionnaire « CLOCK$ ») . Voyons une capture montrant le résultat de la commande DOS : « mem /d » qui permet de visualiser le contenu de la mémoire. Nous pouvons y observer la présence des gestionnaires de périphériques cités précédemment.

Remarque

D’une manière générale, la commande MS-DOS « mem » permet d’obtenir des informa-tions sur l’occupation de la mémoire. Cette commande propose différentes options que l’on peut obtenir en tapant « mem /? ». (voir suite du cours pour l’utilisation des commandes MS-DOS).

Précédemment, nous avons indiqué que le fichier « config.sys » contient un ensemble de lignes de commande débutant par un mot-clé. En voici quelques-uns.

Mot-clé Signification

DEVICE =Permet de charger un gestionnaire de périphérique spécifique.Ex : DEVICE=himem.sysË gestionnaire de mémoire haute.

FILES =Nombre de fichiers qui peuvent être ouverts simultanément en mémoire. Ex : FILES=40

BUFFERS =

Nombre de mémoires « tampon » devant être réservées. Une mémoire tampon est utilisée comme intermédiaire pour le transfert de données à destination ou en provenance d’un disque.Ex : BUFFERS=20

Page 78: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0182

Séquence 2

LASTDRIVE =

Définit la dernière lettre autorisée comme nom pour un lecteur. Par défaut, on ne peut donner un nom que jusqu’à la lettre « E: » ce qui peut être insuffisant parfois notamment lorsque l’on travaille avec un ordinateur placé dans un réseau avec des lecteurs logiques.Ex : LASTDRIVE=Z

COUNTRY =

Définit le jeu de caractères à utiliser, le format à utiliser pour la date et l’heure, le caractère utilisé comme séparateur de décimal.Ex : COUNTRY = 033,850, country.sysË « coutry.sys » est un gestionnaire de périphérique en charge de la gestion des jeux de caractères et des conventions de ponctuation correspondant aux différentes langues prises en charge par le système.

SHELL =

Permet de spécifier un autre interpréteur de commande que « command.com » ou permet de préciser le nom du répertoire le contenant dans le cas où il ne se trouve pas à la racine du disque.SHELL = c:\DOS\command.comNous considérons que le programme « command.com » se trouve dans le répertoire « c:\DOS ». (Cf la notion de répertoire plus loin dans ce support).

Nous n’irons pas plus loin dans la description du contenu du fichier « config.sys » car dans la littérature informatique, vous trouverez de nombreux exemples. De même, vous en trouverez sur Internet avec le mot-clé « config.sys ». Bien sûr, aujourd’hui, connaître l’existence du fichier « config.sys » n’est peut-être plus aussi primordial que cela mais vous serez peut-être un jour confronté au besoin de travailler avec une application en mode DOS. Tous les environnements informatiques que vous rencontrerez ne seront pas toujours fait que de dernières technologies !

À ce stade du chargement de notre système d’exploitation, l’utilisateur ne peut toujours pas saisir de commande car il n’a pas encore la main. L’étape suivante va donc consister à charger en mémoire un interpréteur de commandes qui est, je vous le rappelle, un programme qui permet de mettre en place une interface entre l’utilisateur et l’OS afin que le premier puisse donner ses ordres au second. Avec MS-DOS, Le programme qui est chargé s’appelle « command.com ». Son rôle consiste à interpréter les commandes saisies au clavier et déterminer s’il s’agit de commandes valides. Dans l’affirmatif, il lance leur exécution, dans le cas contraire, il affiche un message d’erreur. Notre interpréteur de commande est donc capable de lancer l’exécution de programmes « utilisateur » mais il est également capable de répondre aux ordres de l’utilisateur dans la gestion de l’or-dinateur. En effet, « command.com » possède intrinsèquement les fonctionnalités les plus couramment demandées par un utilisateur comme par exemple copier un fichier, le supprimer ou encore lister le contenu d’un répertoire. Ces fonctionnalités sont appelées des « commandes internes ». Cependant, pour éviter que le « command.com » ne soit trop volumineux pour tenir en mémoire, les fonctionnalités qui sont moins fréquem-ment utilisées, comme le formatage d’une disquette ou encore le partitionnement d’un disque dur sont des programmes à part fournis avec le système d’exploitation DOS et placés dans un répertoire (dossier) du disque dur connu par le système d’exploitation ou sur une disquette. Ces commandes sont appelées des « commands externes » et sont chargées en mémoire au moment où l’utilisateur en a besoin puis retirées de la mémoire lorsque l’opération prévue par la commande est terminée. Ainsi, lorsque l’utilisateur sai-sit une commande par l’intermédiaire de l’interpréteur de commande, celui-ci vérifie la bonne syntaxe de la commande, puis, s’il s’agit d’une commande « interne », il l’exécute immédiatement. Par contre, s’il s’agit d’une commande externe, l’interpréteur de com-mande recherche un fichier exécutable (un programme) qui porte le même nom que la commande saisie, et s’il le trouve, l’exécute. En résumé, les commandes internes sont des fonctionnalités de MS-DOS transférées en mémoire avec « command.com » alors que les

Page 79: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0183

commandes externes sont des programmes utilitaires transférés en mémoire à l’appel de leur nom et uniquement le temps de leur utilisation.

Une fois que l’interpréteur de commande est chargé en mémoire, il cherche à son tour un fichier de configuration de nom « autoexec.bat ». Ce dernier a pour rôle de lancer l’exé-cution automatique d’un certain nombre de commandes à la mise en route de l’ordina-teur. A la différence de « config.sys », il peut contenir des lignes d’instructions à exécuter, des noms de programmes à exécuter, des noms de programmes résidents à charger en mémoire (comme des gestionnaires de clavier français, des gestionnaires de cartes réseaux) ou encore initialiser des « variables d’environnement ». Une variable d’environnement est une donnée dont la valeur est utilisée par « command.com » pour son fonctionnement. Par exemple, la variable d’environnement « PATH » est une donnée dont le contenu repré-sente la liste des répertoires (dossiers) dans lesquels « command.com » doit rechercher le programme que lui demande d’exécuter l’utilisateur si ce programme ne se trouve pas dans le répertoire (dossier) courant. (Remarque : nous reviendrons sur cette notion de répertoire courant plus loin dans le cours). Comme « config.sys », « autoexec.bat » est un fichier « texte » modifiable par l’intermédiaire d’un éditeur de texte. Cependant à la différence de « config.sys », dont le contenu ne sera interprété qu’au démarrage de l’or-dinateur, le fichier « autoexec.bat » peut être modifié par l’utilisateur puis de nouveau interprété par « command.com » en tapant tout simplement le nom de ce fichier sur la ligne de commande puis en appuyant sur la touche « Entrée ».

Voici un schéma de ce que nous venons de décrire sur MS-DOS précédemment.

Venons-en maintenant à la branche Windows 9X et à ses quelques différences avec le mécanisme que nous venons de décrire. Au démarrage de l’ordinateur, sur lequel le système est installé, le bootloader charge un programme de nom « io.sys » contenant le

Page 80: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0184

Séquence 2

code permettant d’initialiser la machine. Ce fichier remplace à lui seul les deux fichiers MS-DOS « io.sys » et « msdos.sys » vus précédemment. Le programme « io.sys » est tou-jours un fichier caché se trouvant à la racine du disque. Une fois que les différentes initia-lisations de l’ordinateur ont été effectuées, le fichier « msdos.sys » est chargé. Attention, dans Windows 9X, ce fichier n’a plus la même fonctionnalité que celui des versions MS-DOS antérieures. Il ne s’agit plus d’un programme mais d’un fichier « texte » dont le contenu est accessible et modifiable à partir d’un « éditeur de texte ». Il contient en fait la définition de paramètres de démarrage pour Windows. Après la lecture de « msdos.sys », c’est au tour du fichier « config.sys » d’être lu, puis au programme « command.com » d’être exécuté et enfin au fichier « autoexec.bat » d’être interprété avant que ne soit lancé, au final, l’exécution de l’interface graphique.

Remarque

Dans ce contexte, les fichiers « texte » de noms « config.sys » et « autoexec.bat » ne sont pas obligatoires mais ils permettent de configurer l’environnement MS-DOS dans le cas où l’utilisateur lance l’exécution d’applications fonctionnant en mode DOS (en mode 16 bits) mais également dans le cas où l’utilisateur se place en environnement DOS à partir de Windows 9X.

Et pour Windows branche NT ? En fait, Il n’est plus question de décrire les composants MS-DOS sous-jacent car DOS n’est plus qu’un programme « utilitaire » parmi les autres programmes. Pourquoi « utilitaire » ? Tout simplement parce qu’il est uniquement là pour rendre service. Il ne faut pas oublier que, dans la mesure du possible, il est néces-saire de garder une compatibilité avec l’existant. Ainsi lorsqu’un utilisateur demande l’exécution d’un programme MS-DOS à partir de Windows branche NT, celui-ci doit pouvoir le faire même si structurellement il ne fonctionne pas de la même manière que MS-DOS. Ainsi, pour masquer les différences au programme DOS qui tente de s’exécu-ter, Windows procède en deux temps. Dans un premier temps, il lance l’exécution du programme « utilitaire » de nom « ntvdm.exe » (NT Virtual Dos Machine), qui simule un ordinateur fonctionnant en mode DOS, puis dans un deuxième temps, l’application DOS demandé sera exécutée dans cet environnement virtuel. Attention, deux fichiers cachés « io.sys » et « msdos.sys » sont encore présents à la racine du disque mais ils ne sont là que pour intercepter les appels systèmes des applications DOS afin de les renvoyer vers le programme VDM (Virtual Dos Machine) qui les traite alors. Néanmoins, une restriction est à prendre en compte. Dans cet environnement virtuel, tout appel direct au matériel, de la part de l’application DOS, est interdit ce qui explique que certaines applications DOS ne puissent plus fonctionner. L’avantage de travailler avec une machine virtuelle est que si le programme DOS « plante », il suffit d’arrêter le programme VDM (Virtual Dos Machine) comme on peut arrêter tout autre programme et tout rentre dans l’ordre. Windows ne risque pas de « planter » à son tour.

Revenons quelques instants sur notre VDM (Virtual Dos Machine). Celle-ci utilise trois fichiers pour fonctionner. Il y a :

• « ntvdm.exe », qui joue le rôle d'émulateur MS-DOS (vous l'avez compris, un émula-teur a pour rôle de « faire comme ») ;

• « ntio.sys », qui est l'équivalent de « io.sys » ;

• « ntdos.sys », qui est l'équivalent de « msdos.sys ».

Page 81: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0185

Enfi n, lors du lancement de « ntvdm.exe », il est possible d'initialiser des variables d'envi-ronnement mais aussi de charger des gestionnaires de périphérique et des programmes résidents à l'intérieur de l'environnement virtuel mis en place. En effet, il existe deux fi chiers de nom « autoexec.nt » et « confi g.nt », situés dans le répertoire « \Windows\System32 », qui sont utilisés par défaut pour personnaliser la VDM comme le faisaient les anciens « autoexec.bat » et « confi g.sys » pour l’environnement MS-DOS.

3. Les notions de fichiers et de répertoires

Quel que soit le système d’exploitation que vous utiliserez, il y a deux mots que vous rencontrerez souvent. Il s’agit des mots « fichier » (« file » en anglais) et « répertoire » (« directory » en anglais).

Remarque

Ce dernier peut être remplacé par le mot « dossier » (« folder » en anglais).

De quoi s’agit-il ? En informatique, comme dans la vie courante du reste, il est impor-tant de pouvoir retrouver facilement des données. Ainsi, lorsqu’un utilisateur crée un document, par exemple un « Curriculum Vitae », via un logiciel comme un traitement de texte, il est important que tout ce qui fait le document, à savoir les caractères du texte mais également les codes de la mise en page du texte (gras, italique, les cadres, les paragraphes justifiés, la valeur des marges), soit regroupé au sein d’un même ensemble logique que l’on appelle « fichier ». En fait, un fichier est un regroupement de données (d’information). En donnant une définition plus précise, nous dirons qu’un fichier est un regroupement d’octets, c’est-à-dire de données numériques codées sur 8 bits, devant être vu comme un tout par un système d’exploitation.

8 bits correspond à 8 positions binaires valent chacune soit 0 soit 1 ce qui permet de coder des valeurs numériques entre 0 et 255.

Pour gérer au mieux, cet ensemble logique d’octets composant un fichier, un système d’exploitation va le placer à un endroit précis du disque et lui attribuera un nom afin de pouvoir différencier les fichiers entre eux. En effet, un disque dur, une disquette, une clé USB ne va pas contenir qu’un seul fichier mais des dizaines voire des milliers.

Remarque

La manière dont un fichier est géré par un OS dépend du type de « système de fichiers » (« file system ») dont celui-ci dépend (FAT, FAT32, NTFS, Ext2fs, Ext3fs). Nous revien-drons sur ce point dans la dernière séquence de ce cours.

Ah, je vois que certains d’entre vous s’interrogent sur une notion évoquée précédemment dans laquelle nous disions qu’un fichier est en fait un regroupement de données numéri-ques codées sur 8 bits (1 octet). Pourquoi numérique ? Vous vous dites certainement que lorsque vous tapez votre « CV », vous tapez des caractères pas des chiffres. Cela est vrai, mais n’oubliez pas que pour taper votre « CV » vous passez par l’intermédiaire d’une application adaptée, qui elle, insidieusement, va traduire les caractères du texte que vous tapez en des valeurs numériques qui seront alors enregistrées sur disque. En effet, il

Page 82: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0186

Séquence 2

faut bien comprendre que l’on ne peut pas stocker un caractère directement sur disque, car je vous le rappelle, en informatique nous ne pouvons stocker que des 0 et des 1 tra-duisant le sens du courant passant à l’intérieur des têtes de lecture/écriture d’un disque dur. Ces 0 et ces 1 permettent seulement de coder des valeurs numériques. Que cela ne tienne, dans les années 60, est née une norme pour les PC. Il s’agit de la table « ASCII » (« American Standard Code for Information Interchange ») dans laquelle chaque carac-tère possède un équivalent numérique appelé code ASCII. Ainsi par exemple, le caractère « a » a pour code ASCII « 97 », le caractère « A » a pour code ASCII « 65 », l’espace a pour code ASCII « 32 », etc. Vous pouvez trouver sur Internet de nombreux exemples de table ASCII. Au départ, les codes ASCII étaient codés sur 7 bits car la langue anglaise n’a pas de caractère accentué donc cela suffisait. Rapidement, le codage est passé sur 8 bits afin de faire apparaître un code pour des caractères spécifiques, comme les caractères accentués, ce qui a donné naissance à la table ASCII « étendue ». Revenons-en à notre « CV ». Le logiciel (l’applicatif) enregistre, par l’intermédiaire de l’OS concerné, le code ASCII des caractères du texte que vous avez tapé et lorsque vous souhaiterez consulter ultérieurement le contenu de votre document, ce même logiciel lira le code ASCII des différents caractères contenus dans le fichier et les traduira visuellement en caractère. En consultant, à l’aide d’un « éditeur hexadécimale », le contenu d’un fichier, on s’aperçoit facilement que ce sont bien des codes numériques qui sont enregistrés sur le disque et pas directement des caractères.

Les fichiers générés par un utilisateur, via un logiciel quelconque, sont appelés des fichiers « utilisateur » ou encore des documents « utilisateur ». Certains contiennent du texte et des codes de mise en page, comme pour notre exemple de « CV », mais d’autres contiennent uniquement les caractères saisis par l’utilisateur sans code de mise en page. On dit, dans ce cas, qu’ils contiennent du texte « brut ». Cette particularité permet de les modifier à l’aide d’un simple « éditeur de texte ». C’est le cas des fichiers comme « config.sys » et « autoexec.bat » dont nous avons parlé précédemment. D’une manière générale, ces fichiers sont dénommés des fichiers « texte » et on les retrouve bien souvent dans le cadre des fichiers contenant la configuration initiale d’un système d’exploitation ou d’un logiciel d’application. Il existe encore une autre utilisation pour les fichiers « texte », ce sont les fichiers appelés « batch » contenant des lignes de commandes interprétables par l’interpréteur de commandes d’un OS permettant ainsi d’automatiser des tâches répétitives ou longues.

Remarque

Lorsqu’un logiciel applicatif comme « un traitement de texte », par exemple dans le cas de notre « CV », enregistre le travail d’un utilisateur, il enregistre les octets représentant le code ASCII des caractères saisis par l’utilisateur mais aussi des codes spécifiques corres-pondant à la codification de la mise en page du document. Cela signifie bien entendu, que les caractères du texte seront enregistrés dans le fichier avec le code ASCII correspondant mais que les codes de la mise en page seront stockés avec une valeur numérique qui dépend du logiciel utilisé. Cela implique, bien entendu, que seul le logiciel ayant permis de créer le document ou un logiciel ayant été programmé pour comprendre les codes spécifiques de mise en page de celui-ci, seront capables de restituer le texte et sa présentation. Nous avons pris en exemple un traitement de texte mais cette remarque est vraie pour tous les logiciels du marché qui mémorisent toujours dans un fichier « utilisateur » des codes ASCII pour les caractères mais aussi des codes spécifiques au fonctionnement du logiciel concerné.

Page 83: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0187

En plus des fichiers « utilisateur », il existe une autre catégorie de fichiers, ce sont les fichiers dits « exécutables ». Ces fichiers ont la particularité de contenir des codes (valeurs numériques) correspondant à des instructions systèmes directement compréhen-sibles par un ordinateur ou par un OS. Ils sont donc liés à la nature de l’ordinateur ou à l’OS. Ces fichiers sont générés par des développeurs de programme à l’aide de logiciels spécifiques appelés des compilateurs. Un compilateur est un programme capable de traduire un fichier texte, contenant les instructions que l’ordinateur doit exécuter écrits, par un développeur, dans un langage de programmation donné (Langage C, VB, C++, Delphi, etc) en un fichier contenant les ordres traduits en code exécutable par l’OS et ou par l’ordinateur. Lorsque vous déclenchez l’exécution d’une application, que ce soit en tapant son nom sur une ligne de commande ou en cliquant sur une icône à partir d’une interface graphique, vous faites appel à un fichier « exécutable ».

En conclusion : un fichier « exécutable » est lié à un OS ou à une famille d’ordinateurs. Un fichier « utilisateur » (un document utilisateur) est lié bien souvent à l’applicatif qui a permis de le générer (par exemple un document « Word » sera lisible à travers « Word » ou un autre logiciel capable de comprendre les codes de mise en page « Word »). Un fichier « texte » ne contient que du texte brut donc il n’est lié ni à un OS ni à un applica-tif si ce n’est parfois par le fait de ce que l’on souhaite faire avec. Ainsi le fichier « config.sys » peut être lu et modifié par un éditeur de texte sur n’importe quel OS, cependant, son contenu ne prend toute sa dimension qu’avec MS-DOS. Un autre OS pourra lire le contenu du fichier mais ne saura pas quoi en faire.

Remarque

Un fichier « texte » peut être également utile lorsque l’on souhaite transmettre des données brutes à partir d’un logiciel fonctionnant sur un OS vers un autre logiciel fonctionnant sur un autre OS voire parfois entre deux logiciels fonctionnant sur le même OS mais incompatibles entre eux.

Bon si nous faisions un peu de rangement maintenant. Vous vous en êtes peut être déjà rendu compte, dans le disque dur d’un ordinateur, il peut y avoir des milliers de fichiers et pour travailler de façon optimale, il faut être ordonné. Dans la vie courante, pour être ordonné, nous rangeons les factures dans un dossier « FACTURE », les commandes des clients dans un dossier « COMMANDES », les lettres dans un dossier « COURRIER ». En informatique, il est conseillé de faire la même chose avec les documents (les fichiers) pour pouvoir les retrouver plus facilement. C’est pourquoi, les systèmes d’exploitation mettent à notre disposition la notion de répertoires (de dossiers). En fait un répertoire peut être vu comme une chemise cartonnée pour un utilisateur. Il contiendra les docu-ments (les fichiers) que l’utilisateur y mettra. Les répertoires sont créés par l’utilisateur au niveau des commandes de l’OS et non pas par l’intermédiaire d’un logiciel comme les fichiers. En conclusion, un répertoire (un dossier) contient des fichiers. Il doit porter un nom afin de pouvoir distinguer les répertoires entre eux.

La conclusion précédente est un peu trop restrictive. En effet, un répertoire peut conte-nir des fichiers mais également des sous-répertoires qui peuvent eux-mêmes contenir des fichiers et des sous-répertoires et ainsi de suite. L’organisation des fichiers et des répertoires d’une disquette ou d’un disque dur est dite hiérarchisée. On parle également d’arborescence des répertoires.

Page 84: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0188

Séquence 2

Exemple : Voici un exemple d’arborescence de répertoires

Explications du schéma :

• le répertoire principal (répertoire « \ ») contient 3 fichiers et 2 sous-répertoires « COURRIER » et « FACTURE » ;

• le répertoire « COURRIER » contient 2 fichiers et 1 sous-répertoire « INTERNE » ;

• le répertoire « INTERNE » contient uniquement 1 fichier ;

• le répertoire « FACTURE » contient 2 sous-répertoires « PROVINCE » et « PARIS » ;

• le répertoire « PROVINCE » contient 2 sous-répertoires « BORDEAUX » et « LILLE » ;

• les répertoires « PARIS », « BORDEAUX » et « LILLE » sont vides.

Le répertoire « PROVINCE » est appelé le répertoire fils de « FACTURE » et le répertoire « FACTURE » est le répertoire père de « PROVINCE » et « PARIS ». Sacrée famille !

Remarques

• Au départ de l'arborescence (au début de la hiérarchie), il y a le répertoire « Principal » (appelé également « Racine »). Il est le père de tous les répertoires. A partir de lui, l'uti-lisateur peut créer ses répertoires et ses sous-répertoires mais il peut également accéder à tous les sous-répertoires de l'arborescence.

• Le répertoire principal est le seul à ne pas être créé par l'utilisateur. En effet, il est créé et mis en place par le système d'exploitation lors de l'opération de formatage (Cf la com-mande Format de MS-DOS). Attention, cette remarque est trop restrictive dans le sens où lors de l'installation d'un OS, il peut y avoir d'autres répertoires fonctionnels mis en place mais ils seront forcément placés en dessous du répertoire « Racine ».

• Le répertoire principal (répertoire « racine ») ne peut jamais être supprimé.

• Dans le cadre de MS-DOS et Windows, le répertoire principal est représenté par le symbole « \ » (Antislash). Il est obtenu en appuyant simultanément sur la touche AltGr et la tou-che 8 du pavé « machine à écrire » ou encore en maintenant la touche « Alt » enfoncée puis en tapant la valeur 92. Cette valeur correspond au code ASCII du caractère « \ ». Remarque : le répertoire principal sous « Linux » se représente par le symbole « / » (Barre de division appelée également SLASH) mais nous aurons l'occasion d'en parler dans la séquence 4 de ce support.

Page 85: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0189

4. Nom de fichiers et de répertoires sous MS-DOS

Sous MS-DOS, le nom d’un fichier est composé de deux parties (le nom et l’extension). Les deux parties se trouvent séparées par un point. Cela donne :

Nom . Extension

La partie Nom : elle permet de donner un nom au fichier. Le nom est donné par l’utilisateur au moment de la sauvegarde de son document. Attention, dans les versions MSDOS jusqu’à 6.22, il ne peut y avoir, au maximum, que 8 caractères dans le nom. Si l’utilisateur en indique plus, soit les caractères supplémentaires sont élimi-nés, soit le nom fourni au document est refusé. Un nom ne peut contenir que des lettres (A-Z), des chiffres (0-9) ou le caractère souligné « _» (il se trouve sur la touche 8 du pavé « machine à écrire »). Attention, un nom doit obligatoirement commencer par une lettre. Lorsque l’on se place en mode DOS sous Windows, on peut utiliser des noms long allant jusqu’à 255 caractères.

La partie Extention : elle doit être manipulée avec précaution. Elle donne une indica-tion sur le nom du logiciel qui a permis de créer le document. C’est la signature du logiciel. Elle se compose de 3 caractères au maxi-mum (lettres, chiffres, souligné) dans les versions MS-DOS jusqu’à 6.22. En règle générale, c’est le logiciel qui place l’extension et non l’utilisateur, mais bien entendu rien ne l’empêche de le faire.

Exemple d’extension : Extension DOC Ë Logiciel WORD

Extension XLS Ë Logiciel EXCEL

Extension MDB Ë Logiciel ACCESS

Extension EXE Ë Fichier exécutable

Extension BAT Ë Fichier « Batch »

Extension TXT Ë Fichier « Texte »

L’extension est d’autant plus importante dans les versions Windows 9X et Windows bran-che NT que l’extension est bien souvent associée à un logiciel. Cela permet, en mode gra-phique Windows, en double cliquant sur le nom d’un fichier d’ouvrir automatiquement l’application associée.

Les répertoires (dossiers) quant à eux ont un nom qui se compose que d’une seule par-tie : la partie « nom ». Attention, rien ne vous empêche d’ajouter une partie extension à votre nom de répertoire mais ce n’est pas usuel. Un nom de répertoire respecte les mêmes règles que celles énoncées précédemment.

Page 86: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0190

Séquence 2

5. La notion de chemin

Un chemin est la « route » qu’il faut suivre à travers l’arborescence des répertoires pour atteindre un point de l’arborescence à partir d’un autre point. Pour décrire un chemin, il suffit de donner le nom des répertoires traversés en séparant chacun des noms par le symbole « \ » (Antislash) pour DOS et Windows et le symbole « / » (slash) pour LINUX.

Remarque

Le répertoire courant est le répertoire de travail. Il s’agit du répertoire sur lequel nous nous sommes physiquement positionnés à l’aide des commandes DOS dont nous parlerons dans la suite de ce cours.

Exemple : à partir de l’arborescence des répertoires que nous avons donné en exemple précédemment :

• Si le répertoire courant est le répertoire principal (répertoire « \ »), alors « COURRIER\INTERNE\fichier111 » est le chemin à suivre pour atteindre fichier111 à partir du répertoire principal.

• Si le répertoire courant est le répertoire « FACTURE », alors « PROVINCE\BORDEAUX » est le chemin à suivre pour atteindre « BORDEAUX » à partir du répertoire « FACTURE ».

En fait, il faut distinguer deux types de chemin: le chemin « relatif » et le chemin « absolu ».

• Un chemin relatif est un chemin qui décrit la route à suivre dans l'arborescence à partir du répertoire de travail (répertoire courant).

• Un chemin absolu est un chemin qui décrit la route à suivre dans l'arborescence à partir du répertoire principal (répertoire « \ »). Un chemin absolu commence toujours par « \ » (Ceci pour indiquer qu'on part du répertoire principal et non du répertoire courant).

Remarque

Sous Linux, un chemin absolu commence toujours par « / ».

Exemple : à partir de la hiérarchie des répertoires que nous avons donné en exemple précédemment :

• Si le répertoire courant est le répertoire « COURRIER », alors « INTERNE\fichier111 » est le chemin relatif à suivre pour atteindre fichier111 à partir du répertoire COURRIER et « \COURRIER\INTERNE\fichier111 » est le chemin absolu.

• Si le répertoire courant est le répertoire « PROVINCE », alors « ..\..\COURRIER\INTERNE\fichier111 » est le chemin relatif à suivre pour atteindre fichier111 à par-tir du répertoire « PROVINCE » (L'utilisation de « .. » indique que l'utilisateur veut remonter d'un niveau dans l'arborescence) et « \COURRIER\INTERNE\fichier111 » est le chemin absolu.

Page 87: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0191

Pour faire apparaître le caractère « \ » (antislash), il faut utiliser la séquence de touche « AltGr » + « Touche 8 du pavé machine à écrire ». D’une manière généra-le, il existe un autre moyen pour faire apparaître un caractère. Il suffi t de connaî-tre son code ASCII puis de taper « Alt » + « Code ASCII ». Ainsi le caractère « \ » a pour code ASCII 92. Donc pour le faire apparaître, il suffi t d’appuyer sur la touche « Alt » en la maintenant enfoncée puis de taper 92. En lâchant la touche « Alt », le caractère associé au code saisi apparaît.

6. La variable d’environnement « PATH »

Précédemment, nous avons évoqué le fait que l’interpréteur de commandes « Command.com » avait pour rôle de lancer l’exécution des commandes dont l’utilisateur saisit le nom au clavier. Si cette commande correspond à une commande « interne », elle est immédiatement exécutée. Dans le cas contraire, l’interpréteur de commande va chercher, sur le disque, le nom d’un fichier « exécutable » correspondant au nom de la commande saisie. Cependant, l’OS ne va pas chercher partout. Il se contente de chercher dans un premier temps dans le répertoire courant (le répertoire de travail). Ensuite, s’il ne trouve pas de correspondance, il va alors consulter l’une de ses variables d’environnement qui porte le nom « PATH ».

Une variable d’environnement contient une information consultable par toutes les applications qui le souhaitent quand elles le souhaitent. Ce mécanisme permet de paramétrer le fonctionnement de « command.com » mais également dans certains cas, le fonctionnement de programmes « applicatifs » (des logiciels).

La variable d’environnement « PATH » contient une liste de répertoires dans lesquels « command.com » doit rechercher par défaut le fichier « exécutable » dont le nom cor-respond à la commande tapée par l’utilisateur. Plus généralement, elle définit les che-mins de recherche pour les fichiers d’extension « .com », « .exe » ou « .bat ».

Remarques

• La liste des répertoires de recherche doit être associée à la variable d'environnement « PATH » dans le fichier « autoexec.bat ». Pour cela, il suffit de donner, en mode « che-min absolu », la liste des chemins pour atteindre les répertoires de recherche. Bien enten-du pour ceux qui connaissent MS-DOS, ils savent qu’il est possible d’associer la liste des répertoires de recherche à la variable « PATH » en cours d’utilisation de MS-DOS. Cependant, le problème est que, dans ce cas, cette association n’est plus valable une fois que l’on quitte l’OS. C’est pourquoi, il est conseillé de définir la variable « PATH » dans le fichier « Autoexec.bat » dont le contenu est lu à chaque « boot » de DOS.

• Pour associer la liste des répertoires de recherche à la variable « PATH », il faut taper la commande suivante :

PATH=ListeRépertoiresou

PATH ListeRépertoires

• Dans la liste de répertoires de recherche, chaque chemin doit être séparé du suivant par un point-virgule « ; ».

Page 88: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0192

Séquence 2

Exemple de déclaration :

PATH=C:\;C:\DOS;C:\COURRIERË Dans cet exemple, on spécifie également, pour chaque chemin, le nom du disque contenant les répertoires. Ici, il s’agit du disque de nom « C: » (voir suite du support)

• Attention, en employant la syntaxe précédente pour associer la liste des répertoires de recherche à la variable « PATH », nous avons réinitialisé cette dernière avec une nouvelle liste. Il se peut parfois que nous souhaitions ajouter de nouveaux répertoires de recherche à la liste existante. Dans ce cas, la syntaxe devient :

PATH=%PATH%;ListeRépertoiresou

PATH %PATH%;ListeRépertoires

Exemple de déclaration :

PATH=%PATH%;C:\COURRIERË Dans cet exemple, on ajoute, à la liste des répertoires de recherche en cours, le répertoire de nom « C:\COURRIER ».

• En tapant le mot « PATH » sur la ligne de commande puis en appuyant sur la touche « Entrée », MS-DOS affiche la liste actuelle des répertoires de recherche.

7. Commencer avec MS-DOS

7A. Accéder à l’environnement MS-DOS

Pour utiliser les commandes que nous allons définir dans la suite de ce support, il nous faut nous placer soit totalement en environnement MS-DOS soit nous placer dans une fenêtre « ligne de commande » à partir de Windows 9X ou Windows branche NT. Dans le premier cas, il suffit d’installer MS-DOS (par exemple version 6.22) sur un disque dur, ou du moins sur une partition principale active, ou dans une machine virtuelle. En ce qui concerne Windows 9X, prenons par exemple Windows 98, on peut cliquer sur [Démarrer] [Programmes] [Commandes MS-DOS] ou encore cliquer [Démarrer] [Exécuter] puis taper « command » dans la zone de saisie de la boite de dialogue qui s’ouvre. En ce qui concerne Windows branche NT, prenons par exemple Windows XP Pro, il suffit de cliquer sur [Démarrer] [Programmes] [Accessoires] [Invite de commandes] ou de prendre [Démarrer] [Exécuter] puis taper « cmd » dans la zone de saisie. Dans les deux cas concer-nant Windows, nous nous retrouvons dans une fenêtre « Ligne de commandes » à partir de laquelle nous pouvons taper et tester nos commandes MS-DOS.

Quel que soit le mode que vous avez choisi pour vous retrouver dans un espace permet-tant de taper des commandes MS-DOS, vous verrez apparaître à l’écran un « PROMPT » (une invite) qui indique à l’utilisateur que celui-ci peut taper la commande DOS qu’il souhaite. Voici un exemple de prompt :

Page 89: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0193

Dans notre capture écran précédente, le prompt s’affi che sous la forme : « c:\> », ce qui a pour signifi cation :

Le PROMPT indique donc le nom du lecteur courant ainsi que le nom du répertoire courant. Ouvrons une parenthèse sur cette notion de lecteur courant et de répertoire courant. Un ordinateur peut se composer de plusieurs lecteurs (lecteur de disquette, disque dur, lecteur de CD-ROM). Or on ne peut pas travailler simultanément sur tous les lecteurs donc il est nécessaire d’en désigner un comme lecteur par défaut. C’est ce que l’on appelle le lecteur courant. De même, sur une disquette, un disque dur ou encore un CD-ROM, il peut y avoir plusieurs répertoires créés. Comme pour les lecteurs, on ne peut pas travailler simultanément sur tous les répertoires. Il faut donc là aussi en désigner un par défaut. C’est le répertoire courant également appelé répertoire de travail. Ainsi, par défaut, les commandes effectuent leur travail sur l’unité de disque courante et dans le répertoire courant à moins de spécifier explicitement une autre destination (voir suite). Nous verrons également dans la suite du cours comment changer de lecteur courant et de répertoire courant.

Remarque

Le caractère « > » est un caractère indiquant la fin de l’invite. L’utilisateur peut donc taper les commandes DOS à sa suite. Nous pouvons d’ailleurs observer la présence du curseur clignotant (curseur d’insertion) matérialisant le début de la zone de saisie.

7B. Le nom d’une unité de disquePrécédemment, nous avons indiqué que dans le prompt apparaît le nom du lecteur cou-rant. Dans notre capture d’écran, il s’agit du lecteur « c: » correspondant au disque dur ou du moins à une partition du disque dur dans le cas où celui-ci en contient plusieurs. Pour changer de lecteur de disque courant, il suffit de taper la commande qui suit et valider.

Nom_de_l’unité :

Page 90: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0194

Séquence 2

Exemple : si l’utilisateur veut activer le lecteur de CD-ROM, à condition que ce dernier contiennent un CD-ROM, il doit taper « D: » sans espace entre le « D » et le « : » puis ap-puyer sur la touche « Entrée » pour valider son action.

Remarque

DOS ne fait pas de différence entre les caractères en majuscule et les caractères en minuscule.

Remarques

• Avec MS-DOS et en généralisant sous Windows, par convention, un lecteur de disquette aura toujours pour nom « A: » ou « B: », un disque dur ou la partition active aura pour nom « C: ». Pour les autres lettres possibles, on peut les associer indifféremment à un lecteur de CD-ROM (bien que dans ce cas, on ait une préférence pour « D: »), un autre disque dur ou une partition logique. Avec MS-DOS, il est également possible d'attribuer une lettre de lecteur à un lecteur logique. Il s'agit d'un nom de lecteur attribué à un répertoire donné ce qui permet, lorsque l'utilisateur tape le nom du lecteur logique, d'être directement positionné sur le répertoire concerné (voir la commande « subst » plus loin dans ce support).

• Si l'utilisateur active un lecteur de CD-ROM dans lequel il n'y a pas de CD-ROM, une erreur se produit.

7C. Syntaxe d’une commande systèmeD’une manière générale, voici la syntaxe à employer pour une commande DOS que l’on tape à la suite du prompt :

NomCommande Paramètres Options

NomCommande : nom de la commande MS-DOS à exécuter. Il peut s’agir d’une commande interne ou d’une commande externe. Dans ce dernier cas, la commande se présente sous la forme d’un fichier « exécutable » portant le nom de la commande souhaitée suivi de l’extension « .exe » ou « .com ». Je vous rappelle que les commandes externes sont des commandes dont l’utilisateur a besoin ponctuellement ce qui implique que le code n’a pas besoin de rester en permanence en mémoire RAM. Par exemple, la commande « format » (utilisée pour effectuer un formatage de haut niveau) est une commande externe. Elle se présente donc sous la forme d’un fichier « exécutable » de nom « format.com ». Ce fichier peut être situé dans le répertoire des commandes DOS du disque dur ou sur une disquette. Lorsque l’utilisateur tape le nom d’une commande externe, MS-DOS cherche le fichier « exécutable » dans le répertoire courant du lecteur

Page 91: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0195

courant ou dans un répertoire se trouvant dans la liste des répertoires de recherche définie par la variable d’environnement « PATH » (voir précédemment). Les commandes internes, elles, sont contenues dans le programme « command.com » et se trouvent donc en mémoire tant que « command.com » s’y trouve. Ce n’est donc pas la peine de cher-cher un fichier « exécutable » sur disque ou sur disquette pour les commandes internes.

Paramètres : permet de préciser ce sur quoi va porter la commande exécutée. (par exem-ple, quel est le nom du fichier qui doit être copié, quel est le nom du répertoire en cours de création, quel est le nom du répertoire dont on souhaite lister le contenu, etc).

Exemple 1 : copy Fichier1 Fichier2

Ë « copy » est le nom de la commande. Son rôle est de copier le contenu d’un fichier dans un autre (voir plus loin dans le cours).

Ë « Fichier1 » et « Fichier2 » sont les paramètres de la commande. En effet, la com-mande « copy » demande à l’utilisateur de préciser sur quel fichier doit porter l’action et quel sera le nom du fichier résultat.

Exemple 2 : dir d:

Ë « dir » est le nom de la commande. Son rôle est de lister le contenu d’un réper-toire.

Ë « d: » est le paramètre de la commande. Ce paramètre représente le nom du lecteur de CD-ROM donc l’action de la commande va porter sur le CD-ROM. En conclusion, dans notre exemple, il s’agit de lister le contenu du répertoire courant du CD-ROM (voir plus loin dans le cours).

Options : permet de modifi er le fonctionnement « par défaut » d’une commande ou de lui faire faire des actions complémentaires. Une option commence toujours par un caractère « / » (appelé « barre de division » ou « slash »).

Exemple 1 : del Fichier1 /p

Ë « del » est le nom de la commande. Son rôle est de supprimer le fichier dont on donne le nom en paramètre (Cf plus loin dans le cours).

Ë « Fichier1 » est le paramètre de la commande, donc le nom du fichier à suppri-mer.

Ë « /p » est une option de la commande « del ». Par défaut, cette commande sup-prime le fichier, dont on donne le nom en paramètre, sans demander de confir-mation. En ajoutant l’option « /p », on modifie le comportement par défaut de la commande « del » en lui imposant de demander une confirmation à l’utilisateur.

Exemple 2 : format a: /s

Ë « format » est le nom de la commande. Son rôle est d’effectuer un formatage de haut niveau d’un disque dur, d’une partition ou d’une disquette.

Ë « a: » est le paramètre de la commande. Ce paramètre représente le nom du lec-teur de disquette donc l’action de la commande va porter sur la disquette conte-nue dans le lecteur.

Ë « /s » est une option de la commande « format ». Par défaut, cette commande effectue le formatage souhaité un point c’est tout. En ajoutant l’option « /s », on lui demande de réaliser en plus du formatage, la copie des fichiers « io.sys », « msdos.sys » et « command.com » sur la disquette afin de la rendre bootable.

Page 92: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0196

Séquence 2

Remarque

Toutes les commandes MS-DOS n’ont pas besoin de paramètre lors de leur exécution et toutes ne disposent pas des mêmes options. Il est difficile de retenir toutes les possibilités de toutes les commandes. Cependant, il existe une option commune à toutes les commandes qui est «/?». Cette option permet d’obtenir de l’aide sur la commande concernée notam-ment son objectif, les paramètres attendus et les options possibles. Ceci est d’autant plus utile qu’en fonction de la version de DOS que vous allez utiliser, une même commande peut avoir des options en plus ou en moins.

Exemple : dir /?

Ë permet d’afficher de l’aide sur la commande « dir »

O Certaines commandes externes peuvent refuser de s’exécuter si la version de MS-DOS utilisée n’est pas compatible avec celle attendue. Dans ce cas, il faut soit se placer dans un environnement DOS compatible avec la version attendue par la commande, soit lancer l’exécution de la commande développée pour la version MS-DOS en cours.

7D. Quelques commandes systèmes

7D1. Avant de commencerNous allons maintenant parler plus en détail de certaines commandes MS-DOS. Attention, nous ne parlerons pas de toutes les commandes MS-DOS mais seulement de certaines qui vont nous permettre d’acquérir les bases de l’utilisation d’un OS en mode « ligne de commande », c’est à dire sans le mode « graphique ». Je vous rappelle que le travail en mode « ligne de commande » permet parfois de travailler plus finement avec un OS ne serait-ce que pour la configuration de l’ordinateur ou son dépannage. Vous trouverez à la fin du paragraphe 7D12, un tableau récapitulant les commandes MS-DOS les plus utiles. Pour en connaître le fonctionnement, vous pouvez soit utiliser l’option « /? » qui apporte une aide sur la commande concernée, soit vous référer à un livre traitant du sujet ou encore aller sur « Internet » avec le mot-clé « MS-DOS » ou « DOS ».

Pour tester les commandes MS-DOS, il faut bien entendu que vous soyez dans un envi-ronnement MS-DOS réel, virtuel ou via une fenêtre de commande (Cf précédemment). Il vous suffit alors de taper la commande souhaitée avec éventuellement ses paramètres et ses options puis de valider votre saisie avec la touche « Entrée ». A cet instant, l’interpré-teur de commande analysera le nom de la commande saisie puis il la comparera avec la liste des commandes internes. S’il trouve une correspondance, il l’exécute. Dans la néga-tive, il cherche un fichier « exécutable » de même nom que la commande ayant pour extension dans l’ordre « .com », « .exe » ou « .bat ». La recherche s’effectue d’abord dans le répertoire courant puis dans la liste des répertoires de recherche définie par la variable d’environnement « PATH »

Pour connaître cette liste, il suffi t de taper « PATH » à la suite du prompt et valider. Si la commande demandée n’a pas de correspondance, alors MS-DOS affi che un message d’erreur. Uns fois la commande exécutée ou le message d’erreur affi ché, MS-DOS fera réapparaître le prompt en attendant l’ordre suivant.

Page 93: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0197

Remarques

• Les commandes peuvent être saisies en majuscule ou en minuscule indifféremment.

• En appuyant sur la touche « F3 », l'interpréteur de commande fait réapparaître la der-nière commande saisie qu'il ne reste plus qu'à modifier éventuellement puis à réexécuter en appuyant sur la touche « Entrée ».

• En appuyant plusieurs fois sur la touche « F1 », l'interpréteur de commande fait réappa-raître la dernière commande saisie lettre par lettre.

• En appuyant sur le touche « flèche haut » ou « flèche bas », l'interpréteur de commande vous permet de lister les dernières commandes saisies. Attention si vous utilisez une fenê-tre de commandes Windows, la liste est vidée à chaque fois que vous refermez la fenêtre de commandes.

Maintenant que nous venons d’apporter toutes ces précisions, il ne reste plus qu’à nous lancer dans l’étude de certaines commandes. Allez c’est parti !

7D2. La commande « cls »Syntaxe : cls

Description : Il s’agit d’une commande interne qui permet d’effacer tous les caractères actuellement affichés à l’écran.

7D3. La commande « dir »

Syntaxe : dir NomLecteur CheminRep NomFichiers

Ë Lors de l’utilisation de cette commande, il n’est pas obligatoire de préciser un nom de lecteur ni un chemin de répertoire ni un nom de fichier.

Description : Permet de visualiser le contenu d’un répertoire, à savoir, les fichiers et les sous-répertoires qu’il contient. Par défaut, la commande permet de visualiser le contenu du répertoire courant du lecteur courant. Dans la liste affichée après exécution de la commande, les sous-répertoires sont repérés par le mot « <REP>. »

Exemple : dir Ë affiche le contenu du répertoire courant du lecteur courant.

Il est possible de préciser l’action de la commande « dir » en lui ajoutant des paramètres supplémentaires. Ainsi :

NomLecteur : permet de préciser le nom du lecteur concerné par la commande « dir »

CheminRep : permet de préciser le nom du répertoire dont vous souhaitez lister le contenu ainsi qu’éventuellement le chemin pour l’atteindre. Le chemin peut être donné en « relatif » ou en « absolu » (voir précédemment).

NomFichiers : permet de préciser le nom du fichier recherché dans le répertoire ou éventuellement un masque employant des caractères « joker » appelés également métacaractères (voir suite) permettant de spécifier un ensemble de noms possibles pour les fichiers recherchés dans le répertoire. Si « NomFichiers » n’est pas présent, MS-DOS affiche par défaut la totalité du contenu du répertoire désigné.

Page 94: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 0198

Séquence 2

Voici quelques exemples élaborés à partir de l’exemple de hiérarchie des répertoires vue précédemment.

dir a : Ë affiche le contenu du répertoire courant de la disquette se trouvant dans le

lecteur de disquette. Cela permet de voir le contenu de la disquette sans avoir besoin de désigner le lecteur de disquette comme lecteur courant auparavant.

dir \Courrier\Interne

Ë affiche le contenu du répertoire de nom « Interne » se trouvant sur le lecteur courant. Le paramètre « \Courrier\Interne » représente le chemin absolu qui faut suivre pour atteindre ce répertoire.

dir c:\Courrier\Interne

Ë affiche le contenu du répertoire de nom « Interne » se trouvant sur le lecteur « c: ». Comme dans l’exemple précédent, le paramètre « \Courrier\Interne » représente le chemin absolu qui faut suivre pour atteindre ce répertoire.

dir Interne

Ë affiche le contenu du répertoire « Interne » se trouvant sur le lecteur courant à la condition que le répertoire courant soit le répertoire « Courrier » En effet, ce dernier contient justement le répertoire « Interne ». (voir notre exemple de hié-rarchie des répertoires vu précédemment).

La commande « dir » possède un certain nombre d’options dont on peut obtenir la liste en tapant « dir /? ». Elle possède entre autre les options suivantes :

/p : option utile lorsque le nombre de fi chiers ou de sous-répertoires est trop im-portant. En effet, cette option permet de faire un affi chage page « écran » par page « écran ». Entre chaque page écran affi chée, la commande effectue un arrêt laissant ainsi le temps à l’utilisateur de lire les données affi chées.

/w : affi che le résultat sur cinq colonnes.

Remarque

Certaines options peuvent être combinées. Ainsi l’option « /p/w » permet d’afficher le résul-tat sur cinq colonnes avec un arrêt à chaque page « écran ».

/s : affi che le contenu du répertoire souhaité ainsi que celui de tous ses sous-ré-pertoires.

/b : affi che le résultat réduit au nom des fi chiers et des sous-répertoires./o : affi che le contenu du répertoire d’une manière trié. Cette option réalise, par

défaut, un tri suivant l’ordre alphabétique du nom des fi chiers et des sous-répertoires. Pour spécifi er un autre ordre, il faut compléter l’option avec :

s Ë tri par taille en ordre croissante Ë par extensiond Ë par date et heuren Ë par nom

En ajoutant un tiret « - » devant l’un des choix de tri, le tri se fait en ordre inverse. Ainsi :

dir /osË affi che le résultat par ordre croissant de taille

Page 95: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 0199

dir /o-sË affi che le résultat par ordre décroissant de taille

Remarque

Avant Windows 95, un nom de fichier ou de répertoire devait respecter le format «8.3», c’est-à-dire un maximum de 8 caractères pour le nom et un maximum de 3 caractères pour l’extension, sans espace à l’intérieur mais avec un point pour séparer la partie « Nom » et la partie « Extension ». Avec Windows 95, les noms «longs» sont apparus pour les fichiers et les répertoires. Ils autorisent jusqu’à un total de 255 caractères pour le nom et l’extension avec en plus la possibilité d’ajouter des espaces, des caractères accentués et éventuellement plusieurs points à l’intérieur. Bien entendu, si le nom de votre fichier contient plusieurs points, seul le dernier sera considéré comme le séparateur entre la partie « Nom » et la partie « Extension ». Pour rester compatible avec les programmes MS-DOS et les program-mes Windows fonctionnant en mode 16 bits, Windows 95 et les différents successeurs possèdent, pour chaque fichier et chaque répertoire, une traduction de leur nom au format « 8.3 » que nous appellerons le format « court ». Si le nom du fichier ou du répertoire est déjà au format « 8.3 », la traduction en nom « court » est identique. Par contre, dès qu’un nom dépasse 8 caractères pour la partie « Nom », 3 caractères pour la partie « Extension » ou encore qu’il contient des espaces, des accents ou plusieurs points, Windows opère une traduction du nom afin que celui-ci respecte les règles du format « court » (format « 8.3 »). Un nom « court » est mis en majuscule.

Comment se fait la traduction ? Voici quelques règles de passage et quelques exemples :

• Si la partie « Nom » dépasse 8 caractères, Windows ne garde que les 6 premiers caractères, ajoute le caractère « ~ » (tilde) et un numéro d'ordre, ce qui permet de différencier les noms « courts » dans le cas où plusieurs traductions de nom « long » en nom « court » sont semblables.

• Si la partie « Nom » contient des espaces, Windows ne garde que les 6 premiers caractères après avoir enlevé les espaces dans le nom « long », ajoute le caractère « ~ » (tilde) et un numéro d'ordre comme précédemment.

• Si la partie « Extension » dépasse 3 caractères, Windows ne garde que les 3 premiers caractères de la partie « Extension », ajoute le caractère « ~ » (tilde) dans la partie « Nom » et un numéro d'ordre comme précédemment.

• Si le nom contient plusieurs points, Windows les enlève et ne garde que le dernier en tant que séparateur d'avec la partie « Extension », ajoute le caractère « ~ » (tilde) dans la partie « Nom » et un numéro d'ordre comme précédemment.

Voici des exemples :

• Le fichier de nom « lettres.doc » ne possède pas de traduction spécifique en nom « court » car il correspond aux exigences du format « 8.3 ». Le nom « court » sera donc « LETTRES.DOC ».

• Le fichier de nom « lettres05.doc » possède une traduction en nom « court » car la partie « Nom » dépasse 8 caractères. La traduction en nom « court » sera « LETTRE~1.DOC ».

• Le répertoire de nom « Ma Sauvegarde » possède une traduction en nom « court » car la partie « Nom » dépasse 8 caractères. La traduction en nom « court » sera « MASAUV~1 ».

• Le fichier de nom « mon.fichier.personnel.xls » possède une traduction en nom « court » car la partie « Nom » dépasse 8 caractères et possède plusieurs points. La traduction en nom « court » sera « MONFIC~1.XLS ». Si dans le même répertoire, on dispose

Page 96: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01100

Séquence 2

d'un fichier de nom « mon fichier.xls », Windows générera un nom « court » qui sera « MONFIC~2.XLS » avec un autre numéro d'ordre puisque le nom « court » est identi-que à celui qui a été généré pour le fichier de nom « mon.fichier.personnel.xls ».

• Le fichier de nom « fichier.abcde » possède une traduction en nom « court » car la partie « Extension » dépasse 3 caractères. La traduction en nom « court » sera « FICHIE~1.ABC ». Dans cet exemple, la partie « Nom » a également été réduite, car après ajout du caractère « ~ » (tilde) et du numéro d'ordre, celle-ci dépassait la limite des 8 caractères..

O Pour visualiser les noms « courts » d'un fichier ou d'un répertoire, il faut être dans un environnement DOS sous Windows 9X ou Windows branche NT.

7D4. Les caractères « joker » ou les métacaractèresLes caractères « joker » également appelés « métacaractères » sont au nombre de DEUX. Leur rôle est de remplacer des combinaisons de caractères dans certaines commandes MS-DOS (DIR, DEL, COPY, REN ...). Il s’agit de :

• L'astérisque « * » qui remplace toutes combinaisons possibles de caractères. S'il est placé dans la partie « Nom » d'un fichier ou d'un répertoire, il peut remplacer de 0 à 8 caractères (voire 255 dans le cas des noms longs de fichiers ou de répertoires utilisés dans l'environnement Windows 9X et Windows branche NT). S'il est placé dans la partie « Extension », il peut remplacer de 0 à 3 caractères (voire plus dans le cas des noms longs de fichiers ou de répertoires utilisés dans l'environnement Windows 9X et Windows branche NT).

• Le point d'interrogation « ? », qui au contraire de l'astérisque, ne remplace qu'un et un seul caractère obligatoire.

Exemples : dir A*.DOC

Ë permet d’afficher tous les fichiers dont le nom commence par un « A » quelles que soient les autres lettres et ayant pour extension « .DOC ».

dir *.XLS

Ë permet d’afficher tous les fichiers quel que soit le nom et ayant pour extension « .XLS ».

dir Bidon.*

Ë permet d’afficher tous les fichiers dont le nom est « Bidon » quelle que soit l’ex-tension.

dir ?a*.DOC

Ë permet d’afficher tous les fichiers dont le nom possède la lettre « a » en deuxième position quels que soient les autres caractères et ayant pour extension « .DOC ».

dir *.e*

Ë permet d’afficher tous les fichiers quel que soit le nom et dont l’extension com-mence par la lettre « e ».

dir test.*

Ë permet d’afficher tous les fichiers ayant pour nom « test » quelle que soit l’exten-sion. Ces fichiers sont recherchés dans le répertoire courant du lecteur courant.

Page 97: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01101

dir c:test.*

Ë permet d’afficher tous les fichiers ayant pour nom « test » quelle que soit l’exten-sion. Ces fichiers sont recherchés dans le répertoire courant du lecteur « C: ».

dir c:\Courrier\Interne\*04.*

Ë permet d’afficher tous les fichiers dont le nom se termine par « 04 » quelle que soit l’extension. Ces fichiers sont recherchés dans le répertoire « \Courrier\Interne » du lecteur « C: ». Le chemin est donné en mode absolu.

dir c:??o*.com

Ë Affiche tous les fichiers dont la troisième lettre du nom est un « o » et ayant pour extension « .COM ». Ces fichiers sont recherchés dans le répertoire courant du lecteur « C: ».

dir *.

Ë Affiche tous les fichiers n’ayant pas d’extension quel que soit le nom. Ces fichiers sont recherchés dans le répertoire courant du lecteur courant. Cette syntaxe permet de voir apparaître les sous-répertoires car ces derniers n’ont, en général, pas d’exten-sion.

7D5. La commande « tree »Syntaxe : tree NomLecteur CheminRep

Ë Lors de l’utilisation de cette commande, il n’est pas nécessaire de préciser un che-min de répertoire ni un nom de lecteur.

Description : permet de lister l’arborescence des répertoires du disque dur ou de la disquette en partant du répertoire spécifié.

NomLecteur : permet de préciser le nom du lecteur concerné

CheminRep : permet de préciser le nom du répertoire à partir duquel vous souhaitez lister l’arborescence des répertoires. Le chemin peut être donné en « relatif » ou en « absolu ». (voir précédemment).

Exemple : tree

Ë affiche l’arborescence des répertoires à partir du répertoire courant dans le lecteur courant.

tree c:\

Ë liste l’arborescence des répertoires du lecteur de nom « c: » en partant du réper-toire principal.

7D6. La commande « cd »Syntaxe : cd CheminRep

Description : Permet de changer de répertoire courant dans le lecteur courant.

CheminRep : permet de préciser le nom du répertoire que vous souhaitez atteindre avec éventuellement le chemin pour l’atteindre. Le chemin peut être donné en « relatif » ou en « absolu ». (voir précédemment).

Voici quelques exemples élaborés à partir de l’exemple de l’arborescence des répertoires vue précédemment.

Page 98: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01102

Séquence 2

cd Interne

Ë Si le répertoire courant est « COURRIER », la commande « cd Interne » permet de descendre dans le répertoire fils de nom « INTERNE ».

cd \Courrier\Interne

Ë Permet de descendre dans le répertoire de nom « INTERNE » sous-répertoire de « Courrier » quel que soit le répertoire courant. Nous avons spécifié un chemin absolu.

Remarques

• Il faut que le répertoire que vous souhaitez atteindre existe, sinon MS-DOS déclenche une erreur.

• Si vous employez la commande « cd » sans spécifier de répertoire, MS-DOS vous affiche le nom du répertoire courant ainsi que le nom du lecteur courant.

• Pour remonter au répertoire « père » du répertoire courant, il suffit de taper la commande :

cd ..

Les deux-points représentent toujours le répertoire père d’un répertoire donné. Attention, seul le répertoire principal « \ » n’a pas de répertoire père.

7D7. La commande « md » (ou mkdir)

Syntaxe : md CheminRep mkdir CheminRep

Description : Permet de créer un nouveau répertoire. Si vous donnez le nom du nouveau répertoire sans spécifier de chemin, le nouveau répertoire sera créé dans le répertoire courant, par contre, si vous spécifiez un chemin, il sera créé à l’emplacement désigné par le chemin. Voici quelques exemples élaborés à partir de l’exemple de l’arborescence des répertoires vue précédemment.

md ExterneË Si le répertoire courant est « COURRIER », la commande « md Externe » permet

de créer un répertoire de nom « Externe » à l’intérieur du répertoire « COUR-RIER ».

md \Courrier\ExterneË Permet de créer le répertoire de nom « Externe » sous-répertoire de « Courrier »

quel que soit le répertoire courant. Nous avons spécifi é un chemin absolu.

Remarques

• Attention, lorsque vous créez un nouveau répertoire, il ne devient pas le nouveau répertoire courant. Il faut employer la commande « cd » pour cela.

• Le nom du répertoire ne doit pas dépasser 8 caractères et ne doit être composé que de lettres, chiffres ou le caractère souligné. Bien entendu, si vous étudiez les commandes MS-DOS à partir de la fenêtre « Ligne de commande » de Windows 9X ou Windows branche NT, vous pouvez donner un nom de répertoire jusqu'à 255 caractères et si vous mettez des espaces à l'intérieur du nom, il faut que le nom du répertoire soit placé entre guillemets.

Exemple : md "Mon Nouveau répertoire"

Page 99: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01103

7D8. La commande « rd »

Syntaxe : rd CheminRep

Description : permet de supprimer un répertoire. Si vous donnez le nom du répertoire sans spécifier de chemin, le répertoire à supprimer sera recherché dans le répertoire cou-rant. S’il n’existe pas, un message d’erreur apparaîtra. Si vous spécifiez un chemin, il sera supprimé à l’emplacement désigné par le chemin sauf si ce répertoire n’existe pas.

Voici quelques exemples élaborés à partir de l’exemple de l’arborescence des répertoires vue précédemment.

rd Externe

Ë Si le répertoire courant est « COURRIER », la commande « rd Externe » permet de supprimer le répertoire de nom « Externe » à l’intérieur du répertoire « COURRIER ».

rd \Courrier\Externe

Ë Permet de supprimer le répertoire de nom « Externe » sous-répertoire de « Courrier » quel que soit le répertoire courant. Nous avons spécifié un chemin absolu.

Remarques

• Un répertoire ne peut être supprimé que s'il est vide et qu'il ne soit pas le répertoire courant.

• Un répertoire est considéré vide si lorsqu'on liste son contenu avec la commande « dir » par exemple, il n'apparaît que le répertoire « . » et le répertoire « .. ». Le répertoire « . » représente le répertoire courant et le répertoire « .. » représente le répertoire père.

Voici une capture d'écran de ce que nous obtenons avec la commande « dir » sur un répertoire vide :

7D9. La commande « del »

Syntaxe : del [NomLecteur] [CheminRep] NomFichiers

Ë Dans la syntaxe, il apparaît les signes « [« et »] ». Cela signifie que l’élé-ment se trouvant entre les crochets peut être présent 0 ou 1 fois. Ainsi, lors de l’utilisation de cette commande, il n’est pas nécessaire de préciser un chemin de répertoire ni un nom de lecteur.

Description : permet de supprimer un ou plusieurs fichiers. Par défaut, la commande supprime les fichiers demandés à partir du répertoire courant du lecteur courant. Il est possible de spécifier le ou les fichiers à supprimer à l’aide des caractères « jokers » (les métacaractères) vus précédemment.

NomLecteur : permet de préciser le nom du lecteur concerné par la commande « del ».

CheminRep : permet de préciser le nom du répertoire contenant les fichiers à suppri-mer. Le chemin peut être donné en « relatif » ou en « absolu ». (voir précédemment).

NomFichiers : précise le nom du fichier à supprimer.

La commande « del » possède une option que l’on peut visualiser en tapant « del /? ». Il s’agit de l’option :

Page 100: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01104

Séquence 2

/p : qui indique que vous souhaitez confirmer la suppression des fichiers avant que l’opération ne se fasse.

Voici quelques exemples élaborés à partir de l’exemple de l’arborescence des répertoires vue précédemment.

del a:*.*

Ë supprime les fichiers du répertoire courant de la disquette quel que soit leur nom et leur extension.

del /Courrier/Interne/Fichier12

Ë supprime le fichier de nom « Fichier12 » qui se trouve dans le répertoire « /Courrier/Interne » du lecteur courant. Il s’agit d’un chemin absolu.

del c:/Courrier/Interne/Fichier12

Ë supprime le fichier de nom « Fichier12 » qui se trouve dans le répertoire « /Courrier/Interne » du lecteur « c: ».

del Interne/Fichier12

Ë supprime le fichier de nom « Fichier12 » qui se trouve dans le répertoire « Interne » se trouvant sur le lecteur courant à la condition que le répertoire courant soit « Courrier ».

del A*.DOC

Ë supprime, dans le répertoire courant et le lecteur courant, tous les fichiers dont le nom commence par un « A » quelles que soient les autres lettres et ayant pour extension « .DOC ».

del *.XLS

Ë supprime, dans le répertoire courant et le lecteur courant, tous les fichiers quel que soit le nom et ayant pour extension « .XLS ».

del Bidon.*

Ë supprime, dans le répertoire courant et le lecteur courant, tous les fichiers dont le nom est « Bidon » quelle que soit l’extension.

7D10. La commande « copy »

Syntaxe : copy Source Destination

Ë « Source » représente le fichier ou les fichiers à copier et « Destination » repré-sente le répertoire destination.

Ë « Source » a pour syntaxe : [NomLecteur:][CheminRep] NomFichiersSource

Ë « Destination » a pour syntaxe : [NomLecteur:][CheminRep] [NomFichierDest]

Dans la syntaxe, il apparaît les signes « [ » et « ] ». Cela signifi e que l’élément se trouvant entre les crochets peut être présent 0 ou 1 fois.

Page 101: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01105

Description : Permet de copier un ou plusieurs fichiers dans un répertoire « desti-nation ». Il est possible de spécifier le ou les fichiers à copier à l’aide des caractères « jokers » (les métacaractères) vus précédemment.

Voici quelques exemples

copy *04.xls \Sauve\Budget

Ë copie, à partir du répertoire courant et du lecteur courant, tous les fichiers, dont le nom se termine par « 04 » et ayant pour extension « xls », dans un répertoire dont le nom est « Budget » sous-répertoire de « Sauve ». Attention, si le répertoire « Budget » n’existe pas, le contenu de l’ensemble des fichiers copiés sera copié dans un nouveau fichier ayant pour nom « Budget ».

copy Frais04.xls Frais05.xls

Ë copie, à partir du répertoire courant et du lecteur courant, le fichier de nom « Frais04.xls » sous un autre nom « Frais05.xls » qu’il place dans le même répertoire que le fichier d’origine.

copy Frais04.xls a:

Ë copie, à partir du répertoire courant et du lecteur courant, le fichier de nom « Frais04.xls » sur la disquette.

O Avec cette commande, si la destination est un nom de répertoire existant, les fi -chiers indiqués en source seront copiés dans le répertoire « destination ». Si la des-tination n’est pas un nom de répertoire existant alors le fi chier « Source » sera dupliqué avec comme nom, le nom précisé en destination.

Remarques

• Il existe la commande « xcopy » qui permet de faire des copies plus complexes de fichiers notamment des copies de répertoires en incluant les sous-répertoires du répertoire « Source ».

• La commande « move » permet de déplacer des fichiers. Attention, il ne faut pas confon-dre « déplacer » et « copier ». Dans le premier cas, les fichiers « Sources » sont supprimés du répertoire « Source » alors que dans le deuxième cas, ils sont dupliqués.

• La commande « ren » permet de renommer un fichier.

• Toutes ces commandes spécifiées dans ce paragraphe prennent des options dont vous pouvez obtenir la liste avec l'option « /? » appliquée à chacune d'elles.

7D11. La commande « attrib » Syntaxe : attrib [ListeAttributs] NomFichier

Dans la syntaxe, il apparaît les signes « [ » et « ] ». Cela signifi e que l’élément se trouvant entre les crochets peut être présent 0 ou 1 fois.

Description : Il peut être parfois nécessaire qu’un fichier (voire un répertoire) soit caché ou protégé contre l’écriture ou l’effacement. Cela est possible en modifiant les attributs de ce dernier. Il existe 4 attributs possibles :

• « caché » ou « hidden » (attribut « h ») qui permet de ne plus voir apparaître le

Page 102: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01106

Séquence 2

fichier lorsque l'utilisateur liste le contenu du répertoire le contenant.

• « lecture seule » ou « read only » (attribut « r ») qui permet de protéger un fichier contre les modifications ou contre une suppression.

• « archive » (attribut « a ») indique si le fichier a été modifié depuis sa dernière sau-vegarde. Cet attribut peut servir pour la commande « xcopy ».

• « système » (attribut « s ») indique au système d'exploitation si le fichier est un fichier faisant partie de ceux utilisés par le système d'exploitation.

Seuls les deux premiers attributs sont utiles dans la pratique pour protéger un fichier ou le masquer.

Exemplesattrib +r Frais04.xls

Ë active l’attribut « Lecture seule » pour le fichier « Frais04.xls »

attrib -r Frais04.xls

Ë désactive l’attribut « Lecture seule » pour le fichier « Frais04.xls »

attrib +r +h Frais04.xls

Ë active les attributs « Lecture seule » et « caché » pour le fichier « Frais04.xls »

attrib +r *04.xls

Ë active l’attribut « Lecture seule » pour tous les fichiers dont le nom se termine par « 04 » et ayant pour extension « .xls » se trouvant dans le répertoire courant et le lecteur courant.

attrib *04.xls

Ë affiche la liste des attributs activés pour tous les fichiers dont le nom se termine par « 04 » et ayant pour extension « .xls » se trouvant dans le répertoire courant et le lecteur courant.

7D12. Les autres commandes Dans les points précédents, nous avons étudié la syntaxe d’un certain nombre de com-mandes de MS-DOS. Comme la majorité de commandes MS-DOS obéissent aux mêmes règles syntaxiques, nous n’allons pas poursuivre en détail leur explication d’autant plus que je vous rappelle que l’option « /? » des commandes vous apporte toute l’aide néces-saire. Voici donc un tableau des commandes principales de MS-DOS.

Nom commande Interne /Externe fonction et commentaires

attrib externefichier exécutable de nom : « attrib.exe »

Afficher ou modifier les attributs d’un ou plusieurs fichiers. Cette commande accepte les caractères « jokers ».

cd interne Changer de répertoire courant.

cls interne Effacer l’écran.

copy interne Copier un ou plusieurs fichiers à un emplacement donné. Cette commande accepte les caractères « jokers ».

date interne Afficher ou modifier la date interne de l’ordinateur.

Page 103: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01107

del interne Supprimer un ou plusieurs fichiers. Cette commande accepte les caractères « jokers ».

deltree externefichier exécutable de nom : « deltree.exe »

Supprimer un répertoire et tout ce qu’il contient y compris les sous-répertoires.

dir interne Lister le contenu d’un répertoire donné ainsi qu’un certain nombre d’informations sur chacun des éléments affichés (Taille, Date de création, Heure de création). Il est possible de préciser le nom d’un fichier ce qui permet d’obtenir que des informations sur ce dernier s’il existe. Cette commande accepte les caractères « jokers ».

diskcopy externefichier exécutable de nom : « diskcopy.com »

Effectuer une copie physique d’une disquette sur une autre.

edit externefichier exécutable de nom : « edit.com »

Application « Editeur de texte » fournie avec MS-DOS.

erase interne Cf la commande « del »

fdisk externefichier exécutable de nom : « fdisk.exe »

Créer ou supprimer des partitions sur un disque dur. La commande suivante :fdisk /mbrpermet de remettre le programme de boot par défaut dans le « mbr » du disque dur dans le cas où celui-ci aurait été écrasé par erreur ou par un virus.

format externefichier exécutable de nom : « format.com »

Permet d’effectuer un formatage de haut niveau sur une disquette, sur un disque ou une partition.L’option « /s » permet de copier sur le support formaté les fichiers nécessaires pour que MS-DOS puisse booter à savoir les fichiers cachés « io.sys » et « msdos.sys » ainsi que l’interpréteur de commande « command.com ».

keyb externe fichier exécutable de nom : « keyb.com »

Permet de charger en mémoire le programme de gestion du clavier correspondant au nom du pays fourni en paramètre. Ainsi pour avoir un clavier « français », il faut taper la commande « keyb fr ».

label externefichier exécutable de nom : « label.exe »

Permet de donner un nom de volume à un disque ou une partition.

md ou mkdir interneCréer un nouveau répertoire.

mem externefichier exécutable de nom : « mem.exe »

Afficher la quantité de mémoire utilisé et disponible

move externefichier exécutable de nom : « move.exe »

Déplacer un ou plusieurs fichiers. Cette commande accepte les caractères « jokers ».

prompt interneChanger le message du « prompt » DOS.

Page 104: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01108

Séquence 2

rd ou rmdir interne Supprimer un répertoire. Il faut obligatoirement que le répertoire soit vide.

ren ou rename interne Changer le nom d’un fichier. Cette commande accepte les caractères « jokers ».

subst externefichier exécutable de nom : « subst.exe »

Associer une lettre de lecteur à un répertoire. Cela permet d’accéder plus rapidement à un répertoire souvent utilisé. Attention, il faut donner le chemin du répertoire sous forme de chemin « absolu ». Remarque : si vous utilisez cette commande en mode ligne de commande dans l’environnement Windows, Ce dernier reconnaîtra également le lecteur logique que vous venez d’ajouter. Il apparaîtra dans l’explorateur de fichiers (Cf plus loin dans le cours)..

sys externefichier exécutable de nom : « sys.com »

Copier sur le support spécifié les fichiers cachés « io.sys » et « msdos.sys » ainsi que l’interpréteur de commande « command.com » afin de le rendre bootable.

time interne Afficher ou modifier l’heure interne de l’ordinateur.

tree externefichier exécutable de nom : « tree.com »

Afficher le schéma de l’arborescence des répertoires soit à partir du répertoire courant du lecteur courant soit à partir du répertoire spécifié en paramètre. Attention, cette commande a été retirée dans l’environnement DOS de Windows 98.

type interneAfficher à l’écran le contenu d’un fichier.

vol interne Afficher le nom de volume du lecteur spécifié. Par défaut, la commande s’applique sur le lecteur courant.

xcopy externe fichier exécutable de nom : « xcopy.exe »

la commande « xcopy » est une commande plus évoluée que la commande « copy » car elle permet de copier des fichiers et des sous-répertoires contenus dans le répertoire de départ.

Page 105: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01109

8. Les fichiers « batch »

Un fichier « batch », également appelé parfois « script » (notamment sous Windows et Linux), est un fichier « texte » dont le contenu est interprétable par un OS ou plus exac-tement par l’interpréteur de commandes de celui-ci. Dans le cas de MS-DOS, il s’agit, je vous le rappelle, de « command.com ». Attention, il ne faut pas confondre un fichier « batch » et un fichier « programme » (un fichier « exécutable »). En effet, un fichier « programme » contient du code exécutable (du code machine) alors qu’un « batch » contient, sous forme de texte, un enchaînement de commandes connues de l’OS, qui vont s’exécuter de manière automatique. Le contenu d’un fichier « batch » est modifiable via un simple « éditeur de texte », ce qui n’est pas le cas pour un fichier « programme ». Le rôle d’un « batch » est de simplifier le travail des utilisateurs en automatisant un travail long ou répétitif. Sous MS-DOS, un fichier « batch » a obligatoirement pour extension « .bat ». Le fichier « autoexec.bat » est un exemple de fichier « batch » dont le contenu permet d’initialiser l’environnement de travail mais aussi de lancer de manière automati-que d’autres programmes. Les fichiers « batch » peuvent intégrer du code plus ou moins complexe en fonction de la version de DOS. Pour l’instant, dans ce paragraphe, nous nous plaçons dans le contexte du MS-DOS dans sa plus simple expression. Nous revien-drons sur les commandes « batch » liées à Windows XP dans la prochaine séquence. Eh oui on peut encore faire de la programmation de batch sous Windows XP.

Voici un premier exemple que l’on peut trouver dans le contenu d’un fichier « autoexec.bat » :

@echo off

Path=c:\;c:\dos

keyb fr

prompt $p$g

cd c:\travail

Et bien, entendu, quelques explications sur ces lignes :

@echo offDésactive les affichages intempestifs à l’écran. En effet, sans cette commande, « command.com » affiche à l’écran le nom de la commande du « batch » qu’il est en train de traiter, et ce juste avant de l’exécuter, ce qui pollue un peu l’écran.

Path=c:\;c:\dosDéfinit les répertoires de recherche des fichiers « exécutables » et des fichiers « batch ». Cela correspond aux extensions « .com »,» « .exe » et « .bat ».

keyb fr

Exécution d’un programme qui reste en mémoire, appelé également programme résident, et qui a pour rôle, dans cet exemple, de gérer le clavier « français » (clavier « AZERTY »). Attention, cela demande la présence du fichier de configuration de nom « keyboard.sys » dans le répertoire courant ou dans l’un des répertoires de recherche (voir variable d’environnement « PATH »).

prompt $p$g

Définition des caractères affichés par le prompt DOS. Dans notre cas, on affiche le nom du lecteur courant et du répertoire courant (« $p ») ainsi que le symbole « > » (« $g »). Pour connaître les autres codes de cette commande, n’oubliez pas la possibilité d’appeler de l’aide avec l’option « /? ».

cd c:\travailOn se positionne sur le répertoire « travail » se trouvant à la racine du disque de nom « c: ». Ce répertoire devient le répertoire courant. Attention, il doit exister.

Page 106: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01110

Séquence 2

En conclusion, un fichier « batch » est un fichier « texte » contenant un ensemble de commandes qui seront traitées automatiquement par l’OS, et plus particulièrement par l’interpréteur de commandes, comme si elles étaient entrées au clavier par l’utilisateur, les unes après les autres. Toutes les commandes DOS tapées directement au clavier peu-vent être utilisées dans un fichier « batch ».

O Un fichier « batch », sous MS-DOS, doit avoir impérativement l’extension « .bat ».

Au fait, comment faut-il procéder pour mettre en place un fichier « batch » ? Pour créer un fichier « batch », il suffit de lancer l’exécution d’un programme « éditeur de texte », de taper les instructions souhaitées et enfin de sauvegarder le fichier en lui donnant l’extension « .bat ». MS-DOS propose « edit » comme éditeur de texte. Sous Windows, on peut utiliser « NotePad » (le bloc-notes).

Et pour lancer l’exécution d’un fichier « batch » ? Il suffit de taper le nom du fichier « batch » à la suite du prompt DOS. Il n’est pas nécessaire dans ce cas d’ajouter l’ex-tension « .bat ». Bien entendu, le fichier doit être dans le répertoire courant du lecteur courant ou dans l’un des répertoires de recherche définis par la variable d’environne-ment « PATH ». Si tel n’est pas le cas, vous devez impérativement changer de répertoire courant afin de vous placer dans celui qui contient le « batch » avant de lancer son exécution. Remarquez, il existe une autre solution qui consiste à ajouter la description du chemin « relatif » ou « absolu » permettant d’atteindre le fichier « batch » souhaité. Ainsi, par exemple, en supposant que le fichier « batch » souhaité se nomme « essai.bat » et qu’il se trouve dans le répertoire « c:\travail », il est possible de taper sur la ligne de commande « c:\travail\essai » puis valider.

Ah je vois que vous souhaitez voir des exemples, alors lisez la suite. Sachez toutefois que ce ne sont que quelques exemples permettant de mettre en avant les principes d’utilisa-tion des instructions des fichiers « batch » mais que nous ne détaillerons pas toutes les possibilités d’utilisation.

Exemple 1 : Nous allons écrire un programme « batch » qui affiche le texte « Bonjour tout le monde » à l’écran. Pour cela, nous allons lancer l’exécution d’un programme « éditeur de texte », par exemple « edit », et taper le texte suivant :

@echo offecho Bonjour tout le monde

Il ne vous reste plus qu’à sauvegarder le fichier « batch », par exemple sous le nom « bonjour.bat », puis à quitter l’éditeur de texte et enfin lancer l’exécution du fichier « batch ». Le texte souhaité s’affiche alors. Voilà, ce n’est pas plus difficile que cela de mettre en place un « batch ».

Exemple 2 : Nous allons écrire un programme « batch » qui effectue la sauvegarde sur disquette du contenu de notre répertoire de travail de nom « c:\travail ». Il faut, à partir d’un éditeur de texte, mettre en place le code suivant :

@echo offecho Sauvegarde des fichiers cd c:\travailcopy *.* a:echo Fin sauvegarde

Page 107: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01111

Les programmes « batch », sous MS-DOS, peuvent utiliser toutes les commandes MS-DOS dont nous avons parlé précédemment mais ils disposent également d’un jeu d’instruc-tions spécifiques à ce cadre.

En fonction de l’OS sur lequel vous travaillez et de son numéro de version, les fichiers « batch » (les script) peuvent disposer d’un jeu d’instructions supplémen-taires plus ou moins riche, plus ou moins puissant. Voici quelques-unes des ins-tructions de base du jeu MS-DOS :

Instructions Descriptions

:label Définit un label, un repère, une étiquette. Un label définit un point de branchement à partir duquel le « batch » doit poursuivre son exécution. (voir également la commande « goto »). Attention, le nom d’un label est précédé par deux-points (« : ») et ne doit pas dépasser 8 caractères.

call Permet de lancer l’exécution d’un second fichier « batch ».

choice Utiliser pour mettre en place des fichiers « batch » proposant un menu. Attention, cette instruction n’existe pas avec Windows 2000. (Cf exemples d’utilisation plus loin).

echo Affiche le texte passé en paramètre.

for Définit une boucle. Cette instruction permet d’exécuter des commandes MD-DOS en boucle.

goto Permet d’indiquer, à l’interpréteur de commande, que la suite des commandes à exécuter se trouve au niveau du repère (label ou encore étiquette) dont on précise le nom à la suite de l’instruction « goto ».

if Permet de mettre en place l’exécution conditionnée d’une commande MS-DOS. Si la condition testée est vraie, l’instruction ou la commande MD-DOS qui suit est alors exécutée.

pause Suspend l’exécution du « batch » jusqu’à ce que l’utilisateur appuie sur une touche.

rem Le texte qui suit l’instruction « rem » est du commentaire. Il n’est donc pas interprété par l’interpréteur de commande, il permet simplement à l’utilisateur d’apporter des précisions pour lui-même ou pour d’autres utilisateurs sur tout ou partie des instructions du fichier « batch ».

Exemple 3 : Nous allons écrire un programme « batch » qui crée le répertoire de nom « c:\travail » si celui-ci n’existe pas. Voici le code :

@ECHO OFFif exist c:\travail\nul goto presentmd c:\travailecho création effectuéegoto fin

:presentecho répertoire déjà présent

:finecho Au revoir

Explication : • Si le répertoire « c:\travail » existe, on effectue un saut à l'étiquette de nom « pre-

sent ». Dans le cas contraire, les instructions du « batch » continuent à se dérouler séquentiellement. Ainsi, le répertoire « c:\travail » est créé en utilisant la commande

Page 108: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01112

Séquence 2

« md », puis on affiche un message à l'écran afin que l'utilisateur sache où il en est, enfin on effectue un saut jusqu'à l'étiquette « fin » de manière à ne pas réaliser les instructions suivantes, ce qui aurait pour conséquence d'afficher le message « réper-toire déjà présent » alors que l'on vient tout juste de le créer. L'utilisateur du pro-gramme « batch » risquerait de se poser beaucoup de questions si cela se produisait.

• Dans la ligne d'instruction permettant de tester la présence du répertoire « c:\tra-vail », nous avons écrit : « c:\travail\nul ». En fait, « nul » représente, en DOS, un fichier virtuel. Il est notamment employé pour tester l'existence d'un répertoire.

• Avec la commande « if » dans le cas où la condition qui suit est vraie, dans notre cas « exist c:\travail\nul », alors on exécute l’instruction qui suit, pour nous « goto present ».

Exemple 4 : Nous allons écrire un programme « batch » qui teste la présence de fichiers ayant pour extension « .bat » dans le répertoire « c:\travail ». S’il en existe, on change l’extension de ces fichiers en « .sav ». Voici le code :

@ECHO OFFif exist c:\travail\*.bat ren c:\travail\*.bat *.sav

Dans cet exemple, l’instruction « if » teste la condition « exist c:\travail\*.bat ». Si cet-te dernière est vraie, DOS exécute la commande « ren c:\travail\*.bat *.sav ».

Exemple 5 : Nous allons écrire un programme « batch » qui permet d’exécuter un cer-tain nombre d’opérations sur le répertoire « c:\travail ». Pour cela, nous allons mettre en place un menu avec l’instruction « choice ». Attention, cette instruction n’existe pas dans l’environnement MS-DOS de Windows XP. Nous verrons cela dans la prochaine séquence. Pour l’instant, voici le code :

@echo off

echo Menu de démarrage:echo 1) Faire sauvegarde vers disquetteecho 2) Lister le contenu du répertoireecho 3) Créer répertoire de travailecho 4) Quitter le batchchoice /C:1234 Votre choix ?if errorlevel 4 goto Finif errorlevel 3 goto Creerif errorlevel 2 goto Listeif errorlevel 1 goto Copie

:Copie if not exist c:\travail\nul goto NonRep copy c:\travail\*.* a: echo copie effectuée pause goto fin

:Liste if not exist c:\travail\nul goto NonRep dir c:\travail\ pause goto fin

Page 109: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01113

:Creer if exist c:\travail\nul goto RepPrs md c:\travail echo répertoire créé pause goto fin

:NonRep echo Impossible répertoire inexistant pause goto fin

:RepPrs echo: Impossible répertoire existant pause goto fin

:finecho au revoir

Lors de l’exécution de ce batch, nous obtenons à l’écran :

Afi n de pouvoir traiter le choix effectué par l’utilisateur, il faut employer la commande « if errorlevel » suivi d’un numéro qui correspond à la position du choix effectué par rap-port à la liste des choix se trouvant derrière l’option « /c » de l’instruction « CHOICE ». At-tention, dans le « batch », la liste des « if errorlevel » doit être mise en place dans l’ordre décroissant des choix, c’est-à-dire du dernier choix vers le premier (voir code de l’exemple).

Remarque

L’instruction « pause » permet d’interrompre le déroulement du « batch » jusqu’à ce que l’utilisateur appuie sur une touche.

Exemple 6 : Nous allons reprendre le programme précédent mais cette fois-ci, lorsque l’un des choix effectué par l’utilisateur a été réalisé, on réaffiche de nouveau le menu afin que ce dernier puisse faire un autre choix. Le programme boucle jusqu’à ce que l’utilisateur choisisse « Quitter le batch ». Pour cela, on utilise l’instruction « goto » afin de faire repartir le programme au niveau du label de nom « debut » après qu’un des choix ait été traité.

Page 110: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01114

Séquence 2

Voici le nouveau code.

@echo off:debutecho Menu de démarrage:echo 1) Faire sauvegarde vers disquetteecho 2) Lister le contenu du répertoireecho 3) Créer répertoire de travailecho 4) Quitter le batchchoice /C:1234 Votre choix ?if errorlevel 4 goto Finif errorlevel 3 goto Creerif errorlevel 2 goto Listeif errorlevel 1 goto Copie

:Copie if not exist c:\travail\nul goto NonRep copy c:\travail\*.* a: echo copie effectuée pause goto debut

:Liste if not exist c:\travail\nul goto NonRep dir c:\travail\ pause goto debut

:Creer if exist c:\travail\nul goto RepPrs md c:\travail echo répertoire créé pause goto debut

:NonRep echo Impossible répertoire inexistant pause goto debut

:RepPrs echo: Impossible répertoire existant pause goto debut

:finecho au revoir

Dans un programme « batch » de MS-DOS, il est possible, comme pour les commandes MS-DOS, de transmettre un paramètre sur la ligne de commande afin de généraliser l’ac-tion d’un programme « batch ». Par exemple, le programme précédent a été conçu pour réaliser des opérations sur le répertoire « c:\travail ». Cependant, rien ne vous empêche de vouloir créer un « batch » plus généraliste et qui réalise les différentes opérations sur un répertoire dont on précisera le nom sur la ligne de commande lorsque l’on fera appel au « batch ». Voyons comment fonctionne la notion de paramètre. En fait, il existe des paramètres formels de nom %1 , %2 , …., %9 qui représentent respectivement le pre-mier paramètre passé sur la ligne de commande, le deuxième paramètre, etc.

Page 111: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01115

Voici des exemples de code :

@echo offecho le paramétre est : %1

Nous enregistrons ce programme « batch » sous le nom « param.bat » puis nous exécu-tons les lignes suivantes :

Dans le deuxième exemple d’exécution, nous n’avons pas passé de paramètre donc le programme n’affiche rien à la suite du texte « le paramètre est : ». Modifions notre code afin de prendre en compte cette possibilité :

@echo offrem on teste si le paramètre est videif "%1"==" " goto PasParam echo le paramètre est : %1 goto fin:PasParam echo Il n’y a pas de paramètre:fin echo Au revoir

Remarque

Dans cet exemple, on compare le contenu du paramètre %1 placé entre guillemets avec la chaîne de caractères vide. Une chaîne de caractères vide se représente par deux guillemets qui se suivent sans espace entre les deux.

Maintenant, modifi ons notre exemple de « batch » précédent dans lequel nous réali-sions un certain nombre d’opérations sur le répertoire « c:\travail ». Cette fois-ci, nous allons passer en paramètre le nom et éventuellement le chemin du répertoire sur lequel nous souhaitons travailler. S’il existe, on affi che le menu des opérations possibles. S’il n’existe pas, on demande à l’utilisateur s’il souhaite le créer.

Page 112: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

8 3999 TG PA 01116

Séquence 2

@echo offif "%1"==" " goto PasParamif not exist %1\nul goto NonRepecho Menu de démarrage:echo répertoire de travail : %1echo 1) Faire sauvegarde vers disquetteecho 2) Lister le contenu du répertoireecho 3) Quitter le batchchoice /C:123 Votre choix ?if errorlevel 3 goto Finif errorlevel 2 goto Listeif errorlevel 1 goto Copie

:Copie copy %1\*.* a: echo copie effectuée pause goto fin

:Liste dir %1 pause goto fin

:NonRep choice /c:on répertoire inexistant, le créer ? if errorlevel 2 goto Fin if errorlevel 1 goto Creer

: Creer md %1 echo répertoire créé goto fin

:PasParam echo: Il manque un paramètre

:finecho au revoir

Dernier exemple : on affi che les paramètres présents sur la ligne de commande et on affi che un message pour ceux qui ne sont pas présent parmi 9 possibles.

@echo offif not "%1"=="" echo les paramètres sont : %1 %2 %3 %4 %5 %6 %7 %8 %9if "%1 "=="" echo pas de paramètre 1 : %1if "%2 "=="" echo pas de paramètre 2 : %2if "%3 "=="" echo pas de paramètre 3 : %3if "%4 "=="" echo pas de paramètre 4 : %4if "%5 "=="" echo pas de paramètre 5 : %5if "%6 "=="" echo pas de paramètre 6 : %6if "%7 "=="" echo pas de paramètre 7 : %7if "%8 "=="" echo pas de paramètre 8 : %8if "%9 "=="" echo pas de paramètre 9 : %9

Page 113: Alain Tarlowski Architecture logicielle des systèmes ...the.file.free.fr/1er-année BTS IG/Architecture_logicielle_systemes... · français d’exploitation du droit de copie (20,

Ètude du système d’exploitation DOS

8 3999 TG PA 01117

Remarque

On teste s’il y a au moins un paramètre sur la ligne de commande afin de le ou les afficher, puis on teste les paramètres manquants pour afficher un message d’information.

Nous n’irons pas plus loin dans la notion de batch sous MS-DOS car l’essentiel est là et nous en reparlerons dans le cas des « batch » avec Windows XP. Néanmoins, vous trouverez des informations complémentaires sur « Internet » avec le mot-clé « Batch », « Batchs » ou encore « cours sur les batchs ».