24
GEF 435 Principes des systèmes d’exploitation Principes du matériel d’E/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Embed Size (px)

Citation preview

Page 1: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

GEF 435Principes des systèmes d’exploitation

Principes du matériel d’E/S

– Ou –

Revue de revue du matériel des ordinateurs(Tanenbaum 5.1)

Page 2: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Revue

• Quelles sont les avantages d’un système segmenté?• Quelles sont les deux désavantages majeurs d’une

implémentation pure de la segmentation?

Page 3: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Synopsis

• Catégories des périphériques d’E/S• Contrôleurs de périphériques• Registres de contrôle

E/S basé sur les portsE/S mappées en mémoire

• Accès Dir Interruptions ect à la mémoire

Page 4: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Catégories de périphériques d’E/S

• Les périphériques d’E/S viennent en deux types généraux:Périphériques par blocsPériphériques par caractères

• Les périphériques par blocs stockent les données en blocs de taille fixe, chacun possédant sa propre adresseLes disques sont la représentation la plus courante des

périphériques de blocsParce que chaque bloc est adressable, chaque bloc peut

être indépendamment lu/écrit des autres blocs• ie: quand vous sauvez un fichier sur le disque vous n’avez pas à

réécrire tout votre disque!

Page 5: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Catégories de périphériques d’E/S• Les périphériques par caractères acceptent et fournissent des

flots de caractères sans aucune structureNon adressableAucune opération de recherche (seek)Exemples: souris, imprimante, interfaces de réseau, modems,…

• Certains périphériques chevauchent les frontières: les bandes magnétiques pour sauvegarder entreposent des blocs de

données de disques, mais l’accès est séquentiel

• Certains périphériques ne font pas dans les modèles:Horloge: pas adressable par blocs et ne fournit pas de flotsÉcran: n’ont pas de blocs ou de flots, mais ont de la mémoire

mappée

Page 6: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Contrôleurs de périphériques

• On se rappel: Les périphériques d’E/S ont typiquement une composante mécanique et une composante électroniqueLa partie électronique est le contrôleur

Bus

Monitor

Page 7: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Contrôleurs de périphériques

• Sur un PC, le contrôleur de périphérique est habituellement sur un circuit imprimé Il peut être intégré sur la carte mère

• Le job du contrôleur est de convertir un flot de série de bits en octets ou en blocs d’octets et de faire les conversions et correctionsEn fin de compte touts les périphériques traitent des bits.

C’est le contrôleur qui groupe ou dégroupe ces bits

Page 8: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Registres de contrôle

• Chaque contrôleur possède quelques registres qui servent à la communication avec le processeurLe système d’exploitation peut commander les périphériques

de fournir ou accepter des données, de s’éteindre, etc.Le SE peut aussi lire certains registres pour déterminer l’état

du périphérique

• Les contrôleurs ont typiquement des tampons de données auxquels le SE peut lire et écrire Important pour ne pas perdre de donnéesParfois utilisé comme ‘partie’ du périphérique, ie: RAM

vidéo auquel les programmes ou le SE peuvent écrire

Page 9: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Registres de contrôle

• Comment est-ce que le SE communique avec ces registres et ces tampons de données? Deux méthodes:Numéros de ports spéciaux qui doivent être

spécifiésChaque registre est mappé en mémoire

• Aucune mémoire est présente à ces adresses

Page 10: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

E/S basé sur les ports

• Pour communiquer avec les contrôleurs par les ports, des commandes spéciales doivent être disponibles sur le système ie: on utilise MOV en assembleur pour parler à la mémoire,

mais IN ou OUT pour parler aux portsLes premiers ordinateurs ont tous utilisés cette méthodeDésavantages:

• Des instructions spéciales sont requises

• On doit se servir de l’assembleur pour écrire les fonctions qui parlent aux périphériques.

• On a besoin de code spécial pour protéger les périphériques d’E/S pour les processus qui n’ont pas les privilèges nécessaires

Page 11: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

E/S mappées en mémoire

• Dans cette approche, les registres de contrôle du périphérique sont mappés dans l’espace mémoireMaintenant, on a pas besoin d’instructions spéciales pour parler

aux contrôleurs des périphériques. Traité comme tout autre accès à la mémoire

Avantages:• Pas besoin de nouvelles instructions. En fait quelques instructions pour

le RAM peuvent être utilisées pour tester l’état du périphérique!

• Aucun mécanisme de protection spécial est requis (on ne donne tout simplement pas aux processus l’accès aux cadres qui contiennent les adresses des registres d’E/S)

Page 12: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

E/S mappées en mémoire

Désavantages:• Les caches sont maintenant plus difficiles. On a besoin d’une

méthode qui ne cache pas certaines pages ou segments ou le SE ne verra pas le changement de l’état des périphériques!

• Sur chaque référence de mémoire, chaque module de mémoire et périphériques d’E/S doivent vérifier pour voir si ils doivent répondre à la demande. Ceci est trivial dans le cas d’un système avec un seul bus...

