SlideShare une entreprise Scribd logo
Le DOS
GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016
Jean-François Lalonde
image: http://www.computerhistory.org/
Le DOS
• DOS: Disk Operating System
• Il existe plusieurs versions de DOS:
• Apple a sorti le DOS 3.2 en 1979.
• Le MSDOS 1.0 sortira en 1981…
• Le MSDOS 8.0 sortira en 2000… c’était la dernière version
• Aujourd’hui nous parlerons de la version ~2.0
Pourquoi le DOS?
• Le plus simple!
• Un seul utilisateur à la fois
• Un seul processus à la fois
• Le DOS “abandonne” le contrôle du CPU aux programmes
Un triumvirat désormais “célèbre”
Gary Kildall
Bill Gates
Tim Paterson
Historique
Gary Kildall Bill Gates Tim Paterson
QDOS
Quick & Dirty OS
CP/M (1973)
“Control Program for
Microcomputers”
Historique
http://www.bloomberg.com/news/articles/2004-10-24/the-man-who-could-have-been-bill-gates
Succès commercial!
• A permis à Microsoft de devenir un joueur important
• (presque) tous les ordinateurs pouvaient être utilisés de la
même façon
• Les versions originales de Windows ont été construites
“par-dessus” DOS
Les parties du DOS
• Le MS-DOS est constitué principalement des fichiers
suivant:
• COMMAND.COM: programme gérant l’interface usager et
l’exécution/chargement d’applications.
• IO.SYS: fichier contenant des routines pour les entrées/
sorties (des ajouts au BIOS!).
• MSDOS.SYS: fichier contenant les routines de gestion de
fichiers.
Démarrage du DOS
• Après le POST, le BIOS lit la Piste 0 du Secteur 0 sur le disque. Les informations
contenues sur ce secteur (boot sector) disent si le disque contient un système
d’exploitation.
• Si le BIOS trouve un système d’exploitation, il charge le boot sector en mémoire,
puis fait un saut vers les instructions du boot sector.
• Les instructions du boot sector chargent IO.SYS et MSDOS.SYS en mémoire.
• Le boot sector passe le contrôle à un programme de MSDOS.SYS.
• MSDOS.SYS exécute CONFIG.SYS qui est un fichier texte que vous pouvez
modifier. CONFIG.SYS contient principalement de l’information sur la gestion des
fichiers et des périphériques.
• MSDOS.SYS charge COMMAND.COM en mémoire et lui donne le contrôle.
• COMMAND.COM exécute Autoexec.bat qui contient une liste de commande DOS
exécutée au démarrage.
• COMMAND.COM affiche un prompt à l’écran et attend des instructions de l’usager.
BIOS
Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur)
IO.SYS, MSDOS.SYS
“Boot sector”
COMMAND.COM
Autres données ou
programmes
ROM
(64KB)
Espace pour
programmes
(594KB)
1. POST
BIOS
Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur)
IO.SYS, MSDOS.SYS
“Boot sector”
COMMAND.COM
Autres données ou
programmes
ROM
(64KB)
Espace pour
programmes
(594KB)
2. Copie “Boot sector” en RAM
BIOS
Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur)
IO.SYS, MSDOS.SYS
“Boot sector”
COMMAND.COM
Autres données ou
programmes
ROM
(64KB)
Espace pour
programmes
(594KB)
3. Le “boot sector” copie IO.SYS et MSDOS.SYS en RAM,
exécute MSDOS.SYS
IO.SYS, MSDOS.SYS
T.V.I.
BIOS
Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur)
IO.SYS, MSDOS.SYS
“Boot sector”
COMMAND.COM
Autres données ou
programmes
ROM
(64KB)
Espace pour
programmes
(594KB)
4. MSDOS.SYS copie COMMAND.COM en mémoire
IO.SYS, MSDOS.SYS
T.V.I.
COMMAND.COM
BIOS
Mémoire “haute”
RAM vidéo
Espace pour
programmes
(594KB)
COMMAND.COM
IO.SYS, MSDOS.SYS
T.V.I.
Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur)
IO.SYS, MSDOS.SYS
“Boot sector”
COMMAND.COM
Autres données ou
programmes
RAM
(640KB)
RAM
(128KB)
ROM
(64KB)
RAM
(192KB)
5. COMMAND.COM attend les commandes de l’utilisateur
Carte mémoire typique de MS-DOS
• Après le démarrage, le bas de la
mémoire (46Ko) contient le système
d’exploitation.
• Les programmes sont chargés dans
un espace restreint de 594Ko.
• La RAM VIDEO sert à l’affichage.
• L’espace mémoire entre 768Ko et
960Ko est la mémoire haute. Cette
mémoire peut servir pour augmenter
la taille des programmes.
• Le BIOS, dans le haut de la
mémoire, est en ROM.
ROM
64K
C0000h
FFFFFh
BFFFFh
A0000h
9FFFFh
RAM
128K
RAM
640K
0
Note: 64K = 2^(6+10) = FFFF+1
F0000h
Espace de mémoire réservée
aux programmes
COMMAND.COM
IO.SYS, MSDOS.SYS et autres
gestionnaires de périphériques
43KB
46KB
Video RAM
BIOS
ROM ou RAM
192K
high/upper memory
Particularité (importante) #1
• Un seul programme peut être exécuté à la fois. Ceci
inclut le système d’exploitation lui-même!
• On dit que le système d’exploitation est « non préemptif »,
c’est-à-dire qu’il ne peut pas interrompre le programme.
• Le programme est responsable de retourner le contrôle au
système d’exploitation (INT 20H ou INT 21H).
• Quels problèmes cela peut-il poser?
Le DOS est « non-préemptif »
• Partage des ressources?
Multiplexage dans le temps : performance
Sans multiplexage
Avec multiplexage + 2 processus en mémoire
Maximiser l’utilisation
Le DOS est « non-préemptif »
• Il y a tout de même quelques façons de retourner au
système d’exploitation:
• Le programme termine et redonne le contrôle au système
d’exploitation.
• Le programme effectue une opération non conforme
entraînant une interruption (ex. division par 0).
• Une interruption externe au programme l’arrête. Par
exemple, si l’usager appuie sur certaines touches et que le
programme n’a pas désactivé les interruptions, l’interruption
causée par l’usager peut arrêter le programme.
Particularité (importante) #2
• Le DOS est toujours en mémoire (il est « résident »).
• Les programmes peuvent être retirés de la mémoire
(non-résident) lorsque leur exécution est terminée.
• Pour être plus précis, le DOS peut écrire « par-dessus » un
programme
• Quels problèmes cela peut-il poser?
Les programmes peuvent être « écrasés »
• Si on veut exécuter le même
programme à nouveau, on doit
constamment le recopier en mémoire
à partir du disque dur!
• Pour pallier à ce problème, les
designers de DOS ont créé un nouvel
interrupt:
• TSR: Terminate and Stay Resident
• Le programme peut rester en RAM (mais
est forcé à n’utiliser un espace limité)
• Mais les programmeurs en ont abusé…
BIOS
Mémoire “haute”
RAM vidéo
Espace pour
programmes
(594KB)
COMMAND.COM
IO.SYS, MSDOS.SYS
T.V.I.
RAM
(640KB)
RAM
(128KB)
ROM
(64KB)
RAM
(192KB)
L’interface de commande
• MS-DOS a une interface usager de type ligne de commande. Il
faut taper la commande à exécuter puis appuyer sur Enter pour
envoyer la commande.
• L’interface de commande utilise les routines d’I/Os pour afficher de
l’information à l’écran ou obtenir des directives de l’usager (via le
clavier).
• COMMAND.EXE interprète les commande reçues de l’usager. Il
les valide, puis il les exécute. Il s’agit d’un interpréteur de
commande.
• Pour l’interpréteur de commande, il y a deux types de
commandes: les commandes MS-DOS et le reste. Les
commandes non reconnues (qui ne sont pas MS-DOS) sont
traitées comme des programmes à exécuter.
Réponse à une commande de l’interface
• Lorsque l’interpréteur de commande reçoit une commande MS-DOS, il l’exécute, puis retourne le
contrôle à l’usager.
• Lorsque l’interpréteur de commande reçoit une commande qui n’est pas MS-DOS. Il demande au
gestionnaire de fichiers d’exécuter un programme dont le nom et l’emplacement est fourni par
l’interpréteur de commande.
• Le gestionnaire de fichiers fait une requête au disque approprié afin de lire vérifier si le répertoire est
bon. Une routine d’I/O est utilisée pour accéder au disque qui contient l’arborescence des fichiers.
• La routine d’I/O fournit l’arborescence des fichiers au gestionnaire de fichier.
• Le gestionnaire de fichier vérifie si le programme à exécuter existe à l’emplacement spécifié. Si oui, il
fait une requête au disque (une routine d’I/O encore!) afin d’aller chercher le programme.
• La routine d’I/O met le programme en mémoire à l’emplacement spécifié par le gestionnaire de fichier.
• Le gestionnaire de fichier exécute le programme
• modification des registres, puis branchement au programme
• Le programme s’exécute. Il peut faire des requêtes d’I/Os, de fichiers, ou même exécuter des
commandes MS-DOS.
• Le programme se termine (voir plus loin) et une nouvelle commande de l’usager est attendue.
Exécution d’un programme
Tiré de Irv Englander
Exécution d’un programme
• Lors de l’exécution du programme, le système
d’exploitation est mis de côté. On dit que le système
d’exploitation est “non préemptif”, c’est-à-dire qu’il ne
peut pas interrompre le programme.
• Le programme doit accéder aux I/Os de l’ordinateur
avec les interrupts du BIOS ou du DOS (dans IO.SYS).
• Le programme doit accéder à d’autres fichiers avec les
fonctions contenues dans le gestionnaire de fichiers.
• Le programme est responsable de retourner le contrôle
au système d’exploitation (INT 20H ou INT 21H).

