Les systèmes d exploitation. Gestion de la mémoire

Documents pareils
Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Partie 7 : Gestion de la mémoire

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Architecture des ordinateurs

Systemes d'exploitation des ordinateurs

GESTION DE LA MEMOIRE

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

LA mémoire principale est le lieu où se trouvent les programmes et les

Structure fonctionnelle d un SGBD

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

Gestion de la mémoire

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

PG208, Projet n 3 : Serveur HTTP évolué

Programmation C. Apprendre à développer des programmes simples dans le langage C

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Introduction aux SGBDR

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Bases de programmation. Cours 5. Structurer les données

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Leçon 1 : Les principaux composants d un ordinateur

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Technologie de déduplication de Barracuda Backup. Livre blanc

Le jour et ses divisions

Matériel & Logiciels (Hardware & Software)

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Bases de données documentaires et distribuées Cours NFE04

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Cours Informatique 1. Monsieur SADOUNI Salheddine

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

4D v11 SQL Release 5 (11.5) ADDENDUM

QUEL HEBERGEMENT POUR MON SITE WEB?

Concept de machine virtuelle

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

MARCHE DE FOURNITURE D EQUIPEMENTS INFORMATIQUES ET RESEAU POUR LE PROJET D APPUI A LA NAVIGABILITE DES VOIES FLUVIALES ET LACUSTRES EN R.D.

GPA770 Microélectronique appliquée Exercices série A

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Génie Logiciel avec Ada. 4 février 2013

ASR1 TD7 : Un microprocesseur RISC 16 bits

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

GOL502 Industries de services

Tests de performance du matériel

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage

environnements SQL Server?

L informatique en solo

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

Licence Sciences et Technologies Examen janvier 2010

Système de Gestion de Fichiers

Cours 1 : Qu est-ce que la programmation?

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

1 Recherche en table par balayage

<Insert Picture Here> Solaris pour la base de donnés Oracle

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Présentation du module Base de données spatio-temporelles

SYSTÈME DE GESTION DE FICHIERS

Cours 1 : La compilation

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

datatale Boîtier Crypté 2.5-pouces pour disque dur Manuel d utilisation USB 2.0 AES 256 bit Rev.01

Informatique Générale

Exercices de dénombrement

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Petit guide des sous-réseaux IP

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Chapitre 4 : Les mémoires

Les structures. Chapitre 3

B = A = B = A = B = A = B = A = Recopier sur la copie chaque expression numérique et la réponse exacte. Réponse A Réponse B Réponse C Solution

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

IV- Comment fonctionne un ordinateur?

I- Définitions des signaux.

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

E-Commerce à Orthez E-Commerce : Se lancer - Générer des commandes - Se positionner : Explications et témoignages Orthez 15 mai 2008

Le nettoyage et l optimisation de son PC

Options, Futures, Parité call put

Stockage des machines virtuelles d un système ESXi jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

Architecture des ordinateurs Introduction à l informatique

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

4 Exemples de problèmes MapReduce incrémentaux

COMMENT FAIRE? Comment bien se servir de WinHIIP? Expérimenter grâce aux guides imprimés!

Fonction Memory Viewer

Limitations of the Playstation 3 for High Performance Cluster Computing

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

Sécurité et Consumérisation de l IT dans l'entreprise

Architecture des Ordinateurs. Partie II:

THEME : CLES DE CONTROLE. Division euclidienne

Optimisations des SGBDR. Étude de cas : MySQL

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Transcription:

Les systèmes d exploitation Gestion de la mémoire 1

Gestion de la mémoire - Systèmes qui déplacent les processus entre la mémoire principale et le disque dur (va et vient et pagination). - Ceux qui ne le font pas 2

Gestion de la mémoire A. La monoprogrammation sans va et vient ni pagination Un seul processus en mémoire à un instant t Conséquence : toute la mémoire disponible pour ce processus L utilisateur tape une commande, l OS charge le programme en mémoire, puis exécute. Une nouvelle commande charge un nouveau processus qui remplace le précédent. 3

