GEF 435 Principes des systèmes dexploitation Principes et structure du logiciel dE/S (Tanenbaum 5.2 & 5.3)

Slides:



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

Module Systèmes d’exploitation
Module Systèmes d’exploitation
Module Systèmes d’exploitation
Module Systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Architecture du logiciel I.
GEF 435 Principes des 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 Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Module 5 : Implémentation de l'impression
Synchronisation des processus père - fils
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Ordonnancement partie I (Tanenbaum 2.5)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
Systèmes en temps réel Services de Communication.
GEF 435 Principes des systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
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 d’exploitation
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
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Appels de système (Tanenbaum 1.6)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
PLAN du COURS Introduction Structure des Systèmes Informatiques
Systèmes d’exploitation
LE MODE SANS ECHEC « Des explications ? ». UN PROBLEME PRATIQUE « plante » Quoi que vous ayez pu faire ou même sans navoir rien fait, votre ordinateur.
Module 13 : Implémentation de la protection contre les sinistres
Module 1 : Préparation de l'administration d'un serveur
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Système d’exploitation
Structures des Systèmes d’Exploitation
Test et débogage Tests unitaires. Gestion d’erreurs. Notion d’état, de pré-condition et de post-condition. Assertion. Traces de programme. Débogueur et.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Revisé 2006 Modèle de performance dun serveur simple Nous supposons que le serveur traite une requête après lautre (sans parallisme) Modèle de files dattente.
Périphériques et bus système
Module 2 : Préparation de l'analyse des performances du serveur
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Vue d'ensemble Surveillance des journaux d'événements
Module 8 : Surveillance des performances de SQL Server
Yonel GRUSSON1 Installation d'une imprimante sous Windows 200x Server.
Interactions entre Processus
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.
GF-4: Storage Secondaire: Disques
En route vers le déploiement . . .
Simulateur de microcontrôleur Intel 80C51
Cours Système LI324 Les Interruptions Cours Système LI324
Création JJ Pellé novembre 2014Musique : David Schombert.
Applications Internet Cours 3 21 janvier 2010 Cours 3 21 janvier 2010.
Architecture Client/Serveur
Architecture et technologie des ordinateurs II
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Gestion des Tâches Les Processus. Un système multitâches La carte mère comporte Le Processeur (calcul et attente) Les jeux de composants spécialisés (entrées-sorties.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Transcription de la présentation:

GEF 435 Principes des systèmes dexploitation Principes et structure du logiciel dE/S (Tanenbaum 5.2 & 5.3)

Revue Quest-ce que le mode rafale? Sur quelle pile est-ce que lon sauvegarde létat du système quand une interruption se produit?

Synopsis Principes et buts du logiciel dE/S Méthodes dE/S Structure du logiciel dE/S (partie I)

Principes/Buts du logiciel dE/S Indépendant des périphériques Il devrait être possible décrire des programmes qui peuvent accéder nimporte quel périphériques dE/S sans avoir à spécifier un périphérique en avance Par exemple: votre programme ne devrait pas être substantiellement différent (et même non différent) si vous ouvrez un fichier sur un disque mou, un disque dure ou un disque compact

Principes/Buts du logiciel dE/S Nommage uniforme Le nom dun fichier ou dun périphérique devrait être une chaîne de caractères ou un entier et ne doit pas dépendre du périphérique daucune façon Est-ce que Windows rencontre ce but? Traitement des erreurs Les erreurs devraient être traitées aussi près du matériel que possible ie: Contrôleur pilote de périphérique et vers le haut Plusieurs erreurs dE/S sont transitoires, si on essaie encore on peut enlever la majorité des erreurs

Principes/Buts du logiciel dE/S Transferts synchrones vs asynchrones Au niveau physique, la plus part des E/S sont asynchrones Le périphérique signale une interruption quand il est prêt Pour les utilisateurs, le programme est habituellement plus facile à créer si les E/S sont synchrones (ie: qui bloquent) Cest le job du SE de rendre les transferts asynchrones en transferts qui semblent bloquer du point de vue de lutilisateur

Principes/Buts du logiciel dE/S Tamponnage Les données qui proviennent dun périphérique doivent souvent être collectées avant dêtre fournies à la destination finale Par exemple, un paquet de réseau doit être examiné pour déterminer quel processus a demandé le paquet Les données qui vont vers un périphérique peuvent aussi être tamponnées. Par exemple: les baladeurs mp3 doivent avoir des données prêtes à lire en tout temps Ceci découple le taux de remplissage du taux de vidage

Principes/Buts du logiciel dE/S Périphériques partagés vs. dédiés Certains périphériques, comme les disques, peuvent être partagés entre plusieurs processus simultanément. On peut ouvrir plusieurs fichiers en même temps sans problème Certains autres périphériques, tel que les lecteurs de rubans magnétiques ou les brûleurs CD peuvent navoir quun seul utilisateur à la fois jusquà ce que le job soit complété Les périphériques dédiés introduisent aussi le problème des interblocages

Comment est-ce que les E/S sont exécutées? Trois méthodes: E/S programmées E/S par interruptions DMA Ceci est du point de vue du logiciel, malgré que cela peut impliquer des questions de matériel...

Comment est-ce que les E/S sont exécutées? E/S programmées E/S avec attente active Le SE a un processus qui attend dans une boucle, qui vérifie si un périphérique est prêt à communiquer et/ou envoyer/recevoir de linformation tel que requis

Comment est-ce que les E/S sont exécutées? E/S programmées Cette méthode est simple à implémenter, mais cela accapare le CPU à plein temps (si on nutilise pas un processus pour imprimer) ou utilise beaucoup de cycles Si le temps dattente est court (ie: limpression va dans un tampon dans limprimante) ceci pourrait être acceptable

Comment est-ce que les E/S sont exécutées? E/S par interruption Cette méthode permet au CPU de faire dautre travail pendant que les E/S sont en cours Comme avant, linformation à être imprimée est transférée dans lespace noyau Limprimante se fait passer un caractère et lordonnanceur est appelé pour choisir un processus à être exécuté (fait partie de lappel de système) Quand limprimante est prête pour un nouveau caractère, une interruption est générée et la routine de service dinterruption de limprimante est exécutée

Comment est-ce que les E/S sont exécutées? E/S par interruption Si la routine dinterruption note quil ny a plus de caractère à imprimer le processus de lutilisateur est débloqué Peut être par message, sémaphore, etc.

Comment est-ce que les E/S sont exécutées? E/S utilisant le DMA Gros gain: ceci permet une seule interruption quand le transfert est complété! Ceci est essentiellement des E/S programmées, mais le contrôleur DMA fait le travail au lieu du CPU Si le CPU est habituellement inactif, alors cette méthode est moins efficace que les interruptions. Pourquoi?

Le logiciel dE/S ont des couches (comme les Ogres)

Comment est-ce que le logiciel dE/S est organisé? Quatre couches, chaque couche est de plus en plus abstraite du matériel en montant dans le système Chaque couche a une interface bien définie pour la couche adjacente ( couche inférieur est un serveur pour la supérieure )

Le logiciel dE/S ont des couches (comme les Ogres) Gestionnaires dinterruptions Les interruptions doivent être utilisées pour faire au moins une partie des E/S et elles doivent être cachées le plus loin possible de lutilisateur; dans les entrailles du SE La meilleur façon de travailler avec les interruptions est que le pilote se bloque sur un sémaphore, une attente sur une variable de condition (moniteur), sur une réception de message, ou une autre méthode similaire Quand linterruption arrive, le pilote est débloqué/envoyé un message/etc.

Le logiciel dE/S ont des couches (comme les Ogres) Gestionnaires dinterruptions Comme de raison, cela nest pas si simple. On doit accomplir bien plus que cela quand on répond à une interruption Sauvegarder tout les registres qui ne sont pas sauvés par le matériel Charger le RPA, le MMU, la table de pages et la pile pour la routine de service dinterruption (RSI) Confirmer avec le contrôleur dinterruptions (ou le périphérique si il ny a pas de CI (cont.)

Le logiciel dE/S ont des couches (comme les Ogres) Gestionnaires dinterruptions Copier les registre de là où ils ont étés sauvegardés à la table de processus Exécuter la RSI (aller chercher linfo du périphérique, débloquer le pilote, etc.) Choisir le prochain processus à exécuter et charger le RPA, MMU, registres, PC, PSW, table de pages, etc. pour ce processus Commencer lexécution pour le nouveau processus

Le logiciel dE/S ont des couches (comme les Ogres) Pilotes de périphériques Chaque périphérique dE/S attaché à lordinateur requiert du code spécifique pour faire linterface entre le matériel et le SE. Ce code sappel pilote de périphérique Ceci est parce que au niveau du matériel, les périphériques sont radicalement différents les uns des autres Parfois un pilote va prendre soins dune classe de périphériques qui sont proche ex.: un nombre de souris Les pilotes de périphériques sont normalement produit par le manufacturier du périphérique pour les SEs populaires

Le logiciel dE/S ont des couches (comme les Ogres) Pilotes de périphériques Typiquement les pilotes sont dans le noyau pour quils puissent avoir accès au registres de contrôle du périphérique Ce nest pas un requis. Vous pourriez avoir un pilote dans lespace utilisateur et faire des appels de systèmes pour communiquer avec les registres. Par contre la pratique courante est davoir les pilotes dans le noyau. Étant donné que cest la méthode habituel dimplémenter les pilotes, larchitecture normale est de mettre les pilotes en bas du SE

Le logiciel dE/S ont des couches (comme les Ogres) Non montré sur la diapo: Le SE requiert normalement que les périphériques par blocs supporte un ensemble standard dinterfaces et que les périphériques par caractères en supporte un autre

Le logiciel dE/S ont des couches (comme les Ogres) Que font les pilotes de périphériques? Ils acceptent les commandes abstraites de lecture/écriture de la couche supérieure Fonctions assorties: Initialise le périphérique Gère la puissance – Arrête un disque de tourner, ferme un écran, ferme une caméra, etc.

Le logiciel dE/S ont des couches (comme les Ogres) Quest-ce que un pilote fait sur une lecture/écriture? Vérifie les paramètres dentrée & retourne les erreurs Converti les commandes abstraites (lit du secteur) en commandes physiques (tête, traque, secteur, et cylindre) Met les demandes dans une queue si le périphérique est occupé Amène le périphérique en état de fonctionnement si requis Monter la vitesse du moteur, température, etc. Contrôle le périphérique en envoyant des commandes par les registres de contrôle

Le logiciel dE/S ont des couches (comme les Ogres) Quest-ce que un pilote fait sur une lecture/écriture ? Quand une demande est envoyée, une des deux solutions possibles peut arriver: Le pilote doit attendre pour la demande de compléter, donc le pilote bloque. Il va se réveiller plus tard, tel que décrit dans la section sur les interruptions Le résultat est instantané (ex.: écriture dans lespace de mémoire de lécran) donc le travail est continué jusquà ce que lE/S soit terminé

Le logiciel dE/S ont des couches (comme les Ogres) Complications de la vie réel pour les pilotes de périphériques: Interruption reçu durant lexécution des E/S Peut se produire quand on assemble un paquet pour un réseau et quun nouveau paquet est reçu Dans ce cas les pilotes doivent être réentrants Les périphériques peuvent être ajoutés ou enlevés pendant que lordinateur fonctionne Clés de mémoire Carte de réseau PCMCIA Etc.

Quiz Time! Questions?