Architecture et technologie des ordinateurs II

Slides:



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

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)
Module 5 : Implémentation de l'impression
Chap. 4 Recherche en Table
Introduction à l’Algorithmique
Module 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 d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Mémoire Virtuelle Bases Pagination à la Demande Création de Processus
Gestion de la mémoire Chapitre 3.
Chapitre 4 Gestion de la Mémoire
Mémoire & Processus Cours SE - SRC
8. Les tableaux P. Costamagna – ISEN N1.
Architecture de machines La mémoire
CSI3525: Concepts des Langages de Programmation Notes # 11: Sous-Programmes ( Lire Chapitre 8 )
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Mémoire cache ou antémémoire
Structures de données linéaires
Gestion de la Mémoire Bases Swapping Allocation Contigue Pagination
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Les mémoires :. Mémoriser Enregistrer Conserver Restituer.
Architecture des Ordinateurs
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
Allocation de mémoire Allocation de mémoire.
Analyse d’algorithmes
Hiérarchie de la mémoire
GPA435 Systèmes d’exploitation et programmation de système
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Gestion de Fichiers Hachage Extensible.
Périphériques et bus système
Rappels sur les systèmes d’exploitation
Gestion de Fichiers GF-5: Storage Secondaire: Bandes Magnetiques (Base sur Chapitres 3 de Folk, Zoellick & Riccardi, File Structures, An Object-Oriented.
INSTRUCTIONS COMPLEMENTAIRES ROLE DES DIFFERENTS ELEMENTS
Systèmes d’exploitation
Cours de Systèmes d’exploitations
SYSTÈME D’EXPLOITATION I
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
9 décembre 2014J.Callot L.Piedfort1 Chapitre_4 K60 Caches MMU.
Cours LCS N°4 Présenté par Mr: LALLALI
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
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
Module 7 Gestion de la mémoire
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Chapitre 3 L’accès aux données.
Ordinateurs, Structure et Applications
Chapitre 9 Les caractères.
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Organisation de la mémoire pour le langage minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Memoire.
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
ARP Fonctionnement.
ARCHITECTURE DE L’ORDINATEUR Victor Alibert, ‘ZIo’ (avec l’aide des diapos de « night »)
Chapitre 12 Surveillance des ressources et des performances Module S41.
Module 81 Module 8 – La mémoire virtuelle Chapitre 9 (Silberchatz)
CSI 3531 Systèmes d’exploitation Nathalie Japkowicz 1.
Transcription de la présentation:

Architecture et technologie des ordinateurs II Pagination Le principe de la pagination est simple (sa mise en œuvre, par contre, est assez complexe): l'espace d'adressage de chaque programme est partagé en blocs de taille fixe (des tailles de 4-16KB sont courantes), les pages, et seulement les pages en train d'être utilisées sont chargées en mémoire. Le restant de l'espace d'adressage est stocké sur le disque dur. Les adresses physiques des pages en mémoire sont stockées dans une page table. Espace d'adressage OS Page Table DD 31 0 RAM G. Tempesti 1

Pagination - Adressage Architecture et technologie des ordinateurs II Pagination - Adressage Une adresse virtuelle est donc composée de deux parties: un numéro de page et un déplacement dans la page. Cette transformation, réalisée par le MMU, permet d'une part de travailler avec des espaces d'adressage plus grands que la mémoire physique, et d'autre part de référencer des données sur une même page avec peu de bits (ce qui permet l'utilisation de certains modes d'adressage). 31 12 11 0 Numéro de page Déplacement Exemple: Largeur des adresses = 32bits Taille des pages = 4KB Taille de la mémoire = 64MB MMU Base Déplacement 25 12 11 0 G. Tempesti 2

Pagination - Page faults Architecture et technologie des ordinateurs II Pagination - Page faults Une adresse virtuelle peut donc référencer soit une page en mémoire (page hit) soit une page sur le disque dur (page miss). Si la page cherchée se trouve sur le disque dur, le MMU engendre une interruption (page fault) et une procédure se charge de transférer les données en mémoire (une opération qui demande plusieurs millions de cycles d'horloge). La taille des pages est un paramètre fondamentale dans la minimisation des page faults: une taille trop petite augmente le nombre de page miss, et une taille trop grande augmente la pénalité associé au transfert des données. Dans les systèmes actuels, la taille des pages varie entre 4 et 16KB. G. Tempesti 3

Pagination - Remplacement Architecture et technologie des ordinateurs II Pagination - Remplacement Lors qu'une nouvelle page est transférée du disque dur à la mémoire, il est parfois nécessaire d'en transférer une autre de la mémoire au disque dur (swap). Étant donné le "prix" très élevé d'un page fault, l'algorithme utilisé pour décider quelle page va être "swappée" est fondamental pour la performance d'un système. L'algorithme de choix pour cette opération est le LRU (least recently used). Si la mémoire est trop petite par rapport aux besoins d'un programme, ou si l'algorithme de swap n'est pas efficace ou si les données sont "mal" stockées, le phénomène appelé thrashing peut se produire: la machine passe tout son temps à transférer des pages et n'arrive pas à calculer. G. Tempesti 4

Pagination - Implémentation Architecture et technologie des ordinateurs II Pagination - Implémentation Le MMU doit trouver l'adresse de la page physique correspondant à une page virtuelle. Pour effectuer cette opération, il consulte un tableau de pages (page table), stocké en mémoire et géré par l'OS. Page table address register 31 12 11 0 Numéro de page Déplacement Exemple: Largeur des adresses = 32bits Taille des pages = 4KB Taille de la mémoire = 64MB PAGE TABLE VALID BIT Base Déplacement 25 12 11 0 G. Tempesti 5

Architecture et technologie des ordinateurs II Pagination - TLB Pendant l'exécution d'un programme, la même page est souvent référencée plusieurs fois de suite. Pour accélérer la recherche de l'adresse physique, on utilise un "raccourci" matériel: le TLB ou translation lookaside buffer (une petite table dans le processeur). Page table address register Numéro de page Déplacement TLB PAGE TABLE VALID BIT Base Déplacement G. Tempesti 6

Architecture et technologie des ordinateurs II Segmentation La segmentation est une approche assez semblable à la pagination. La différence principale est que les segments sont des blocs de mémoire de taille variable (par exemple, une procédure dans un programme). L'adresse physique correspondant au début de chaque segment est stockée dans un tableau des segments (segment table). Espace d'adressage OS Segment Table DD 31 0 RAM G. Tempesti 7

Segmentation - Implémentation Architecture et technologie des ordinateurs II Segmentation - Implémentation Les avantages sont que les segments correspondent à des éléments précis (procédure, bloc de données). Ceci permet une manipulation des données plus aisée (la taille des segments peut varier dynamiquement) ainsi qu'une meilleure protection des données des programmes. Le désavantage est que la taille variable des segments complique le travail du MMU. Segment table address register 31 ?? ?? 0 Numéro de segment Déplacement Exemple: Largeur des adresses = 32bits Taille des segments = ? Taille de la mémoire = 64MB SEGMENT TABLE VALID BIT Base Déplacement 25 ?? ?? 0 G. Tempesti 8

Architecture et technologie des ordinateurs II Segmentation paginée La segmentation est une approche intéressante, mais son contrôle se révèle assez compliqué. La segmentation paginée est une tentative de combiner les deux approches. L'idée est de partager chaque segment en pages. Chaque adresse a trois composants: un numéro de segment, un numéro de page, et un déplacement par rapport à cette dernière. Chaque segment a son propre tableau de pages. Espace d'adressage OS Page Table Page Table Page Table Segment Table DD 31 0 RAM G. Tempesti 9

Segmentation paginée - Implémentation Architecture et technologie des ordinateurs II Segmentation paginée - Implémentation Le contrôle de ce genre de système reste plus compliqué que dans le cas de la pagination, mais les avantages sont généralement considérés comme suffisamment grands pour justifier l'effort additionnel. Segment table address register Numéro de segment Numéro de page Déplacement SEGMENT TABLE PAGE TABLE VALID BIT Base Déplacement G. Tempesti 10