1 Structures d’ordinateurs (matériel) Chapitre 2

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
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 Principes et structure du logiciel dE/S (Tanenbaum 5.2 & 5.3)
Le Concept du programme enregistré
GEF 435 Principes des systèmes d’exploitation
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 d’exploitation
GEF 435 Principes des systèmes d’exploitation
auxiliaires ou mémoires de masse ou alors secondaire).
Objectif de l’exposé.
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Mémoire & Processus Cours SE - SRC
Systèmes d’entrée/sortie
Système d’exploitation : Assembleur
La net.Console Manuel d’utilisation.
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.
Architecture des Ordinateurs
Allocation de mémoire Allocation de mémoire.
LES SYSTEMES AUTOMATISES
Module 51 Module 5 - Synchronisation de Processus (ou threads, ou fils ou tâches) Module 5 - Synchronisation de Processus (ou threads, ou fils ou tâches)
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Et maintenant, où allons-nous? Après toutes les techniques vues jusquici: Que peut-on faire.
Chapitre 6 (Silberchatz)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Périphériques et bus système
Architecture et technologie des ordinateurs II
Introduction/survol du SE
CSI3531 – Labo 1 Lobservation du comportement de processus.
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
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Cours de Systèmes d’exploitations
Création d'un diaporama sous Open Office
3-Présentation d’un µP simple
Programmation Système et Réseau
GF-11: Tri Interne Efficace et Tri Externe
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.
Chapitre 4 Interruptions
INFOR 101 Chapitre 5 Marianne Morris.
Structure des Systèmes Informatiques
Simulateur de microcontrôleur Intel 80C51
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.
Architecture et technologie des ordinateurs II
Patricia Renault UPMC 2005/2006
Cours Système LI324 Les Interruptions Cours Système LI324
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.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Architecture et technologie des ordinateurs II
Chapitre 4 La représentation des nombres.
Chapitre 3 L’accès aux données.
Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
ALLOCATION DU CPU et GESTION DES TRAVAUX.
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
Les mémoires la préparation de: chaimaa hamdou.
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.
Architecture d'un automate programmable
Module 81 Module 8 – La mémoire virtuelle Chapitre 9 (Silberchatz)
1 Structures d’ordinateurs (matériel) Chapitre 2
Structures d’ordinateurs (matériel)
Transcription de la présentation:

1 Structures d’ordinateurs (matériel) Chapitre 2

Ce chapitre: n Fait une révision de concepts importants de structure des ordinateurs, probablement déjà vus dans les cours préalables u Surtout les interruptions et leur fonctionnement n Introduit aussi des concepts importants qui seront développés dans la suite du cours Ch.22

3 Concepts importants du Chapitre 2 n Registres d’UCT, tampons en mémoire, vecteurs d’interruption n Interruption et scrutation-polling n Interruptions et leur traitement n Méthodes d’E/S avec et sans attente, DMA n Tableaux de statut de périphériques n Protection et instructions privilégiées, modes d’exécution n Registres bornes n Appels de système n Hiérarchie de mémoire

Ch.24 Architecture d’ordinateurs

Registres d’UCT Ch.25

6 Registres de l’UCT (mémoire rapide dans UCT) n Registres non-visibles de contrôle et statut u Généralement non disponibles aux programmes de l’usager u l’UCT les utilise pour contrôler ses opérations u Le SE les utilise pour contrôler l’exécution des programmes n Registres visibles (aux usagers) u disponibles au SE et programmes de l’usager u visibles seulement en langage machine ou assembleur u contiennent données, adresses etc.

Ch.27 Exemples de registres de contrôle et statut n Le compteur d’instruction (PC) u Contient l’adresse de la prochaine instruction à exécuter n Le registre d’instruction (IR) u Contient l’instruction en cours d’exécution n Autres registres contenant, p.ex. u minuterie u bit d’interruption activé/désactivé u bit du mode d’exécution superviseur/usager u bornes de mémoire du programme en exec. n Registres de statut des périphériques

Ch.28 Opération d`ordinateurs pour E/S n Unités d’E/S et UCT peuvent exécuter en même temps n Chaque type d`unité a un contrôleur n Chaque contrôleur a un tampon ou registre en mémoire principale (buffer) n Le contrôleur informe l’UCT que l’opération a terminé n L’UCT a des registres qui contiennent le statut des différentes unités E/S n Ces activités peuvent causer des interruptions qui sont traitées selon le contenu du vecteur d’interruptions en mém centrale

