Gestion de la mémoire

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quelle est la principale fonction de la mémoire principale (RAM)?

  • Exécuter des calculs complexes.
  • Gérer les périphériques d'entrée/sortie.
  • Stocker temporairement les données et les programmes en cours d'utilisation. (correct)
  • Stocker les données de manière permanente.

La mémoire principale (RAM) conserve son contenu même lorsque l'alimentation électrique est coupée.

False (B)

Quel terme désigne le système de gestion qui gère la hiérarchie de stockage de la mémoire?

Gestionnaire de mémoire

En mode ______, la mémoire centrale doit être utilisée et/ou partagée entre les différents processus.

<p>multiprogrammation</p> Signup and view all the answers

Quelle est la fonction principale de la MMU (Memory Management Unit) dans l'adressage de la mémoire?

<p>Convertir les adresses virtuelles en adresses physiques. (C)</p> Signup and view all the answers

Dans un système monoprogrammation, la mémoire est divisée en plus de deux partitions, une pour le système et une pour les processus utilisateur.

<p>False (B)</p> Signup and view all the answers

Comment appelle-t-on un bloc de mémoire disponible dans un système de gestion de mémoire?

<p>Trou</p> Signup and view all the answers

Le processus de transfert temporaire d'un processus de la mémoire principale à une mémoire auxiliaire est appelé ______.

<p>swapping</p> Signup and view all the answers

Associez les algorithmes de placement de mémoire avec leur description :

<p>Best-fit = Choisir la partition la plus proche en taille de la demande. First-fit = Scruter la mémoire à partir du début et choisir la première partition libre pouvant contenir le processus. Next-fit = Débute la recherche d'espace libre là où la recherche précédente s'était arrêtée.</p> Signup and view all the answers

Quelle est la conséquence principale des partitions fixes dans la gestion de la mémoire?

<p>Fragmentation interne. (D)</p> Signup and view all the answers

La fragmentation externe est un problème qui se produit lorsque la mémoire allouée à un processus est plus grande que nécessaire.

<p>False (B)</p> Signup and view all the answers

Dans le contexte de la gestion de la mémoire, qu'est-ce que le 'compactage'?

<p>Réorganisation de la mémoire pour regrouper tous les trous en un seul bloc.</p> Signup and view all the answers

La mémoire ______ permet d'exécuter des programmes plus grands que la mémoire physique disponible.

<p>virtuelle</p> Signup and view all the answers

Pourquoi le SE a-t-il besoin de conserver dans la mémoire uniquement les parties de programmes nécessaires pour l'exécution des programmes en mémoire virtuelle?

<p>Pour permettre d'exécuter des programmes plus grands que la mémoire physique. (A)</p> Signup and view all the answers

En mémoire virtuelle, la mémoire logique et la mémoire physique sont identiques.

<p>False (B)</p> Signup and view all the answers

Comment appelle-t-on la division de la mémoire en morceaux de petite taille fixe en pagination?

<p>Cadres de page</p> Signup and view all the answers

Un ______ survient lorsque la page d'un programme qui est requise n'est pas en mémoire.

<p>défaut de page</p> Signup and view all the answers

Quelle est la principale raison d'utiliser des algorithmes de remplacement de pages?

<p>Réduire le nombre de défauts de page. (C)</p> Signup and view all the answers

La politique de chargement 'par anticipation' charge uniquement les pages concernées par un défaut de page.

<p>False (B)</p> Signup and view all the answers

Lors de la traduction d'adresses en pagination, quel est le rôle du 'numéro de page'?

<p>Index dans la table des pages.</p> Signup and view all the answers

Dans la pagination la taille de la mémoire virtuelle peut être ______ que la mémoire physique.

<p>supérieure</p> Signup and view all the answers

Quelle est la principale différence entre l'algorithme de remplacement de pages FIFO et LRU?

<p>FIFO remplace la page la plus ancienne et LRU remplace la page la moins récemment utilisée. (A)</p> Signup and view all the answers

