Systèmes d’entrée/sortie

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
GEF 435 Principes des systèmes dexploitation Structure du logiciel dE/S Partie II (Tanenbaum & 5.3.4)
GEF 435 Principes des systèmes dexploitation Principes et structure du logiciel dE/S (Tanenbaum 5.2 & 5.3)
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Université de Pau et des Pays de l ’Adour
Le Concept du programme enregistré
GEF 435 Principes des systèmes d’exploitations
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
GEF 435 Principes des systèmes d’exploitation
auxiliaires ou mémoires de masse ou alors secondaire).
PLAN du COURS Introduction Structure des Systèmes Informatiques
Le Concept du programme enregistré
Mémoire & Processus Cours SE - SRC
FLSI602 Génie Informatique et Réseaux
Architecture de machines Principes généraux
Cours d’initiation en Informatique
Systèmes d’exploitation
Système d’exploitation : Assembleur
Les systèmes à microprocesseur
Mémoire cache ou antémémoire
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
Gestion des Périphériques
Les Systèmes d’Exploitation
Section XI Traitement de fichiers
1 Threads et Lightweight Processes Chapitre 5 En français on utilise parfois flots ou fils pour threads. Votre manuel préfère le mot anglais thread : terminologie.
Système d’exploitation
Architecture des Ordinateurs
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
LES SYSTEMES AUTOMATISES
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Module 10 – Structure de mémoire de masse (disque)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Périphériques et bus système
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Mécanismes d'exécution et de communication
Procédures et fonctions
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Module 8 : Surveillance des performances de SQL Server
Logiciel utilisé : Excel 2010
Cours de Systèmes d’exploitations
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Programmation Système et Réseau
La mémoire virtuelle Dans laquelle un ordinateur exécute des programmes dont les besoins en mémoires dépassent la mémoire disponible. Par exemple des.
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
Structure des Systèmes Informatiques
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Patricia Renault UPMC 2005/2006
Cours Système LI324 Les Interruptions Cours Système LI324
Système de gestion fichiers
Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.
Architecture Client/Serveur
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Architecture et technologie des ordinateurs II
1.1: notions de bases de l’informatique
ALLOCATION DU CPU et GESTION DES TRAVAUX.
1 Structures d’ordinateurs (matériel) Chapitre 2
Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers :
Architecture d’un ordinateur
Initiation à l'informatique
Chapitre8 Configuration de l'adressage TCP/IP et de la résolution de noms Module S41.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Chap 131 Chapitre 13 Systèmes d’entrée/sortie
Systèmes d’entrée/sortie
Transcription de la présentation:

Systèmes d’entrée/sortie Chapitre 13 Systèmes d’entrée/sortie http://w3.uqo.ca/luigi/ Chap 13

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 Chap 13

Structure typique de bus PC Chap 13 PCI: Peripheral Component Interconnect

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 d’adresse fixe pour chaque contrôleur (ports) Aussi, le SE utilise le RAM pour des tampons pour les données d’E/S Et combinaisons de ces techniques RAM UCT Contr. Péripher. tampon Chap 13

Adresses des ports d’E/S des périphériques PC Chap 13

Quand communiquer entre programme et périphérique? 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 Chap 13

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

Interruption Condition interrogée après l’exécution de chaque instruction À moins que l’interruption ne soit masquée Souvent deux types d’interruptions: masquable, non masquable Transfert à une adresse de mémoire où il y a renvoi à la routine de traitement (dans le vecteur d’interruption) 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, traitement de la deuxième est interrompu Chap 13

Cycle d’E/S par interruption Chap 13

Table des vecteurs d’interruptions Intel Pentium (partie non-masquable jusqu’à 31) Chap 13

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 l’instruction les paramètres qui déterminent quoi faire Chap 13

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

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

Interface E/S d’application Le système d’E/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 l’inter changement de différentes périphériques Mais le constructeur d’une périph doit créer autant de pilotes qu’il y a de SE qui peuvent utiliser la périph Chap 13

Structure E/S d’un noyau (driver=pilote) pilotes Chap 13

Caractéristiques des périphs E/S Chap 13

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. Chap 13

Unix et Windows utilisent le concept de socket Périphériques réseau Unix et Windows utilisent le concept de socket Permet à l’application 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 Chap 13

Fournit le temps courant, le temps écoulé, déclenche des minuteries 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 d’applications Chap 13

E/S bloquantes,synchrones et non-bloquantes Bloquante: le processus qui demande une E/S est suspendu jusqu’à la fin de l’E/S Facile à comprendre Mais le proc pourrait vouloir continuer pour faire d’autres choses Asynchrone: l’E/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 l’interruption? 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 C’est la solution la plus courante Chap 13

E/S synchrones, asynch et non-bloquantes Interr. join 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 d’utilisation de processus légers) Synchrone:proc suspendu pendant E/S Chap 13

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 Chap 13

Sous-système E/S du noyau Ordonnancement E/S Optimiser l’ordre dans lequel les E/S sont exécutées V. chapitre sur ordonnancement disque Chap 13

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 Chap 13

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. V.disque RAM Chap. 11 Chap 13

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 Chap 13

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 non-disponible Les erreurs retournent un code ‘raison’ Traitement différent dans les différents cas… Chap 13

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 l’information sur les tampons, l’allocation de mémoire, etc. Chap 13

Gestion de requêtes E/S P. ex. lecture d’un 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 Chap 13

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

Performance Ignorer cette section Chap 13

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 Chap 13

Concept de Cache Le mot cache est utilisé souvent dans situations apparemment différentes, p.ex: Entre l’UCT 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 qu’elles 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 Chap 13

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 Chap 13