Contenu connexe

Similaire à 17. Le DOS.pdf

Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitation
Imane Bellali
 
Les systemes-dexploitation
Les systemes-dexploitationLes systemes-dexploitation
Les systemes-dexploitation
mohamedramibelhadj
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
DenisKouakou1
 
Cours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfCours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdf
MedBechir
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
PROFPROF11
 
Chapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdfChapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdf
YounesAziz3
 
Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitations
SGHIOUAR abdelfettah
 
Le bios
Le biosLe bios
Le bios
digidid
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
Christophe Catarina
 
Formation Script MS-DOS.ppt
Formation Script MS-DOS.pptFormation Script MS-DOS.ppt
Formation Script MS-DOS.ppt
khezzanedallel
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitation
Toumi Hicham
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
YACINE MESSAOUI
 
Votre ordinateur au quotidien - Les bases
Votre ordinateur au quotidien - Les basesVotre ordinateur au quotidien - Les bases
Votre ordinateur au quotidien - Les bases
MEMOIRE PATRIMOINE CLOHARS CARNOET
 
EXO_Rguibi_marwan.pptx
EXO_Rguibi_marwan.pptxEXO_Rguibi_marwan.pptx
EXO_Rguibi_marwan.pptx
HolakoNoob
 
176539.ppt
176539.ppt176539.ppt
176539.ppt
Ammr2
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
MedBechir
 
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdfComment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
AitAddiHajar
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
BenFradjHajer1
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
MahdiHERMASSI1
 