Page 13: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

E/S mappées en mémoire

Désavantages (continue):• …cependant, la plus part des systèmes donne un bus haute vitesse

entre la mémoire et le CPU et un bus de système:

• Ceci rend la tâche difficile à un périphérique pour voir si il a été adressé.

• Un système doit être implémenté pour transférer les adresses périphériques sur le bus du système au cas ou la référence est pour E/S et non pour la mémoire.

Page 14: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Les contrôleurs de périphériques

Solutions: Séparé Partagé Hybride• Un design hybride peut être utilisé pour permettre aux

registres des contrôleurs d’être des ports mais d’avoir leurs tampons de données dans l’espace mémoire

Page 15: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Accès directe à la mémoire (DMA)

• DMA est utilisé pour libérer le CPU d’avoir à déplacer des octets du périphérique vers la mémoireCela demande une autre pièce de matériel appelé

un contrôleur DMALe SE/CPU charge les registres du contrôleur

DMA avec l’information nécessaire pour l’instruire de quel périphérique prendre/passer les données, où les mettre en mémoire et combien d’octets doivent être écrit/lu

Page 16: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)
Page 17: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Accès directe à la mémoire (DMA)

• Les transfères mémoire peuvent être un octet à la fois ou en mode rafale (burst mode)Avec un octet à la fois, le contrôleur DMA

transfère un octet ou mot pour chaque demandeEn mode rafale, le contrôleur DMA transfère un

nombre d’octets à la fois. Ceci sauve du temps pour obtenir et relâcher le bus

• Plus efficace, mais cela peut retarder le CPU à répondre à d’autre travail ou périphériques pour un long temps dépendant du temps de la rafale

Page 18: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Accès directe à la mémoire (DMA)

• Les contrôleurs DMA utilisent normalement des adresses physiques pour leurs transfertsAutrement. Il auraient a parler au MMU. Particulièrement

difficile si le MMU fait partie du CPU

• Certains contrôleurs DMA vont tamponner l’information dans leurs propre espace mémoirePermet de faire des transferts de périphériques à périphériques,

mais c’est plus compliqué

• Pas tout les ordinateurs utilisent les DMAPas requis tout le temps et beaucoup moins dispendieux sans

cela!

Page 19: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Interruptions, revisitées

• Qu’est ce qui ce passe quand un périphérique a besoin d’attention et signale une interruption?Le périphérique signale sur une ligneLe contrôleur des interruptions, si il est prêt, informe le CPU

d’une interruption en suspend et met le numéro du périphérique sur le bus des adresses pour informer le CPU de quel périphérique a signalé une interruption

Le CPU utilise cette adresse comme offset dans une table appelée vecteur d’interruptions. L’entrée contenue dans la table est l’adresse où la routine de service de l’interruption est localisé.

Page 20: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Interruptions, revisitées

• Que ce passe-t-il sur une interruption?Quand le CPU prend soins de l’interruption, il envoie une

confirmation au contrôleur des interruptions.

Page 21: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Interruptions, revisitées

• Considérations:Sur quelle pile est-ce que le CPU sauve l’état

courant?• Si la pile de l’utilisateur est utilisée, comment sait-on

que la pile est valide?• Aussi, que ce passe-t-il si la pile est valide, mais notre

information remplie la page courante? Maintenant nous pouvons avoir un défaut de page en plein milieu de notre interruption!

• Si la pile du noyau est utilisée, le CPU devra faire une TRAP au mode noyau (ce qui n’est pas tout le temps requis…plusieurs pilotes de périphériques vivent dans l’espace utilisateur) ce qui requiert plus de temps et un changement de contexte, ce qui invalide le RPA, la cache, etc.

Page 22: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Interruptions, revisitées

• Plus de considérations:Combien d’information d’état devons nous

sauvegarder?• Les systèmes plus vieux sauvaient simplement l’état après

que le CPU finissait sa dernière instruction• Les systèmes modernes ont des pipelines. Est-ce que l’on

sauve seulement toutes les instructions complètes ou l’état des instructions partiellement complétés?

• Les CPUs Superscalaire sont encore plus compliqués. Parce que les instructions sont complétées en désordre et ensuite rassemblées, comment est ce que le SE/CPU peut simplement repartir d’une seule instruction?

Page 23: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Interruptions, revisitées

• Encore plus de considérations:Certains systèmes fournissent des interruptions

qui sont appelées ‘interruptions précises’. Ces interruptions laissent la machine dans un état très bien défini:

• Le compteur ordinal est sauvé dans une place connue

• Toutes les instructions avant celle qui est pointée par le CO ont étés complètement exécutées

• Aucune instruction après le CO a été exécuté

• L’état de l’exécution de l’instruction qui est pointée par le CO est connu

Page 24: GEF 435 Principes des systèmes dexploitation Principes du matériel dE/S – Ou – Revue de revue du matériel des ordinateurs (Tanenbaum 5.1)

Quiz Time!

Questions?