Upload
internet
View
103
Download
1
Embed Size (px)
Citation preview
GEF 435Principes des systèmes d’exploitation
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 registresCompteur Ordinal (PC)Pointeur de Pile (SP)Registre du mot d’état (PSW)
Synopsis
• Gestion de la mémoire principale (RAM)• Périphériques d’E/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 autresComment protéger le noyau des programmesComment reloger les programmes
Gestion de la mémoire principale
• Solution un Compile/liens relatifs à l’adresse 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 d’une
instance d’un programme qui exécute
Ceci permet à plusieurs instances de partager le même programme mais d’avoir 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 tempsLa commutation de programmes (changement de
contexte) demande que la cache soit changée ce qui affecte la performance
L’unité de gestion de la mémoire (MMU) a besoin de changer ses registres de base et limite.
• Ceci demande encore plus de tempsLes deux MMU que nous avons vue sont simple…Le SE est responsable de l’opération du MMU
Périphériques d’E/S
• Les périphériques d’E/S consistent de: du périphérique même d’un contrôleur (avec des registres)
• Le contrôleur simplifie l’interface 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 qu’ils 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 (N’utilisent pas d’espace d’adresses 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 l’usager 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 l’E/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 l’E/S est terminé
• Le pilote retourne le contrôle au SE; le processus qui a demandé l’E/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 l’E/S et signal le contrôleur d’interruption par certaines lignes sur le bus
3) Quand le contrôleur d’interruption est prêt il lève une interruption sur une des pattes du CPU
4) Quand le CPU est prêt, le contrôleur d’interruption place le numéro du périphérique sur le bus
Pilotes de périphérique – Interruptions
• Le CPU passe en mode noyau
• L’Adresse du gestionnaire d’interruption 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 d’information entre le RAM et les contrôleurs
• Configuré pour chaque transfert par le CPU avec un nombre d’octets, 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é d’information
entre le CPU, la mémoire et les périphériques
Quiz Time!
Questions?