Similaire à 17. Le DOS.pdf (20)

Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitation
 
Les systemes-dexploitation
Les systemes-dexploitationLes systemes-dexploitation
Les systemes-dexploitation
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Cours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdfCours système d’exploitation S1 - IG IPSET.pdf
Cours système d’exploitation S1 - IG IPSET.pdf
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
 
Chapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdfChapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdf
 
Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitations
 
Le bios
Le biosLe bios
Le bios
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
 
Formation Script MS-DOS.ppt
Formation Script MS-DOS.pptFormation Script MS-DOS.ppt
Formation Script MS-DOS.ppt
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitation
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
 
Votre ordinateur au quotidien - Les bases
Votre ordinateur au quotidien - Les basesVotre ordinateur au quotidien - Les bases
Votre ordinateur au quotidien - Les bases
 
EXO_Rguibi_marwan.pptx
EXO_Rguibi_marwan.pptxEXO_Rguibi_marwan.pptx
EXO_Rguibi_marwan.pptx
 
176539.ppt
176539.ppt176539.ppt
176539.ppt
 
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdfCours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
Cours SE Principes et fonctionnement de système d’exploitation - IPSET.pdf
 
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdfComment choisir le bon système d'exploitation pour un système embarqué.pdf
Comment choisir le bon système d'exploitation pour un système embarqué.pdf
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
1514117367383.pptx
1514117367383.pptx1514117367383.pptx
1514117367383.pptx
 