Ch.29 Registres, vecteurs d’interruptions, tampons Unité centrale Registres Mémoire principale Vect. interrupt Registre imprimante Registre disque Registre clavier Les registres en mémoire sont aussi appelés tampons (buffers) Compt. Instr. Reg. Instr. Regs. Unités E/S Minuterie Interrupt. activée Mode Superv./Usag. Bornes mém. E/S Minuterie Dépass. mém Etc. Des interruptions peuvent être causés: Par l’UCT ou par les périf. d’E/S

Quand il y a plusieurs UCT? (processeurs multi-cœurs) n Une d’elles peut être dédiée à la gestion des interruptions et des périphériques u Différentes configurations possibles … 10

Traitement des interruptions: Interruption et scrutation Ch.211

Ch.212 Deux façons différentes de traiter la communication entre UCT et unités E/S n Interruption: u l’UCT est interrompue entre instructions quand un événement particulier se produit (fin d’E/S, erreur...) n Polling (E/S programmée, interrogation, scrutation) : u le programme interroge périodiquement les regs statut et détermine le statut des unités E/S: F terminé ou non F pour les unités E/S lentes

Ch.213 Exemple n Vous et votre téléphone mobile … u Vous utilisez l’interruption si vous avez une sonnerie qui vous avertit quand un appel arrive u Vous utilisez la scrutation (polling) si au lieu vous regardez périodiquement le téléphone pour voir les appels

Scrutation et attente occupée (polling and busy waiting) n La scrutation s’identifie avec l’attente occupée dont nous parlerons plus tard n La scrutation ou attente occupée est considérée moins efficace que l’interruption, car la première gaspille des cycles d’UCT n Mais l’interruption est plus coûteuse à implanter dans le matériel u Si on veut épargner dans le coût des UCT, on pourrait décider de ne pas l’implanter Ch.214

Ch.215 Le cycle d’instruction de base [Stallings] L’UCT extrait l’instruction de la mémoire. Ensuite l’UCT exécute cette instruction Le compteur d’instruction (PC = Program Counter) contient l’adresse de la prochaine instruction à extraire Le PC est incrémenté automatiquement après chaque extraction

Ch.216 Le cycle d’instruction avec interruptions [Stallings] n Après chaque instruction l’UCT examine s’il y a eu une interruption n S’il n’y en a pas, il extrait la prochaine instruction du programme n S’il y en a, il suspend le pgm en cours et branche l’exécution à une position fixe de mémoire (déterminée par le type d ’interruption) u une partie de la mémoire et réservée pour ça n Ceci seulement si les interruptions sont habilitées

Ch.217 Interruptions entre UCT et périphériques Interruptions

Ch.218 Le pgm de gestion de l’interruption (interrupt handler) n Est un pgm qui détermine la nature d’une interruption et exécute les actions requises n L’exécution est transférée à ce pgm... n …et doit revenir au programme initial au point d’interruption pour que celui-ci continue normalement ses opérations n Le point d’interruption peut se situer n’importe où dans le pgm (excepté où les interruptions ne sont pas habilitées). n L’on doit donc sauvegarder l’état du programme u Registres UCT et autres infos nécessaires pour reprendre le programme après

Ch.219 Exemples d’interruptions causées par les périphériques ou par le matériel n E/S u lorsqu'une opération E/S est terminée n Dépassement de zone de mémoire (overflow) n Etc., nous verrons

Ch.220 Ex. d’interruptions causées par le programme usager n Exception u Tentative d’exécuter une instruction protégée u Référence au delà de l’espace mémoire du progr. (overflow) u Division par 0 u Débordement n Appels du Système u Demande d’entrée-sortie ou u Demande d’autre service du SE F Nous en verrons …

Ch.221 Interruptions causées par le SE n Minuterie établie par le SE n Préemption: processus doit céder l’UCT à un autre processus

Ch.222 Cas 1: Ordre séquentiel des interruptions n L’UCT examine s’il y a des autres interruptions en attente après avoir terminé d’exécuter un IH n Les interruptions sont inhibées (disabled) dans les accolades } [Stallings]

