Module Systèmes d’exploitation BTS Génie Informatqiue École Normale Supérieure Tétouan Département Informatique Module Systèmes d’exploitation Chapitre 11 Systèmes d’entrée/sortie 2008-2009 Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Synopsis Introduction Méthodes de communication Scrutation (polling) Interruption Catégorie des périphériques Accès direct en mémoire (DMA) Niveaux des logiciels d’entrées-sorties Contrôleurs Pilotes Sous-système E/S du noyau Ordonnancement E/S Mise en tampon Mise en cache Mise en attente et réservation de périphérique Gestion des erreurs Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Introduction L’ordinateur peut effectuer des entrées-sorties – échanger des données – avec des organes externes : électroniques, tels que les mémoires, magnétiques, tels que les disques ou les disquettes, mécaniques, tels que le clavier, les imprimantes,… Les périphériques – les organes externes – mis en œuvre sont de nature très différente et l’un des objectifs du système de gestion des entrées-sorties est de préserver une relative homogénéité dans leur mode d’accès. Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Introduction PCI: Peripheral Component Interconnect Structure typique de bus PC Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Introduction Deux techniques de base pour communiquer le CPU et contrôleurs périphériques: CPU et contrôleurs communiquent directement par des registres CPU et contrôleurs communiquent par des zones de mémoire centrale Combinaisons de ces deux techniques CPU Contrôleur Périphérique RAM Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Introduction Adresses des ports d’E/S des périphériques PC Enseigant : AAMMOU Souhaib
Méthodes de communication Module Systèmes d'exploitation BTS Génie Informatqiue Méthodes de communication Deux méthodes principales: Scrutation (polling): l’initiative est au programme Interruption: l’initiative est à la périphérique Grande variété d’implémentations Enseigant : AAMMOU Souhaib
Méthodes de communication Scrutation (polling) Module Systèmes d'exploitation BTS Génie Informatqiue Méthodes de communication Scrutation (polling) Bit dans le contrôleur E/S: 0 si occupé à travailler 1 si libre - prêt à accepter commande Bit dans le CPU: commande prête (command ready) 1 s’il y a une commande prête à exécuter par le contrôleur Le CPU continue de regarder le bit occupé du contrôleur jusqu’à ce qu’il soit libre Elle positionne alors le bit commande prête Le contrôleur voit ceci et devient occupé Inefficacité de cette méthode si (comme normal) le CPU se trouve très souvent dans une boucle de scrutation Attente occupée Enseigant : AAMMOU Souhaib
Méthodes de communication Interruption Module Systèmes d'exploitation BTS Génie Informatqiue Méthodes de communication Interruption le CPUfait son travail, jusqu’à ce qu’elle reçoit un signal sur la ligne de requête d’interruption (interrupt request line) Cette ligne est interrogée après l’exécution de chaque instruction À moins que l’interruption ne soit masquée Souvent deux lignes d’interruptions: masquable, non masquable Transfert à une adresse de mémoire où il y a renvoi à la routine de traitement Les interruptions ont différentes priorités Si une interruption d’haute priorité se présente lors que le système est en train de traiter une int. de prio. faible, la première est traitée avant Enseigant : AAMMOU Souhaib
Méthodes de communication Interruption Module Systèmes d'exploitation BTS Génie Informatqiue Méthodes de communication Interruption Enseigant : AAMMOU Souhaib
Méthodes de communication Interruption Module Systèmes d'exploitation BTS Génie Informatqiue Méthodes de communication Interruption Table des vecteurs d’interruptions Intel Pentium (partie) Enseigant : AAMMOU Souhaib
Catégorie des périphériques Module Systèmes d'exploitation BTS Génie Informatqiue Catégorie des périphériques On classe les périphériques d’entrées-sorties en deux catégories principales : Les périphériques blocs : On gère les données par l’intermédiaire de blocs de tailles fixes, couramment de 512 ou 1024 octets et parfois plus. L’accès à chacun de ces blocs étant aléatoire. Les disques correspondent, à peu près, aux périphériques blocs. Les périphériques caractères : Ils fournissent ou acceptent une suite de caractères sans réelle structure. Les terminaux, les écrans, les mémoires sont des périphériques caractères. Périphériques par blocs: disques, rubans… Commandes: read, write, seek Accès brut (raw) ou à travers système fichiers Accès représenté en mémoire (memory-mapped) Semblable au concept de mémoire virtuelle ou cache: une certaine partie du contenu de la périphérique est stocké en mémoire principale, donc quand un programme fait une lecture de disque, ceci pourrait être une lecture de mémoire principale Périphériques par caractère Get, put traitent des caractères Librairies au dessus peuvent permettre édition de lignes, etc. Enseigant : AAMMOU Souhaib
Accès direct en mémoire (DMA) Module Systèmes d'exploitation BTS Génie Informatqiue Accès direct en mémoire (DMA) Dans les systèmes sans DMA, le CPU est impliquée dans le transfert de chaque octet DMA est utile pour exclure l’implication de le CPU surtout pour des E/S volumineuses Demande un contrôleur spécial Ce contrôleur a accès direct à la mémoire centrale Pour les périphériques blocs, le transfert des données entre la mémoire et le contrôleur n’est pas, en général, réalisé par le processeur, mais par un circuit spécialisé d’accès direct à la mémoire (DMA). Ce circuit DMA est attaché au périphérique. Il utilise des instants particuliers du cycle de fonctionnement du processeur pour écrire les données de la mémoire centrale vers les tampons du contrôleur, ou bien l’inverse. Il permet ainsi d’occuper le processeur à d’autres tâches de traitement. Avant de le lancer, le processeur doit bien sûr lui communiquer, le sens du transfert, l’adresse d’origine de la zone mémoire où on désire lire ou écrire des données, ainsi que le nombre d’octets à transférer. Enseigant : AAMMOU Souhaib
Accès direct en mémoire (DMA) En six étapes Module Systèmes d'exploitation BTS Génie Informatqiue Accès direct en mémoire (DMA) En six étapes Enseigant : AAMMOU Souhaib
Niveaux des logiciels d’entrées-sorties Module Systèmes d'exploitation BTS Génie Informatqiue Niveaux des logiciels d’entrées-sorties Le traitement des entrées-sorties se fait sur plusieurs niveaux, des plus proches du matériel aux plus proches de l’utilisateur. Les niveaux proches de l’utilisateur doivent s’efforcer, autant que possible, de masquer les particularités physiques des périphériques. Les niveaux purement matériels sont constitués des interruptions émises par les différents périphériques vers le processeur. Ces interruptions correspondent à des indications, par exemple de fin de traitement. Le système détermine l’origine des interruptions et fait passer le pilote destinataire, en général, de l’état bloqué à l’état prêt. Les interruptions ont aussi souvent pour effet de relancer l’ordonnanceur. Si le pilote est de nouveau élu, et il le sera de toute façon à un moment, il transmettra au processus demandeur, les résultats de l’entrée-sortie, et il le débloquera à son tour. Du point de vue conceptuel, ces déblocages de ressources se formalisent par des opérations sur des sémaphores : V(ressource) Enseigant : AAMMOU Souhaib
Niveaux des logiciels d’entrées-sorties Contrôleurs Module Systèmes d'exploitation BTS Génie Informatqiue Niveaux des logiciels d’entrées-sorties Contrôleurs La plupart du temps, le processeur ne commande pas directement les périphériques. Il utilise pour cela un circuit spécialement adapté, un contrôleur, de caractéristiques propres à chaque périphérique. Les commandes du processeur au périphérique s’opéreront alors par l’intermédiaire de ce contrôleur. Ces commandes correspondent directement aux mécanismes physiques du périphérique telles, par exemple, que le déplacement du bras d’un lecteur de disque. Par ailleurs, les contrôleurs sont souvent d’une grande complexité électronique. Enseigant : AAMMOU Souhaib
Niveaux des logiciels d’entrées-sorties Contrôleurs Module Systèmes d'exploitation BTS Génie Informatqiue Niveaux des logiciels d’entrées-sorties Contrôleurs Les contrôleurs et le processeur opèrent en parallèle. Le contrôleur dispose d’une mémoire tampon, pour lui permettre, par exemple, de lire des données en provenance du périphérique d’entrée pendant que le processeur traite une autre tâche. Le contrôleur signale l’achèvement de son travail en émettant une interruption qui lui est propre. À la réception de cette interruption, le processeur se branche à un emplacement fixe. La valeur de cet emplacement est contenue dans une adresse – un vecteur – spécifique à chaque interruption. À l’adresse d’interruption, une routine réalise, en général, le transfert des données vers la mémoire principale, puis rend la « main » au processus précédent. Enseigant : AAMMOU Souhaib
Niveaux des logiciels d’entrées-sorties Pilotes Module Systèmes d'exploitation BTS Génie Informatqiue Niveaux des logiciels d’entrées-sorties Pilotes Les pilotes de périphériques s’occupent de traduire les requêtes des entrées-sorties dans des commandes propres à chaque contrôleur. Ils gèrent aussi une partie des erreurs matérielles. Ils s’intègrent enfin, dans le cas d’Unix, dans le système de fichiers. Les fichiers pouvant recouvrir à la fois des données sur disques, des périphériques,… Ce système de fichiers à l’avantage de présenter une interface uniforme aux entrées-sorties : d’adressage, de protection, d’allocation et de libération des périphériques, de signalisation des erreurs, etc. Enseigant : AAMMOU Souhaib
Sous-système E/S du noyau Module Systèmes d'exploitation BTS Génie Informatqiue Sous-système E/S du noyau Fonctionnalités: Ordonnancement E/S Mise en tampon Mise en cache Mise en attente et réservation de périphérique Gestion des erreurs Enseigant : AAMMOU Souhaib
Sous-système E/S du noyau Ordonnancement E/S Module Systèmes d'exploitation BTS Génie Informatqiue Sous-système E/S du noyau Ordonnancement E/S Optimiser l’ordre dans lequel les E/S sont exécutées Chapitre 10 (partie ordonnancement disque) Enseigant : AAMMOU Souhaib
Sous-système E/S du noyau Mise en tampon Module Systèmes d'exploitation BTS Génie Informatqiue Sous-système E/S du noyau Mise en tampon Double tamponnage: P.ex. en sortie: un processus écrit le prochain enregistrement sur un tampon en mémoire tant que l’enregistrement précédent est en train d’être écrit Permet superposition traitement/E/S Enseigant : AAMMOU Souhaib
Sous-système E/S du noyau Mise en cache Module Systèmes d'exploitation BTS Génie Informatqiue Sous-système E/S du noyau Mise en cache Quelques éléments couramment utilisés d’une mémoire secondaire sont gardés en mémoire centrale Donc quand un processus exécute une E/S, celle-ci pourrait ne pas être une E/S réelle: Elle pourrait être un transfert en mémoire, une simple mise à jour d’un pointeur, etc. Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Sous-système E/S du noyau Mise en attente et réservation de périphérique: spoule Spoule ou Spooling est un mécanisme par lequel des travaux à faire sont stockés dans un fichier, pour être ordonnancés plus tard Pour optimiser l’utilisation des périphériques lentes, le SE pourrait diriger à un stockage temporaire les données destinés à la périphérique (ou provenant d’elle) P.ex. chaque fois qu’un programmeur fait une impression, les données pourraient au lieu être envoyées à un disque, pour être imprimées dans leur ordre de priorité Aussi les données en provenance d’un lecteur optique pourraient être stockées pour traitement plus tard Enseigant : AAMMOU Souhaib
Sous-système E/S du noyau Gestion des erreurs Module Systèmes d'exploitation BTS Génie Informatqiue Sous-système E/S du noyau Gestion des erreurs Exemples d’erreurs à être traités par le SE: Erreurs de lecture/écriture, protection, périphérique non-disponible Les erreurs retournent un code ‘raison’ Traitement différent dans les différents cas… Enseigant : AAMMOU Souhaib
Module Systèmes d'exploitation BTS Génie Informatqiue Quiz Time! Questions? What algorithms did we see today? Optimal PRA Not Recently Used FIFO Second Chance Clock Least Recently Used What are three ways of implementing Least Recently Used? A linked list A counter of instructions stored for each page table entry A hardware matrix of n x n bits where n is the number of page frames Enseigant : AAMMOU Souhaib