Systemes d'exploitation
Systemes  d'exploitationSystemes  d'exploitation
Systemes d'exploitation
 

Plus de olfaharrabi2

AI.Harshini,Norah,Bhavika-2 (1).pdf presentation
AI.Harshini,Norah,Bhavika-2 (1).pdf presentationAI.Harshini,Norah,Bhavika-2 (1).pdf presentation
AI.Harshini,Norah,Bhavika-2 (1).pdf presentation
olfaharrabi2
 
Ethics de lintelligence artificielle dans le domaine de business
Ethics de lintelligence artificielle dans le domaine de businessEthics de lintelligence artificielle dans le domaine de business
Ethics de lintelligence artificielle dans le domaine de business
olfaharrabi2
 
artificial intelligence and applications
artificial intelligence and applicationsartificial intelligence and applications
artificial intelligence and applications
olfaharrabi2
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
olfaharrabi2
 
sa a dos.pdf
sa a dos.pdfsa a dos.pdf
sa a dos.pdf
olfaharrabi2
 
Manipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxManipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptx
olfaharrabi2
 
intro final html.docx
intro final html.docxintro final html.docx
intro final html.docx
olfaharrabi2
 
chapitre 1 PI.pdf
chapitre 1 PI.pdfchapitre 1 PI.pdf
chapitre 1 PI.pdf
olfaharrabi2
 
Présentation1.pptx
Présentation1.pptxPrésentation1.pptx
Présentation1.pptx
olfaharrabi2
 
Introduction to ORoperationresearch UTC.pdf
Introduction to ORoperationresearch UTC.pdfIntroduction to ORoperationresearch UTC.pdf
Introduction to ORoperationresearch UTC.pdf
olfaharrabi2
 
Cours AA S2 Ch4+5.ppt
Cours AA S2 Ch4+5.pptCours AA S2 Ch4+5.ppt
Cours AA S2 Ch4+5.ppt
olfaharrabi2
 
chapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdfchapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdf
olfaharrabi2
 
Planning-externes-MA-Informatique-session_2019.pdf
Planning-externes-MA-Informatique-session_2019.pdfPlanning-externes-MA-Informatique-session_2019.pdf
Planning-externes-MA-Informatique-session_2019.pdf
olfaharrabi2
 
chapitre-7-listviews.pdf
chapitre-7-listviews.pdfchapitre-7-listviews.pdf
chapitre-7-listviews.pdf
olfaharrabi2
 
chapitre-2-les-activites.pdf
chapitre-2-les-activites.pdfchapitre-2-les-activites.pdf
chapitre-2-les-activites.pdf
olfaharrabi2
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
olfaharrabi2
 
cours-syst (1).pdf
cours-syst (1).pdfcours-syst (1).pdf
cours-syst (1).pdf
olfaharrabi2
 

Plus de olfaharrabi2 (17)

AI.Harshini,Norah,Bhavika-2 (1).pdf presentation
AI.Harshini,Norah,Bhavika-2 (1).pdf presentationAI.Harshini,Norah,Bhavika-2 (1).pdf presentation
AI.Harshini,Norah,Bhavika-2 (1).pdf presentation
 