L'algorithme de remplacement de pages 'Optimal' est facilement applicable en temps réel.

<p>False (B)</p> Signup and view all the answers

Quel problème survient lorsque la haute activité de pagination ralentit un processus au point où il passe plus de temps à paginer qu'à exécuter?

<p>Écroulement (thrashing)</p> Signup and view all the answers

La ______ est une fenêtre d'un intervalle de la suite des accès aux pages.

<p>Working Set</p> Signup and view all the answers

Quel est l'objectif principal de l'algorithme de remplacement de page CLOCK ?

<p>Emuler le comportement précis d'un algorithme LRU avec une surcharge réduite. (D)</p> Signup and view all the answers

Dans segmentation, l'espace d'adressage logique des processus n'est pas partitionné en segments de tailles variées.

<p>False (B)</p> Signup and view all the answers

Dans la segmentation, quelles deux composantes forment une adresse logique?

<p>Numéro de segment et déplacement.</p> Signup and view all the answers

Dans la segmentation, la ______ est une erreur qui survient lorsqu'une adresse cherche à accéder à une position mémoire au-delà des limites du segment.

<p>déroutement</p> Signup and view all the answers

Quel est l'avantage principal d'utiliser la segmentation en matière de gestion de la mémoire ?

<p>Permettre une division logique des programmes et des données en unités indépendantes. (D)</p> Signup and view all the answers

La segmentation paginée combine les avantages de la segmentation et de la pagination pour une gestion plus efficace de la mémoire.

<p>True (A)</p> Signup and view all the answers

Dans la segmentation paginée, quel est le terme utilisé pour la structure de données qui associe une adresse de segment à une adresse dans le tableau des pages?

<p>Table de segments.</p> Signup and view all the answers

Dans la segmentation paginée, une adresse logique (S, D) avec S numéro de segment et D déplacement dans le segment, est transformée en ______.

<p>(S, p, d)</p> Signup and view all the answers

Associez les termes avec leur définition concernant la segmentation paginée:

<p>S = Numéro de segment. D = Déplacement dans le segment. p = Numéro de page. d = Déplacement dans la page.</p> Signup and view all the answers

Laquelle des affirmations suivantes est vraie concernant la hiérarchie des mémoires ?

<p>La RAM (mémoire physique) est plus coûteuse par octet que le stockage sur disque dur. (D)</p> Signup and view all the answers

Lors de l'utilisation de la mémoire virtuelle, si une adresse logique demandée par un programme n'est pas disponible dans la RAM, le système renverra toujours une erreur, rendant l'exécution du programme impossible.

<p>False (B)</p> Signup and view all the answers

Quel est le niveau de cache CPU le plus rapide, le plus cher et de plus petite capacité?

<p>Niveau 1 (L1)</p> Signup and view all the answers

Le système de nommage (Naming System) permet d'établir la traduction des adresses ______ lors de la phase de compilation.

<p>logiques</p> Signup and view all the answers

Quel est le rôle des adresses physiques dans la gestion de la mémoire?

<p>Elles correspondent directement à l'emplacement physique des données en mémoire. (B)</p> Signup and view all the answers

Le compactage de la mémoire est une technique utilisée pour réduire la fragmentation interne.

<p>False (B)</p> Signup and view all the answers

Comment appelle-t-on la politique de remplacement de pages qui sélectionne la page qui sera utilisée le plus tardivement ?

<p>Optimal</p> Signup and view all the answers

Selon la hiérarchie des mémoires, la mémoire ______ se situe en dessous de la mémoire virtuelle et se base sur des fichiers.

<p>auxiliaire</p> Signup and view all the answers

Flashcards

Importance de la mémoire principale

La mémoire principale, souvent appelée RAM, est essentielle pour stocker les données et les programmes en cours d'exécution.

Structure de la RAM

La mémoire principale (RAM) est un tableau de mots (octets) avec une adresse unique pour chaque emplacement.

