GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Revue Du plus lent au plus vite donnez les différent types de mémoires A quoi servent les registres Compteur Ordinal (PC) Pointeur de Pile (SP) Registre du mot détat (PSW)
Synopsis Gestion de la mémoire principale (RAM) Périphériques dE/S Pilote de périphériques ( Device Drivers ) Bus
Gestion de la mémoire principale Multitâche engendre avoir plusieurs programmes en mémoire simultanément Problèmes: Comment protéger les programmes les uns des autres Comment protéger le noyau des programmes Comment reloger les programmes
Gestion de la mémoire principale Solution un Compile/liens relatifs à ladresse zéro Les programmes en mémoire ont des registres: de base et limite La base est ajoutée à toutes les adresses utilisées par le programme La limite est vérifiée (contre le PC) avant toutes les opérations et extractions. Le matériel fait la conversion et vérification (MMU) unité de gestion de la mémoire
Gestion de la mémoire principale Solution deux On peut avoir plus dune instance dun programme qui exécute Ceci permet à plusieurs instances de partager le même programme mais davoir chacun leurs données Le programme doit être réentrant (LB dénote Limite+Base)
Considérations Cette gestion implique que plusieurs programmes exécutent en même temps La commutation de programmes (changement de contexte) demande que la cache soit changée ce qui affecte la performance Lunité de gestion de la mémoire (MMU) a besoin de changer ses registres de base et limite. Ceci demande encore plus de temps Les deux MMU que nous avons vue sont simple… Le SE est responsable de lopération du MMU
Périphériques dE/S Les périphériques dE/S consistent de: du périphérique même dun contrôleur (avec des registres) Le contrôleur simplifie linterface tu demande une piste le contrôleur convertis la demande en cylindre, secteur et tête le SE voit cette interface Le logiciel qui parle au contrôleur est un pilote de périphérique ( Device Driver )
Pilotes de périphérique Comment est-ce quils communiquent avec les périphériques? Ils écrivent dans la mémoire mappée aux registres du périphérique ( memory mapped I/O ) ne requiert aucune instructions spéciales Écrit aux ports mappées au registres (Nutilisent pas despace dadresses mais ce mode requiert des instructions spéciales)
Pilotes de périphérique – Attente active (Busy Waiting) Quand est-ce que le pilote communique avec son périphérique? Attente active Le programme de lusager fait un appel de système Le pilote est appelé par le noyau Le pilote boucle continuellement en interrogeant le périphérique pour savoir quand lE/S est finit Désavantage: CPU complètement pris
Pilotes de périphérique – Interruptions Quand est-ce que le pilote communique avec son périphérique? Interruptions Pilote démarre le contrôleur et demande une interruption quand lE/S est terminé Le pilote retourne le contrôle au SE; le processus qui a demandé lE/S bloque si il a absolument besoin des données Quand le contrôleur complète le travail, il génère une interruption Désavantage: Plus complexe
Pilotes de périphérique – Interruptions 1) Pilote écrit dans les registres du contrôleur. Le contrôleur démarre le périphérique. 2) Le contrôleur finit lE/S et signal le contrôleur dinterruption par certaines lignes sur le bus 3) Quand le contrôleur dinterruption est prêt il lève une interruption sur une des pattes du CPU 4) Quand le CPU est prêt, le contrôleur dinterruption place le numéro du périphérique sur le bus
Pilotes de périphérique – Interruptions Le CPU passe en mode noyau LAdresse du gestionnaire dinterruption est déterminée (Interrupt Vector) Le flux du programme change pour le gestionnaire des interruptions Quand le gestionnaire a finis, le flux normal du programme reprend.
Pilotes de périphérique - DMA Quand est-ce que le pilote communique avec son périphérique? Accès Direct à la Mémoire ( Direct Memory Access ) (DMA) Une puce spéciale qui contrôle le flux dinformation entre le RAM et les contrôleurs Configuré pour chaque transfert par le CPU avec un nombre doctets, le numéro du périphérique, les adresses mémoire pour les données et la direction Quand le transfert est terminé la puce DMA signal une interruption comme décrit au paravent Désavantage: encore plus complexe, mais enlève du travail du CPU
Bus Requit pour transférer une grande quantité dinformation entre le CPU, la mémoire et les périphériques
Quiz Time! Questions?