Ethics de lintelligence artificielle dans le domaine de business
Ethics de lintelligence artificielle dans le domaine de businessEthics de lintelligence artificielle dans le domaine de business
Ethics de lintelligence artificielle dans le domaine de business
 
artificial intelligence and applications
artificial intelligence and applicationsartificial intelligence and applications
artificial intelligence and applications
 
Chap 1 Initiation.pptx
Chap 1 Initiation.pptxChap 1 Initiation.pptx
Chap 1 Initiation.pptx
 
sa a dos.pdf
sa a dos.pdfsa a dos.pdf
sa a dos.pdf
 
Manipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxManipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptx
 
intro final html.docx
intro final html.docxintro final html.docx
intro final html.docx
 
chapitre 1 PI.pdf
chapitre 1 PI.pdfchapitre 1 PI.pdf
chapitre 1 PI.pdf
 
Présentation1.pptx
Présentation1.pptxPrésentation1.pptx
Présentation1.pptx
 
Introduction to ORoperationresearch UTC.pdf
Introduction to ORoperationresearch UTC.pdfIntroduction to ORoperationresearch UTC.pdf
Introduction to ORoperationresearch UTC.pdf
 
Cours AA S2 Ch4+5.ppt
Cours AA S2 Ch4+5.pptCours AA S2 Ch4+5.ppt
Cours AA S2 Ch4+5.ppt
 
chapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdfchapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdf
 
Planning-externes-MA-Informatique-session_2019.pdf
Planning-externes-MA-Informatique-session_2019.pdfPlanning-externes-MA-Informatique-session_2019.pdf
Planning-externes-MA-Informatique-session_2019.pdf
 
chapitre-7-listviews.pdf
chapitre-7-listviews.pdfchapitre-7-listviews.pdf
chapitre-7-listviews.pdf
 
chapitre-2-les-activites.pdf
chapitre-2-les-activites.pdfchapitre-2-les-activites.pdf
chapitre-2-les-activites.pdf
 
chapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdfchapitre-1-introduction-plateforme-android (2).pdf
chapitre-1-introduction-plateforme-android (2).pdf
 
cours-syst (1).pdf
cours-syst (1).pdfcours-syst (1).pdf
cours-syst (1).pdf
 

17. Le DOS.pdf

  • 1. Le DOS GIF-1001 Ordinateurs: Structure et Applications, Hiver 2016 Jean-François Lalonde image: http://www.computerhistory.org/
  • 2. Le DOS • DOS: Disk Operating System • Il existe plusieurs versions de DOS: • Apple a sorti le DOS 3.2 en 1979. • Le MSDOS 1.0 sortira en 1981… • Le MSDOS 8.0 sortira en 2000… c’était la dernière version • Aujourd’hui nous parlerons de la version ~2.0
  • 3. Pourquoi le DOS? • Le plus simple! • Un seul utilisateur à la fois • Un seul processus à la fois • Le DOS “abandonne” le contrôle du CPU aux programmes
  • 4. Un triumvirat désormais “célèbre” Gary Kildall Bill Gates Tim Paterson
  • 5. Historique Gary Kildall Bill Gates Tim Paterson QDOS Quick & Dirty OS CP/M (1973) “Control Program for Microcomputers”
  • 7. Succès commercial! • A permis à Microsoft de devenir un joueur important • (presque) tous les ordinateurs pouvaient être utilisés de la même façon • Les versions originales de Windows ont été construites “par-dessus” DOS
  • 8. Les parties du DOS • Le MS-DOS est constitué principalement des fichiers suivant: • COMMAND.COM: programme gérant l’interface usager et l’exécution/chargement d’applications. • IO.SYS: fichier contenant des routines pour les entrées/ sorties (des ajouts au BIOS!). • MSDOS.SYS: fichier contenant les routines de gestion de fichiers.
  • 9. Démarrage du DOS • Après le POST, le BIOS lit la Piste 0 du Secteur 0 sur le disque. Les informations contenues sur ce secteur (boot sector) disent si le disque contient un système d’exploitation. • Si le BIOS trouve un système d’exploitation, il charge le boot sector en mémoire, puis fait un saut vers les instructions du boot sector. • Les instructions du boot sector chargent IO.SYS et MSDOS.SYS en mémoire. • Le boot sector passe le contrôle à un programme de MSDOS.SYS. • MSDOS.SYS exécute CONFIG.SYS qui est un fichier texte que vous pouvez modifier. CONFIG.SYS contient principalement de l’information sur la gestion des fichiers et des périphériques. • MSDOS.SYS charge COMMAND.COM en mémoire et lui donne le contrôle. • COMMAND.COM exécute Autoexec.bat qui contient une liste de commande DOS exécutée au démarrage. • COMMAND.COM affiche un prompt à l’écran et attend des instructions de l’usager.
  • 10. BIOS Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur) IO.SYS, MSDOS.SYS “Boot sector” COMMAND.COM Autres données ou programmes ROM (64KB) Espace pour programmes (594KB) 1. POST
  • 11. BIOS Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur) IO.SYS, MSDOS.SYS “Boot sector” COMMAND.COM Autres données ou programmes ROM (64KB) Espace pour programmes (594KB) 2. Copie “Boot sector” en RAM
  • 12. BIOS Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur) IO.SYS, MSDOS.SYS “Boot sector” COMMAND.COM Autres données ou programmes ROM (64KB) Espace pour programmes (594KB) 3. Le “boot sector” copie IO.SYS et MSDOS.SYS en RAM, exécute MSDOS.SYS IO.SYS, MSDOS.SYS T.V.I.
  • 13. BIOS Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur) IO.SYS, MSDOS.SYS “Boot sector” COMMAND.COM Autres données ou programmes ROM (64KB) Espace pour programmes (594KB) 4. MSDOS.SYS copie COMMAND.COM en mémoire IO.SYS, MSDOS.SYS T.V.I. COMMAND.COM
  • 14. BIOS Mémoire “haute” RAM vidéo Espace pour programmes (594KB) COMMAND.COM IO.SYS, MSDOS.SYS T.V.I. Mémoire principale (ROM/RAM) Mémoire secondaire (disque dur) IO.SYS, MSDOS.SYS “Boot sector” COMMAND.COM Autres données ou programmes RAM (640KB) RAM (128KB) ROM (64KB) RAM (192KB) 5. COMMAND.COM attend les commandes de l’utilisateur
  • 15. Carte mémoire typique de MS-DOS • Après le démarrage, le bas de la mémoire (46Ko) contient le système d’exploitation. • Les programmes sont chargés dans un espace restreint de 594Ko. • La RAM VIDEO sert à l’affichage. • L’espace mémoire entre 768Ko et 960Ko est la mémoire haute. Cette mémoire peut servir pour augmenter la taille des programmes. • Le BIOS, dans le haut de la mémoire, est en ROM. ROM 64K C0000h FFFFFh BFFFFh A0000h 9FFFFh RAM 128K RAM 640K 0 Note: 64K = 2^(6+10) = FFFF+1 F0000h Espace de mémoire réservée aux programmes COMMAND.COM IO.SYS, MSDOS.SYS et autres gestionnaires de périphériques 43KB 46KB Video RAM BIOS ROM ou RAM 192K high/upper memory
  • 16. Particularité (importante) #1 • Un seul programme peut être exécuté à la fois. Ceci inclut le système d’exploitation lui-même! • On dit que le système d’exploitation est « non préemptif », c’est-à-dire qu’il ne peut pas interrompre le programme. • Le programme est responsable de retourner le contrôle au système d’exploitation (INT 20H ou INT 21H). • Quels problèmes cela peut-il poser?
  • 17. Le DOS est « non-préemptif » • Partage des ressources? Multiplexage dans le temps : performance Sans multiplexage Avec multiplexage + 2 processus en mémoire Maximiser l’utilisation
  • 18. Le DOS est « non-préemptif » • Il y a tout de même quelques façons de retourner au système d’exploitation: • Le programme termine et redonne le contrôle au système d’exploitation. • Le programme effectue une opération non conforme entraînant une interruption (ex. division par 0). • Une interruption externe au programme l’arrête. Par exemple, si l’usager appuie sur certaines touches et que le programme n’a pas désactivé les interruptions, l’interruption causée par l’usager peut arrêter le programme.
  • 19. Particularité (importante) #2 • Le DOS est toujours en mémoire (il est « résident »). • Les programmes peuvent être retirés de la mémoire (non-résident) lorsque leur exécution est terminée. • Pour être plus précis, le DOS peut écrire « par-dessus » un programme • Quels problèmes cela peut-il poser?
  • 20. Les programmes peuvent être « écrasés » • Si on veut exécuter le même programme à nouveau, on doit constamment le recopier en mémoire à partir du disque dur! • Pour pallier à ce problème, les designers de DOS ont créé un nouvel interrupt: • TSR: Terminate and Stay Resident • Le programme peut rester en RAM (mais est forcé à n’utiliser un espace limité) • Mais les programmeurs en ont abusé… BIOS Mémoire “haute” RAM vidéo Espace pour programmes (594KB) COMMAND.COM IO.SYS, MSDOS.SYS T.V.I. RAM (640KB) RAM (128KB) ROM (64KB) RAM (192KB)
  • 21. L’interface de commande • MS-DOS a une interface usager de type ligne de commande. Il faut taper la commande à exécuter puis appuyer sur Enter pour envoyer la commande. • L’interface de commande utilise les routines d’I/Os pour afficher de l’information à l’écran ou obtenir des directives de l’usager (via le clavier). • COMMAND.EXE interprète les commande reçues de l’usager. Il les valide, puis il les exécute. Il s’agit d’un interpréteur de commande. • Pour l’interpréteur de commande, il y a deux types de commandes: les commandes MS-DOS et le reste. Les commandes non reconnues (qui ne sont pas MS-DOS) sont traitées comme des programmes à exécuter.
  • 22. Réponse à une commande de l’interface • Lorsque l’interpréteur de commande reçoit une commande MS-DOS, il l’exécute, puis retourne le contrôle à l’usager. • Lorsque l’interpréteur de commande reçoit une commande qui n’est pas MS-DOS. Il demande au gestionnaire de fichiers d’exécuter un programme dont le nom et l’emplacement est fourni par l’interpréteur de commande. • Le gestionnaire de fichiers fait une requête au disque approprié afin de lire vérifier si le répertoire est bon. Une routine d’I/O est utilisée pour accéder au disque qui contient l’arborescence des fichiers. • La routine d’I/O fournit l’arborescence des fichiers au gestionnaire de fichier. • Le gestionnaire de fichier vérifie si le programme à exécuter existe à l’emplacement spécifié. Si oui, il fait une requête au disque (une routine d’I/O encore!) afin d’aller chercher le programme. • La routine d’I/O met le programme en mémoire à l’emplacement spécifié par le gestionnaire de fichier. • Le gestionnaire de fichier exécute le programme • modification des registres, puis branchement au programme • Le programme s’exécute. Il peut faire des requêtes d’I/Os, de fichiers, ou même exécuter des commandes MS-DOS. • Le programme se termine (voir plus loin) et une nouvelle commande de l’usager est attendue.
  • 24. Exécution d’un programme • Lors de l’exécution du programme, le système d’exploitation est mis de côté. On dit que le système d’exploitation est “non préemptif”, c’est-à-dire qu’il ne peut pas interrompre le programme. • Le programme doit accéder aux I/Os de l’ordinateur avec les interrupts du BIOS ou du DOS (dans IO.SYS). • Le programme doit accéder à d’autres fichiers avec les fonctions contenues dans le gestionnaire de fichiers. • Le programme est responsable de retourner le contrôle au système d’exploitation (INT 20H ou INT 21H).