Volatilité de la RAM

La RAM est volatile, ce qui signifie qu'elle perd son contenu lorsque l'alimentation est coupée.

Gestionnaire (Memory Manager)

Le système d'exploitation (SE) gère la hiérarchie de stockage, suit les parties de la mémoire utilisées ou non, alloue/libère l'espace mémoire aux processus et contrôle le swapping entre la mémoire principale et le disque.

Signup and view all the flashcards

Gestion en monoprogrammation

En monoprogrammation, la mémoire est divisée en deux partitions: une pour le système et l'autre pour le processus utilisateur.

Signup and view all the flashcards

MMU (Memory Management Unit)

Dispositif matériel qui convertit les adresses virtuelles en adresses physiques.

Signup and view all the flashcards

Adresse physique

Adresse "réelle" vue par l'unité de mémoire.

Signup and view all the flashcards

Adresse logique

Adresse virtuelle générée par le CPU.

Signup and view all the flashcards

Trou (hole)

La mémoire disponible est divisée en blocs pour les processus.

Signup and view all the flashcards

Partitions fixes

Chaque espace inutilisé est perdu.

Signup and view all the flashcards

Fragmentation interne

La mémoire allouée peut être légèrement plus grande que nécessaire, entraînant une partie non utilisée.

Signup and view all the flashcards

Mémoire swap

Conserver les processus supplémentaires sur le disque.

Signup and view all the flashcards

Swap

Transfert temporaire d'un processus de la mémoire principale à la mémoire auxiliaire.

Signup and view all the flashcards

Partition variable

Allouer exactement la quantité de mémoire requise.

Signup and view all the flashcards

Best-fit

Le plus petit bloc de mémoire disponible est utilisé pour un processus.

Signup and view all the flashcards

First-fit

La première partition libre pouvant contenir le processus est sélectionnée.

Signup and view all the flashcards

Next-fit

Continue la recherche à partir du dernier emplacement où un espace libre a été trouvé.

Signup and view all the flashcards

Mémoire virtuelle

Le SE conserve uniquement les parties nécessaires du programme en mémoire.

Signup and view all the flashcards

Pagination

La mémoire est divisée en morceaux de taille fixe appelés cadres de page. Les processus sont divisés en morceaux de même taille (pages).

Signup and view all the flashcards

Adresses symboliques

Les noms des objets (données et instructions) dans le code source.

Signup and view all the flashcards

Adresses logiques (virtuelles)

Correspondent à la traduction des adresses symboliques lors de la compilation.

Signup and view all the flashcards

Adresses physiques

Représentent l'emplacement physique des adresses logiques lors de l'exécution.

Signup and view all the flashcards

Table des pages

Zone mémoire du contrôleur de mémoire qui contient les données stockées.

Signup and view all the flashcards

Numéro de page (p)

Le numéro de page (p) est utilisé comme un index dans cette table.

Signup and view all the flashcards

Calcul du numéro de page

Le m - n premiers bits d'une adresse logique correspondent au numéro de page p.

Signup and view all the flashcards

Déplacement dans la page

Les n bits restants au déplacement d dans la page.

Signup and view all the flashcards

Défaut de page

Survient lorsque la page requise n'esta pas en mémoire ce qui indique une recherche sur le disque pour trouver la page correspondante.

Signup and view all the flashcards

Objectif des algorithmes de remplacement

Minimiser le taux de défauts de pages.

Signup and view all the flashcards

Politique de chargement

Choisir quand charger une page en mémoire.

Signup and view all the flashcards

Politique de placement

Déterminer où le programme doit résider en mémoire.

Signup and view all the flashcards

Politique de remplacement

Déterminer quelle page remplacer.

Signup and view all the flashcards

Algorithme de remplacement Optimal (OPT)

Sélectionne la page qui sera la plus tardivement référencée.

Signup and view all the flashcards

Algorithme FIFO

