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

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)

Présentations similaires


Présentation au sujet: "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)"— Transcription de la présentation:

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)

2 Revue Quelles sont les avantages dun système segmenté? Quelles sont les deux désavantages majeurs dune implémentation pure de la segmentation?

3 Synopsis Catégories des périphériques dE/S Contrôleurs de périphériques Registres de contrôle E/S basé sur les ports E/S mappées en mémoire Accès Dir Interruptions ect à la mémoire

4 Catégories de périphériques dE/S Les périphériques dE/S viennent en deux types généraux: Périphériques par blocs Pé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 adresse Les disques sont la représentation la plus courante des périphériques de blocs Parce 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 navez pas à réécrire tout votre disque!

5 Catégories de périphériques dE/S Les périphériques par caractères acceptent et fournissent des flots de caractères sans aucune structure Non adressable Aucune 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 laccè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: nont pas de blocs ou de flots, mais ont de la mémoire mappée

6 Contrôleurs de périphériques On se rappel: Les périphériques dE/S ont typiquement une composante mécanique et une composante électronique La partie électronique est le contrôleur Bus Monitor

7 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 doctets et de faire les conversions et corrections En fin de compte touts les périphériques traitent des bits. Cest le contrôleur qui groupe ou dégroupe ces bits

8 Registres de contrôle Chaque contrôleur possède quelques registres qui servent à la communication avec le processeur Le système dexploitation 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ées Parfois utilisé comme partie du périphérique, ie: RAM vidéo auquel les programmes ou le SE peuvent écrire

9 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és Chaque registre est mappé en mémoire Aucune mémoire est présente à ces adresses

10 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 ports Les premiers ordinateurs ont tous utilisés cette méthode Désavantages: Des instructions spéciales sont requises On doit se servir de lassembleur pour écrire les fonctions qui parlent aux périphériques. On a besoin de code spécial pour protéger les périphériques dE/S pour les processus qui nont pas les privilèges nécessaires

11 E/S mappées en mémoire Dans cette approche, les registres de contrôle du périphérique sont mappés dans lespace mémoire Maintenant, on a pas besoin dinstructions 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 laccès aux cadres qui contiennent les adresses des registres dE/S)

12 E/S mappées en mémoire Désavantages: Les caches sont maintenant plus difficiles. On a besoin dune 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 dE/S doivent vérifier pour voir si ils doivent répondre à la demande. Ceci est trivial dans le cas dun système avec un seul bus...

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

14 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 davoir leurs tampons de données dans lespace mémoire

15 Accès directe à la mémoire (DMA) DMA est utilisé pour libérer le CPU davoir à déplacer des octets du périphérique vers la mémoire Cela demande une autre pièce de matériel appelé un contrôleur DMA Le SE/CPU charge les registres du contrôleur DMA avec linformation nécessaire pour linstruire de quel périphérique prendre/passer les données, où les mettre en mémoire et combien doctets doivent être écrit/lu

16

17 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 demande En mode rafale, le contrôleur DMA transfère un nombre doctets à la fois. Ceci sauve du temps pour obtenir et relâcher le bus Plus efficace, mais cela peut retarder le CPU à répondre à dautre travail ou périphériques pour un long temps dépendant du temps de la rafale

18 Accès directe à la mémoire (DMA) Les contrôleurs DMA utilisent normalement des adresses physiques pour leurs transferts Autrement. Il auraient a parler au MMU. Particulièrement difficile si le MMU fait partie du CPU Certains contrôleurs DMA vont tamponner linformation dans leurs propre espace mémoire Permet de faire des transferts de périphériques à périphériques, mais cest plus compliqué Pas tout les ordinateurs utilisent les DMA Pas requis tout le temps et beaucoup moins dispendieux sans cela!

19 Interruptions, revisitées Quest ce qui ce passe quand un périphérique a besoin dattention et signale une interruption? Le périphérique signale sur une ligne Le contrôleur des interruptions, si il est prêt, informe le CPU dune 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 dinterruptions. Lentrée contenue dans la table est ladresse où la routine de service de linterruption est localisé.

20 Interruptions, revisitées Que ce passe-t-il sur une interruption? Quand le CPU prend soins de linterruption, il envoie une confirmation au contrôleur des interruptions.

21 Interruptions, revisitées Considérations: Sur quelle pile est-ce que le CPU sauve létat courant? Si la pile de lutilisateur 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 nest pas tout le temps requis…plusieurs pilotes de périphériques vivent dans lespace utilisateur) ce qui requiert plus de temps et un changement de contexte, ce qui invalide le RPA, la cache, etc.

22 Interruptions, revisitées Plus de considérations: Combien dinformation 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 lon 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 dune seule instruction?

23 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 lexécution de linstruction qui est pointée par le CO est connu

24 Quiz Time! Questions?


Télécharger ppt "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)"

Présentations similaires


Annonces Google