Ch.223 Cas 2: Interruptions d’interruptions n L’IH d’une interruption peut se faire interrompre par une interruption de priorité plus élevée n Exemple: les données arrivant sur une ligne de communication doivent-être absorbées rapidement pour ne pas causer de retransmissions n Les interruptions inhibées sont seulement celles de basse priorité

Cas 3: Interruptions désactivées (disabled) n Le SE peut désactiver les interruptions s’il est en train d’exécuter quelque chose de très urgent n Il peut u Ou bien complètement ignorer les interruptions intervenues dans ce temps u Ou bien les empiler et les traiter plus tard quand il peut F Il peut exister un mécanisme de matériel pour faire çeci (chaque conception d’ordi a sa propre logique d’interruption) Ch.224

Ch.225 Deux méthodes d’E/S a)Synchrone: le proc demandeur attend le résultat de l’opération d’E/S b)Asynchrone: le proc demandeur peut passer à autre chose et utiliser le résultat quand il est prêt Dans le cas b) si le proc demandeur est le SE, il peut amorcer un autre programme, ce qui rend possible la multiprogrammation

Deux problèmes importants n Dans le cas (b), quand il y a une fin d’E/S, comment trouver le processus en attente des résultats n Quand une ressource (UCT ou unité d’E/S ou autre unité) devient disponible, à quel processus devrait-elle être affectée Nous verrons que ces deux problèmes sont résolus en utilisant un mécanisme de files d’attente Chapitre 4. Ch.226

Hiérarchies de mémoire Ch.227

Avant les ordinateurs Ch.228 nSur le tableau les idées courantes nsur le bureau les documents les plus utilisés à l’instant, nles autres sur les étagères (Le bureau d’Einstein)

Ch.229 Hiérarchie de mémoire n Différentes types de mémoire n Constituent une hiérarchie u vitesse (de plus vite à moins vite) u coût (de plus cher à moins cher) u permanence ou non F Les mémoires les plus rapides sont aussi les plus chères et le moins permanentes

Ch.230 Hiérarchie de mémoire RAM p. ex. mémoire flash

Ch.231 Caractéristiques typiques des différents types de mémoire

Ch.232 Mémoire virtuelle IMPORTANT n L’UCT ne peut accéder à une instruction ou à une donnée que si elles se trouvent u En cache dans les ordinateurs où il y a de cache u Ou sinon en mémoire vive (RAM) n Donc ces données doivent être apportées en mémoire vive ou cache au besoin n Le mécanisme de mémoire virtuelle implémente cette le va- et-vient des pages entre mémoire secondaire et mémoire principale

Ch.233Ch.333 Gestion de mémoire virtuelle n La mémoire principale est souvent trop petite pour contenir tous les processus en exécution n La mémoire secondaire (disques, flash) est normalement utilisée pour contenir les parties d`un processus qui ne sont pas actives à l ’instant n La mémoire principale et la mémoire secondaire forment donc une unité logique appelée mémoire virtuelle n Pour implanter la mémoire virtuelle, le SE doit gérer de façon conjointe mémoire vive et mémoire secondaire n Mécanisme de va-et-vient (swap) Hiérarchie de mémoire!

Ch.234Ch.334 Gestion de mémoire virtuelle n La mémoire principale est souvent trop petite pour contenir tous les processus en exécution n La mémoire secondaire (disques, flash) est normalement utilisée pour contenir les parties d`un processus qui ne sont pas actives à l ’instant n La mémoire principale et la mémoire secondaire forment donc une unité logique appelée mémoire virtuelle n Pour implanter la mémoire virtuelle, le SE doit gérer de façon conjointe mémoire vive et mémoire secondaire n Mécanisme de va-et-vient (swap) Hiérarchie de mémoire!

Ch.235 Protection n Plusieurs processus et le S/E partagent la mémoire, exécutant parfois les mêmes instructions n Il faut empêcher que l’un fasse des choses réservées à l’autre n Il faut les protéger les uns des autres n Protection d’instructions n Protection de mémoire

Ch.236 Instructions protégées = privilégiées n Ne peuvent être exécutées que par le S/E, en mode superviseur n Exemples: u Les instructions d’E/S u Instructions pour traiter les registres non-visibles d’UCT F Instructions pour changer les limites de mémoire F Instructions pour changer le mode d’exécution (superviseur,usager) F Possiblement, instructions pour la minuterie n Le programme usager peut demander au SE que ces opérations soient exécutées, mais il ne peut pas les exécuter directement

Ch.237 Fonctionnement double mode n un registre d’UCT contient un bit qui dit si l ’UCT exécute couramment en mode superviseur ou en mode usager n ce bit est changé automatiquement à mode superviseur lors d’une interruption n certaines instructions ne peuvent être exécutées qu’en mode superviseur (instructions privilégiées): u des tentatives de les exécuter en mode usager causeront une interruption, et retour à mode superviseur n le mode superviseur peut être changé à mode usager par une instruction privilégiée n ces deux modes ont aussi des autres noms, v. manuel superviseurusager Interruption Retour à progr. usager

Ch.238 Autre manière de voir… Trap: interruption interne

Ch.239 Protection de mémoire: chaque processus doit rester dans ses propres bornes de mémoire n Solution typique: deux registres dans l ’UCT u quand l ’UCT exécute un processus, elle sait quelle est la borne inférieure et supérieure de la zone de mémoire de ce processus u l ’adresse de chaque instruction est comparée à ces deux adresses avant l ’exécution u si un processus cherche à dépasser ses limites: interruption UCT

Ch.240 Protection de mémoire n l’adresse de chaque instruction est comparée à ces deux adresses avant l’exécution u seulement si l’UCT exécute en mode usager n si un processus cherche à dépasser ses bornes: u Interruption  mode superviseur n les instructions pour affecter les registres bornes sont privilégiées

Ch.241 Appels du système (system calls) n Quand un processus usager a besoin d ’un service du SE, par ex. E/S, il exécute un appel du système n C’est une instruction qui cause une interruption (trap) et changement de mode (mode superviseur) n Est associée à des paramètres qui indiquent le type de service désiré n Le S/E prend la relève et exécute le service, il retourne puis au processus appelant avec des params qui indiquent le type de résultat u changement de mode (mode usager)

Ch.242 Concepts importants du Chapitre 2 n Registres d’UCT, tampons en mémoire, vecteurs d’interruption n Interruption et polling n Interruptions et leur traitement n Méthodes d’E/S avec et sans attente, DMA n Tableaux de statut de périphériques n Protection et instructions privilégiées, modes d’exécution n Registres bornes ou limites n Appels de système n Hiérarchie de mémoire

Ch.243 Dans le manuel, pour ce chapitre, vous devez n Étudier le chapitre entier, moins: n La section 2.3 n’a pas été discutée en classe, cependant son contenu devrait être en partie déjà connu u Section sera discutée au chapitre 14 n La section 2.6 n’est pas sujet d’examen: u à lire seulement

Ch.244 Informations additionnelles n Pour des explics claires sur comment différents parties d’un ordinateur fonctionnent, je vous recommande hautement u Wikipedia u Des sites qui contiennent des explicationstrès claires sur un grand nombre de sujets (malheureusement, howstuffworks a beaucoup de publicité)

Ch.245 Accès direct à la mémoire (DMA) n Sans DMA, tous les accès de mémoire passent à travers l’UCT u Donc les E/S occupent une certaine portion du temps de l’UCT, même si l’UCT pourrait en même temps exécuter un processus (vol de cycles) n Avec DMA, les unités d’E/S transfèrent les données directement avec la mémoire u L’UCT est impliquée seulement pour initier et terminer les E/S u L’UCT est complètement libre d’exécuter d’autres processus (pas de vol de cycles)

Ch.246 MEMOIRE UNITÉS E/S UCT Sans DMA Accès directe (DMA) transfert données

Ch.247 Terminologie d`interruptions n Pas normalisée n C’est une bonne idée de distinguer entre: u Trappes (traps): causées par le pgm en exécution: division par 0, accès illégal, appels du système... u Interruptions: causées par événements indépendants: minuterie, fin d` E/S u Fautes (faults): ce mot est utilisé surtout par rapport à la pagination et à la segmentation. n Malgré ces différences de terminologie, trappes, interruptions et fautes fonctionnent toutes de la même manière