Considère les cadres de pages alloués à un processus comme un tampon circulaire.

Signup and view all the flashcards

Algorithme LRU

Remplace la page en mémoire la plus anciennement référencée/utilisée.

Signup and view all the flashcards

Algorithme Clock

Considère les cadres de pages comme un tampon circulaire.

Signup and view all the flashcards

Ecroulement (thrashing)

Un processus passe plus de temps à paginer qu'à exécuter.

Signup and view all the flashcards

Localisation

L'ensemble des pages utilisées activement ensemble.

Signup and view all the flashcards

Ensemble de travail (Working Set)

Un intervalle de la suite des accès aux pages.

Signup and view all the flashcards

Segmentation

Un processus est composé d'un ensemble d'unités logiques.

Signup and view all the flashcards

Segmentation paginée

Les programmes sont divisés en segments et chaque segment en pages.

Signup and view all the flashcards

Study Notes

Importance de la mémoire principale (RAM)

  • La mémoire principale, ou RAM, est essentielle pour le stockage des données et des programmes.
  • Elle doit impérativement être gérée avec prudence.
  • Même si la capacité de la mémoire augmente avec le temps, la taille des programmes s'accroît aussi.
  • Pour qu'un programme s'exécute, ses instructions et ses données doivent se trouver en mémoire centrale.
  • En mode multiprogrammation, la mémoire centrale doit être utilisée et partagée entre les différents processus.
  • La RAM est un "tableau de mots" (octets) avec sa propre adresse.
  • C'est une mémoire volatile, ce qui signifie que son contenu est perdu lorsqu'elle n'est plus alimentée électriquement.
  • Le CPU extrait les instructions en fonction de la valeur d'un compteur d'instructions.
  • Le système de gestion de la mémoire gère la hiérarchie de stockage.
  • Le système suit les parties de la mémoire utilisées ou inutilisées, alloue et libère l'espace mémoire aux processus, et contrôle les échanges entre la mémoire principale et le disque.

Gestion de la mémoire par un système monoprogrammation

  • La méthode la plus simple consiste à exécuter un seul programme à la fois.
  • La mémoire est divisée en deux : une partition pour le système (en mémoire basse) et une autre pour les processus utilisateur (en mémoire haute).
  • Le programme accède directement aux cases mémoires en utilisant les adresses physiques.
  • Il était initialement utilisé par MS-DOS.

Adressage de la mémoire principale

  • L'unité de gestion de la mémoire (MMU) convertit les adresses virtuelles en adresses physiques.
  • L'adresse physique est l'adresse réelle vue par l'unité de mémoire.
  • L'adresse logique (adresse virtuelle) est l'adresse générée par le CPU.
  • Le programme utilisateur traite les adresses logiques.

Gestion avec partition fixe pour un système multiprogrammation

  • La plupart des systèmes modernes permettent l'exécution de processus multiples.
  • Quand un processus est bloqué en attente d'une E/S, un autre processus utilise le processeur.
  • La mémoire est divisée en n partitions de taille fixe où chaque partition contient exactement un processus.
  • Le système maintient une table des parties de la mémoire disponibles et celles qui sont occupées.
  • Un trou (hole) représente un bloc de mémoire disponible.
  • L'usage de partitions fixes entraîne une perte d'espace inutilisé.
  • Une fragmentation interne est possible, car la mémoire allouée peut être légèrement plus grande que nécessaire.

Swapping avec partition fixe pour un système multiprogrammation

  • La mémoire principale peut être insuffisante pour maintenir tous les processus courants actifs.
  • Le swap consiste alors à conserver les processus supplémentaires sur le disque.
  • Le swap transfère temporairement un processus de la mémoire principale à une mémoire auxiliaire.
  • Le processus est ensuite ramené en mémoire pour continuer son exécution.
  • Le processus à transférer doit être inactif.
  • La mémoire auxiliaire est un disque rapide assez grand pour ranger les copies des images mémoire de tous les utilisateurs.

