La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chap 131 Chapitre 13 Systèmes dentrée/sortie

Présentations similaires


Présentation au sujet: "Chap 131 Chapitre 13 Systèmes dentrée/sortie"— Transcription de la présentation:

1 Chap 131 Chapitre 13 Systèmes dentrée/sortie

2 Chap 132 Concepts importants du chapitre Matériel E/S Communication entre UCT et contrôleurs périphériques Interruptions et scrutation DMA Pilotes et contrôleurs de périphs E/S bloquantes ou non, synchrones ou asynch Sous-système du noyau pour E/S –Tamponnage, cache, spoule

3 Chap 133 Structure typique de bus PC PCI: Peripheral Component Interconnect

4 Chap 134 Communication entre UCT et contrôleurs périphériques Différentes techniques: –UCT et contrôleurs communiquent directement par des registres –UCT et contrôleurs communiquent par des petites zones de mémoire centrale dadresse fixe pour chaque contrôleur (ports) –Aussi, le SE utilise le RAM pour des tampons pour les données dE/S –Et combinaisons de ces techniques RAM UCT Contr. Péripher. tampon

5 Chap 135 Adresses des ports dE/S des périphériques PC

6 Chap 136 Quand communiquer entre programme et périphérique? Deux méthodes principales: –Scrutation (polling): linitiative est au programme –Interruption: linitiative est à la périphérique Grande variété dimplémentations

7 Chap 137 Scrutation (polling) (supposons quil soit une commande dimpression) Une donnée est prête à imprimer dans un registre dUCT Bit dans le contrôleur E/S: –Occupé ou Libre – (prêt à accepter commande) LUCT continue de regarder le bit occupé du contrôleur jusquà ce quil soit libre (cest la scrutation) Elle positionne alors un bit commande prête Le contrôleur voit ceci et cherche dans le registre dUCT le caractère à sortir Etc. (v. manuel) Inefficacité de cette méthode si (comme normal) lUCT se trouve très souvent dans une boucle de scrutation –Attente occupée Mais matériel plus simple que pour linterruption

8 Chap 138 Interruption Condition interrogée après lexécution de chaque instruction –À moins que linterruption ne soit masquée –Souvent deux types dinterruptions: masquable, non masquable Transfert à une adresse de mémoire où il y a renvoi à la routine de traitement (dans le vecteur dinterruption ) Les interruptions ont différentes priorités –Si une interruption dhaute priorité se présente lors que le système est en train de traiter une int. de prio. faible, traitement de la deuxième est interrompu

9 Chap 139 Cycle dE/S par interruption

10 Chap 1310 Table des vecteurs dinterruptions Intel Pentium (partie non-masquable jusquà 31)

11 Chap 1311 Appels système Quand un usager demande un service du noyau, le SE exécute une instruction qui cause une interruption logicielle ou déroutement (trap) Le système passe en mode superviseur et trouve dans linstruction les paramètres qui déterminent quoi faire

12 Chap 1312 Accès direct en mémoire (DMA) Nous avons supposé que lUCT est impliquée dans le transfert de chaque octet DMA est un contrôleur spécial qui assume le rôle de lUCT dans lE/S Utile pour libérer lUCT surtout pour des E/S volumineuses Il a accès direct à la mémoire centrale Il interrompt lUCT seulement quand toute lopération dE/S est terminée

13 Chap 1313 DMA: six étapes Exemple: entrée disq mém

14 Chap 1314 Interface E/S dapplication Le système dE/S encapsule le comportement des périphériques dans des classes génériques La couche pilote de périfs masque les différences existantes entre périphs spécifiques Ceci simplifie linter changement de différentes périphériques Mais le constructeur dune périph doit créer autant de pilotes quil y a de SE qui peuvent utiliser la périph

15 Chap 1315 Structure E/S dun noyau (driver=pilote) pilotes

16 Chap 1316 Caractéristiques des périphs E/S

17 Chap 1317 Périphériques par blocs ou 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 (clavier, écran) –Get, put traitent des caractères –Librairies au dessus peuvent permettre édition de lignes, etc.

18 Chap 1318 Périphériques réseau Unix et Windows utilisent le concept de socket –Permet à lapplication de faire abstraction du protocole –Fonctionnalité select : appel à select indique en retour quelles sont les sockets prêts à recevoir un paquet ou quelles peuvent accepter un paquet à transmettre Grand nombre de solutions différentes: pipes, FIFOs, streams, queues, mailboxes

19 Chap 1319 Horloge et minuterie Fournit le temps courant, le temps écoulé, déclenche des minuteries Peuvent être utilisées pour interruptions périodiques, interruptions après des périodes données –Grand nombre dapplications

20 Chap 1320 E/S bloquantes,synchrones et non-bloquantes Bloquante: le processus qui demande une E/S est suspendu jusquà la fin de lE/S –Facile à comprendre –Mais le proc pourrait vouloir continuer pour faire dautres choses Asynchrone: lE/S est demandée, et le processus continue son exécution, il sera plus tard averti de la terminaison –Utilisée dans le passé, peu utilisée à présent car le temps de terminaison est imprévisible –Programmation difficile: quoi faire en attente de linterruption? Non-bloquante: dans ce cas, le proc crée des différentes threads pour chaque E/S, qui lui permettent de continuer avec autres activités –Les différentes tâches se réunissent à un point programmé par les deux (join) –V. discussion sur processus légers Solaris –Cest la solution la plus courante

21 Chap 1321 E/S synchrones, asynch et non-bloquantes Synchrone:proc suspendu pendant E/S Asynch:proc continue, sera interrompu quand E/S complétée Non-bloquante: thread A crée thread B pour faire une E/S synchrone, continue pour faire autre chose puis les deux se réunissent (exemple dutilisation de processus légers) A B Interr. join

22 Chap 1322 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

23 Chap 1323 Sous-système E/S du noyau Ordonnancement E/S Optimiser lordre dans lequel les E/S sont exécutées –V. chapitre sur ordonnancement disque

24 Chap 1324 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 lenregistrement précédent est en train dêtre écrit –Permet superposition traitement/E/S

25 Chap 1325 Sous-système E/S du noyau Mise en cache Quelques éléments couramment utilisés dune 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 dun pointeur, etc. V.disque RAM Chap. 11

26 Chap 1326 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 lutilisation des périphériques lentes, le SE pourrait diriger à un stockage temporaire les données destinés à la périphérique (ou provenant delle) –P.ex. chaque fois quun 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 dun lecteur optique pourraient être stockées pour traitement plus tard

27 Chap 1327 Sous-système E/S du noyau Gestion des erreurs Exemples derreurs à être traités par le SE: –Erreurs de lecture/écriture, protection, périph non- disponible Les erreurs retournent un code raison Traitement différent dans les différents cas…

28 Chap 1328 Structures de données du noyau Le noyau garde toutes les informations concernant les fichiers ouverts, composants E/S, connections Un grand nombre de structures de données complexes pour garder linformation sur les tampons, lallocation de mémoire, etc.

29 Chap 1329 Gestion de requêtes E/S P. ex. lecture dun fichier de disque –Déterminer où se trouve le fichier –Traduire le nom du fichier en nom de périphérique et location dans périphérique –Lire physiquement le fichier dans le tampon –Rendre les données disponibles au processus –Retourner au processus

30 Chap 1330 Cycle de vie dune requête E/S Si données déjà en RAM (cache) Matériel

31 Chap 1331 Performance Ignorer cette section

32 Chap 1332 Concepts importants du chapitre Matériel E/S Communication entre UCT et contrôleurs périfériques Interruptions et scrutation DMA Pilotes et contrôleurs de périfs E/S bloquantes ou non, asynchrones Sous-système du noyau pour E/S –Tamponnage, cache, spoule

33 Chap 1333 Concept de Cache Le mot cache est utilisé souvent dans situations apparemment différentes, p.ex: –Entre lUCT et la mémoire RAM nous pouvons avoir une mémoire cache –Le Translation Lookaside Buffer (TLB) utilisé pour contenir les adresses de mémoire virtuelle les plus récemment utilisés est souvent appelé cache –La technique de charger en RAM certains données disque qui sont beaucoup utilisées est aussi appelée caching En général, caching veut dire transférer dans une mémoire plus rapide des informations normalement contenues dans une mémoire plus lente, quand le SE croit quelles seront demandées fréquemment dans un futur prochain Les implémentations du cache doivent résoudre le problème de la cohérence entre les données contenues dans le cache et les données contenues dans la mémoire principale –Ces dernières doivent être mises à jour avant dêtre réutilisées

34 Chap 1334 Concept de lieu de référence Le concept de cache est étroitement lié au concept de lieu de référence ou localité de référence Si (comme normal) le programme en exécution est en train de travailler sur une zone de mémoire logique limitée, beaucoup plus petite que sa mémoire logique totale, –alors il est performant de transférer ces informations dans une mémoire plus rapide et plus petite


Télécharger ppt "Chap 131 Chapitre 13 Systèmes dentrée/sortie"

Présentations similaires


Annonces Google