Gestion de la mémoire B. La multiprogrammation et l utilisation de la mémoire Ce mode équivaut à un multi-processus en exécution. Principe : diviser la mémoire en n partitions, de tailles différentes. Les tâches file d attente Exécution Partition disponible 4

C. Le va et vient Gestion de la mémoire Mémoire partitions fixes ou variables Remarque : Partitions fixes : méthode simple à mettre en œuvre 5

C. Le va et vient Partitions variables : Gestion de la mémoire Le nombre, la position et la taille varient dynamiquement au fur et à mesure que les processus entrent et sortent de la mémoire. non limité par un nombre fixe de partition, ou qu elles soient trop grandes ou trop petites amélioration de l usage de la mémoire mais cela complique son allocation et sa libération. 6

C. Le va et vient Gestion de la mémoire Mémoire saturée processus processus Va et vient ou «Swapping» DD 7

Gestion de la mémoire D. Gestion de la mémoire par table de bits La mémoire 1 unité divisé en unité d allocation (quelques mots à plusieurs Ko). 1 bit dans la table de bits (0 pour unité libre et 1 pour unité occupée). 8

Gestion de la mémoire D. Gestion de la mémoire par table de bits A B C D 1 1 1 1 1 0 0 0 A 1 1 1 1 1 1 1 1 B 1 1 0 0 1 1 1 1 C 1 1 1 1 1 0 0 0 D La table de bits permet de mémoriser l occupation de la mémoire dans un espace mémoire de taille fixe. 9

Gestion de la mémoire E. Gestion de la mémoire par liste chaînée A B C D Un segment représente un processus ou un espace libre entre 2 processus. Chaque entrée dans la liste spécifie une zone libre (H, Hole en anglais) ou un processus (P), son adresse de départ, sa longueur et un pointeur sur l adresse suivante. P 0 5 H 5 3 P 8 8 P 16 2 H 18 2 P 20 4 P 24 5 H 29 3 10

Gestion de la mémoire E. Gestion de la mémoire par liste chaînée Algorithme d allocation mémoire : (gestionnaire de la mémoire connaît la taille de la mémoire allouée) 1- First fit : Le plus simple et le plus rapide, celui de la première zone libre. Le gestionnaire de la mémoire parcourt la liste des segments à la recherche de la première zone libre qui peut contenir le processus. Cette zone est alors scindée en deux parties : la première contient le processus et la deuxième l espace mémoire inutilisé (sauf si le processus a la même taille que la zone). 11

Gestion de la mémoire E. Gestion de la mémoire par liste chaînée Algorithme d allocation mémoire : (gestionnaire de la mémoire connaît la taille de la mémoire allouée) 2- Next fit : L algorithme de la zone libre suivante est une variante de la première. Elle mémorise en plus la position de l espace libre trouvé. Ainsi, la recherche suivante commencera à partir de cette position et non à partir du début. 12

Gestion de la mémoire E. Gestion de la mémoire par liste chaînée Algorithme d allocation mémoire : (gestionnaire de la mémoire connaît la taille de la mémoire allouée) 3- Best fit : L algorithme du meilleur ajustement. On recherche dans toute la liste la plus petite zone qui convient (afin d éviter de fractionner une grande zone utilisable ultérieurement). C est un algorithme plus lent que celui de la première zone libre. 13

Gestion de la mémoire E. Gestion de la mémoire par liste chaînée Algorithme d allocation mémoire : (gestionnaire de la mémoire connaît la taille de la mémoire allouée) Exercice : La mémoire d un système va et vient contient des zones libres (ordonnées en fonction des adresses mémoires) de 10Ko, 4Ko, 20Ko, 18Ko,7Ko,9Ko,12Ko et 15Ko. Quelle zone l algorithme de la première zone libre (first fit)sélectionne-t-il pour des demandes d allocation de segments de 12Ko, 10Ko, 9Ko? Même question pour les algorithmes du meilleur ajustement (best fit) et de la zone libre suivante (next fit) 14

Gestion de la mémoire F. La mémoire virtuelle Algorithme d allocation mémoire : (gestionnaire de la mémoire connaît la taille de la mémoire allouée) Réponse : First fit 12 dans 20 10 dans 10 9 dans 18 Best fit 12 dans 12 10 dans 10 9 dans 9 Next fit 12 dans 20 10 dans 18 9 dans 9 15

Gestion de la mémoire F. La mémoire virtuelle Programmes volumineux Le découpage des programmes diviser les programmes en segments de recouvrement Programmeurs (travail long et fastidieux). Le segment s exécute en premier, puis quand il se termine, il appelle un autre segment de recouvrement. segments Mémoire DD 16

Gestion de la mémoire F. La mémoire virtuelle Mémoire DD SWAP 17

G. La pagination Gestion de la mémoire La plupart des systèmes à mémoire virtuelle ont recours à la pagination. Programme génère des adresses (de registre de base, de segment) Ces adresses manipulées par un programme Espace d adressage virtuelle 18

G. La pagination Gestion de la mémoire PC SWAP adresse virtuelle bus mémoire et provoque écriture/lecture du mot à l adresse spécifié. 19

G. La pagination Gestion de la mémoire PC SWAP adresse virtuelle Unité de Gestion de la Mémoire (MMU : Memory Management Unit) bus mémoire et provoque écriture/lecture du mot à l adresse spécifié. l adresse physique 20

G. La pagination Exemple : Gestion de la mémoire Un PC peut générer des adresses de 16 bits de 0 à 64Ko. C est l adressage virtuelle. Mais ce PC n a que 32Ko de mémoire physique. Conséquence : il est possible d écrire un programme de 64Ko mais pas de le charger entièrement en mémoire. L image mémoire de tout le programme est stocké sur DD pour pouvoir charger, au besoin, les différentes parties dans la mémoire principale. 21

G. La pagination Gestion de la mémoire Espace adresse virtuelle (en Ko) 0-4 2 4-8 1 8-12 6 12-16 0 16-20 4 20-24 3 24-28 X 28-32 X 32-36 X 36-40 5 40-44 X 44-48 7 48-52 X 52-56 X 0-4 4-8 8-12 12-16 16-20 20-24 24-28 28-32 Case physique 56-60 X 60-64 X Page virtuelle 22

G. La pagination Gestion de la mémoire La table des pages donne la relation entre les adresses virtuelles et la mémoire physique. L espace d adressage virtuelle est divisé en petite unité appelé page. Les unités correspondantes de la mémoire physique sont les cases mémoires. Pages et cases ont toujours la même taille.. Dans l exemple ci-dessus, page et case ont une taille de 4Ko (en g al de 512 octets à 8Ko) Avec 64Ko d adresse ou mémoire virtuelle et 32Ko de mémoire physique, on a 16 pages virtuelles et 8 cases 23

G. La pagination Gestion de la mémoire Les transferts entre mémoire et DD se font toujours par page entière. Le MMU «mappe» les adresses virtuelles par des adresses physiques. Dans l exemple ci-dessus, le mappage concerne que 8 pages virtuelles sur la mémoire physique. Les autres pages (noté x) ne sont pas mappées, mais en attente de libération de case pour être exécutées. (page mappée par bit de présence). 24

Gestion de la mémoire G. La pagination 1. La table des pages L adresse virtuelle est composé du n page virtuelle. La page virtuelle sert d index dans la table des pages pour trouver l entrée de la page virtuelle. >> le n case mémoire est retrouvé à partir de l entrée. N case mémoire remplace le n page virtuelle et constitue le déplacement vers l adresse physique. 25

Gestion de la mémoire G. La pagination 1. La table des pages But de la table des pages : Établir correspondance entre pages virtuelles et case mémoire. Remarque : Table des pages peut être très grande. Mappage très rapide. Si l espace d adressage virtuelle a 1 million de pages, la table des pages doit comporter 1 million d entrées. Chaque processus a besoin de sa propre table des pages. 26

Gestion de la mémoire G. La pagination 2. Conception des pages Une seule table des pages Table indexée par n page virtuelle. table de registre machine rapide avec une entrée/page virtuelle. Exemple : Lorsque le processus est activé, l OS charge le registre avec la table des pages de ce processus (à partir de la copie en mémoire centrale) Au cours de l exécution des processus, la table des pages ne nécessite plus de référence mémoire. 27

Gestion de la mémoire G. La pagination 3. Conception des systèmes paginés Système paginé processus lancé sans que leur page ne soit en mémoire Le processeur essaie d exécuter la première instruction. Pas de page, l OS génère défaut de page Cela se produit plusieurs fois, OS charge la page contenant cette instruction. Puis le processeur dispose de la page et l exécution se continue Pagination à la demande. Page chargé à la demande et non à l avance. 28

Gestion de la mémoire G. La pagination 3. Conception des systèmes paginés Ensemble de travail ensemble de pages utilisées pendant un certain temps par le processus Si l ensemble de travail est entièrement en mémoire, le processus s exécute sans générer de défaut page. Système à temps partagé processus recopié sur DD (page retirées de la mémoire ) pour permettre à d autres processus de disposer du processeur. 29

G. La pagination 4. Taille des pages Gestion de la mémoire Choisi par concepteur de l OS. Matériel possède page de 512 octets. Plus la taille des pages est élevée, plus il y a de code inutile en mémoire. Par ailleurs, plus la taille des pages est faible, plus grande sera la table des pages. 30

Gestion de la mémoire H. Algorithmes d allocation mémoire FIFO - First In, First Out, LFU - Least Frequently Used, MIN : algorithme optimal. Random : au hasard, LRU - Least Recently Used : ordre chronologique d'utilisation, FINUFO - First In Not Used, First Out (algorithme de l'horloge ou Clock) : approximation du LRU, Performances : MIN, LRU, FINUFO, [FIFO, Random]. 31

I. La segmentation Gestion de la mémoire La pagination : La mémoire virtuelle étudiée jusqu ici est à une dimension, les adresses virtuelles sont comprises entre 0 et une adresse maximale. La segmentation : plusieurs espaces d adresses indépendants appelés segments. Chaque segment est une suite d adresses continus de 0 à une adresse maximale autorisée. Les segments ont des tailles différentes qui varient en cours d exécution, il représente des espaces d adressage séparés. 32

Gestion de la mémoire I. La segmentation Exemple d une mémoire segmentée utilisée pour les tables du compilateur : Segment 0 Segment 1 Segment 2 Segment 3 Segment 4 0 Constantes 4 Code Pile Arbre Des 8 Table D analyse appels Des syntaxique 12 symboles 12 12 16 16 20 33

I. La segmentation Gestion de la mémoire Le segment est une entité logique que le programmeur doit manipuler. Il peut contenir une procédure, un tableau, mais en général, il ne contient pas un mélange d objets de types différents. La segmentation simplifie le partage des procédures et des données entre plusieurs procédures. 34

I. La segmentation Gestion de la mémoire Une mémoire segmentée peut être protégée ( à l inverse de la mémoire paginée) Dans un segment se trouve un type d objet précis, un tableau, une procédure, une pile écriture/lecture (le tableau), en exécution (la procédure) 35

Gestion de la mémoire J. La Pagination vs La segmentation Considérations Pagination Segmentation Le programmeur doit-il connaître la technique utilisée? Non Oui Combien y a-t-il d espaces d adressage linéaire? L espace d adressage total peut-il dépasser la taille de la mémoire physique? Les procédures et les données peuvent-elles être distinguées et protégées séparément? Peut-on traiter simplement les tables dont la taille varient? 1 Plusieurs Oui Oui Non Oui Non Oui Le partage de procédure entre utilisateurs est-il simplifié? Pourquoi cette technique a-t-elle été inventée? Non Pour obtenir un grand espace d adressage linéaire sans avoir à acheter de la mémoire physique Oui Pour permettre la séparation des programmes et des données dans des espaces d adressages logiquement indépendants et pour faciliter le partage et la protection. 36

Les systèmes d exploitation Gestion de la mémoire Algorithmes de remplacement de page 37

38

39

40

41

42

43

44

45

Exercice : (gestion de la mémoire cache) 46