Gestion avec partition variable pour un système multiprogrammation

  • La quantité de mémoire allouée au processus est la quantité requise exactement.
  • Le placement des petits processus dans les petites partitions réduit la fragmentation interne.
  • La libération et l'allocation de mémoire sont plus compliquées.
  • Un compactage est nécessaire, ce qui peut engendrer une consommation de temps et des pertes de temps CPU.
  • Une fragmentation externe est possible, ce qui signifie qu'il existe un espace mémoire total suffisant pour satisfaire une requête, mais l'espace n'est pas contigu.

Algorithmes de placement

  • Best-fit : choisir la partition la plus proche en taille de la demande, produisant la plus petite fragmentation, mais nécessitant souvent un compactage.
  • First-fit : scruter la mémoire à partir du début et choisir la première partition libre pouvant contenir le processus, ce qui est rapide.
  • Next-fit : similaire à First-fit mais commence à chercher l'espace libre à partir de l'endroit où la recherche s'était arrêtée précédemment.

Gestion de la mémoire : mémoire virtuelle et pagination

  • Les programmes peuvent être plus grands que la mémoire physique.
  • Le système d'exploitation conserve uniquement les parties nécessaires des programmes en mémoire et le reste sur le disque (swap).
  • Il en résulte une séparation entre la mémoire logique du programme utilisateur et la mémoire physique.
  • Une solution est la pagination à la demande.

Pagination

  • La mémoire est divisée en morceaux de petite taille fixe appelés cadres de page (frames).
  • Les processus sont découpés en morceaux de même taille, appelés pages.
  • Le processus est chargé en mémoire.
  • Toutes les pages du processus sont chargées dans des cadres de pages disponibles, mais pas nécessairement contigus.
  • Une table des pages du processus est établie.
  • Il peut y avoir un espace perdu en mémoire correspondant à la partie de la dernière page du processus (fragmentation interne).

Représentation des adresses

  • Les adresses symboliques représentent les noms des objets dans le code source.
  • Les adresses logiques (virtuelles) sont la traduction des adresses symboliques après la compilation.
  • Les adresses physiques représentent l'emplacement physique des adresses logiques lors de l'exécution du programme.
  • La traduction des adresses logiques en adresses physiques est effectuée par l'unité de traduction d'adresses (MMU).

Pagination et translation d'adresses

  • L'association d'une page logique avec une page physique est décrite dans une table appelée table de pages.
  • La translation des adresses logiques en physique est à la charge de la MMU.
  • Chaque adresse logique générée par l'UC est divisée en un numéro de page(p) et un déplacement dans la page(d).
  • Pour un espace d'adressage logique de 2^m octets et des pages de 2^n octets, les m-n premiers bits correspondent au numéro de page et le n bits restants correspondent au déplacement dans la page.

Pagination - Algorithmes de remplacement des pages

  • Les programmes sont chargés partiellement en mémoire à la demande.
  • Un défaut de page survient quand une page requise pour l'exécution n'est pas en mémoire.
  • Recherche de page sur le disque dur, copie en mémoire, mise à jour de la table des pages, ou remplacement d'une page en déterminant quelle page sera remplacée.

Algorithmes de remplacement

  • L'objectif est de minimiser le taux de défauts de pages.
  • Un défaut de page entraîne une surcharge (choix de la page à remplacer, E/S des pages, commutation du processus).
  • La probabilité de référencer une page absente pendant l'exécution d'un processus doit être minimisée.
  • Les politiques implémentées incluent les politiques de chargement, de placement et de remplacement.

Politiques de chargement et de placement

  • La politique de chargement détermine quand une page doit être chargée en mémoire principale.
  • Chargement à la demande : une page est chargée seulement si une référence à un emplacement de celle-ci est faite.
  • Chargement anticipatif : des pages autres que celles concernées par un défaut de page peuvent être chargées.
  • La politique de placement détermine où, en mémoire principale, un processus doit résider.

Politique de remplacement

  • Elle détermine quelle page en mémoire doit être sélectionnée pour être remplacée lorsqu'une nouvelle page doit être chargée.
  • Elle décide du nombre de cadres de pages à allouer à chaque processus actif (allocation fixe ou variable).
  • Elle définit l'ensemble des pages concernées par le remplacement (limité aux pages du processus ayant provoqué un défaut de page ou à l'ensemble des cadres de pages, soit remplacement local ou global).
  • Elle détermine quelle page sera sélectionnée pour le remplacement parmi l'ensemble des pages concernées.

Algorithmes de remplacement spécifiques

  • Optimal (OPT) : Sélectionne la page qui sera référencée le plus tardivement, minimisant les défauts de pages.
  • First-In-First-Out (FIFO) : Considère les cadres de pages alloués comme un tampon circulaire simple, mais pas très efficace.
  • Least Recently Used (LRU) : Remplace la page en mémoire la plus anciennement référencée/utilisée.
  • Clock : Quand un défaut de page survient, la page pointée est testée. Si le bit R de la page vaut 0, la page est retirée. Si bit R=1, le bit R est mis à 0 et le pointeur est avancé.

Problème : écroulement (tashing)

  • L'écroulement (tashing) est caractérisé par une activité de pagination élevée où un processus passe plus de temps à paginer qu'à exécuter.
  • Il est lié à une diminution de l'utilisation du CPU.
  • Pour le prévenir, il faut fournir à un processus autant de cadres qu'il en a besoin.
  • La stratégie de l'ensemble de travail (Working Set) commence par la définition du modèle de localisation de l'exécution d'un processus.
  • Un programme est constitué de localisations qui peuvent se chevaucher.

Ensemble de travail (Working Set)

  • L'ensemble du travail est une fenêtre sur les accès aux pages.
  • Le nombre de pages contenues dans la fenêtre varie.
  • La fenêtre est mise à jour périodiquement.
  • L'ensemble de travail est la totalité des pages référencées durant l'exécution du programme.
  • Si la demande en mémoire dépasse la mémoire totale, le système d'exploitation arrête un processus.
  • Les algorithmes de remplacement de page tiennent compte du working set pour limiter les défauts de page.

Segmentation

  • Un processus est composé d'un ensemble d'unités logiques (codes, données, pile d'exécution).
  • La pagination peut couper des portions de code ou de données, entraînant des chargements inutiles de données.
  • La segmentation est une stratégie de gestion mémoire qui reproduit le découpage mémoire tel qu'il est logiquement décrit.
  • Chaque segment possède un nom (numéro) et une longueur et est représenté par une adresse logique <numéro de segment, déplacement>.

Segmentation et translation d'adresses

  • Une adresse logique est un couple (S, d) où S est numéro de segment et d le déplacement dans le segment.
  • Une table segments décrit l'association d'une adresse logique à une physique.
  • Chaque entrée dans la table possède un segment de base (adresse physique de début du segment) et une limite (sa longueur).

Fragmentation et segmentation

  • Possibilité de fragmentation externe, nécessitant un compactage.

Segmentation vs. pagination

  • Segmentation : le programmeur en est conscient, il existe plusieurs espaces d’adresses linéaires, l’espace d’adressage peut dépasser la mémoire physique, permet de distinguer les différents espaces, permet le partage des procédures entre les utilisateurs.
  • La pagination permet d’avoir un grand espace d’adressage linéaire sans avoir à acheter beaucoup de mémoire.

Segmentation paginée

  • Si la taille d'un segment est importante, le temps de chargement peut être long.
  • Les programmes sont divisés en segments puis en pages.
  • Chaque processus a une table de segments et une table de pages.
  • Chaque adresse de segment n'est pas une adresse mémoire, mais une adresse au tableau de pages du segment.
  • Une adresse logique (S, D) est transformée en un triplet (S, p, d).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser