Td6 gestion de la mémoire - systèmes d’exploitation - téléch

Projet DVD-MIAGE 2010 : Gestion de la mémoire

Objectif

Comprendre les mécanismes de la mémoire virtuelle et ses techniques de gestion.

Exercice 1 : Notions de cours

  1. Expliquer brièvement le principe du swapping, de la pagination et de la segmentation.
  2. Citer les deux types de fragmentation couramment rencontrés et préciser les systèmes d'exploitation concernés.

Exercice 2 : Segmentation

On considère la table des segments suivante pour un processus P1 :

SegmentBaseLimite
0540234
11254128
2254328
3481024200
42001024

Rappel : Les adresses sont données sous la forme (n°segment:déplacement).

  1. Calculer les adresses réelles correspondant aux adresses virtuelles suivantes (indiquer les erreurs d'adressage) :
    • (0:128)
    • (1:100)
    • (2:465)
    • (3:888)
    • (4:100)
    • (4:344)
  2. L'adresse virtuelle (4,200) est-elle valide ?

Exercice 3 : Pagination

Dans un système paginé, les pages font 256 mots mémoire et chaque processus utilise au plus 4 cadres de mémoire centrale. Voici la table des pages du processus P1 :

PageCadrePrésence
01oui
12non
23oui
34non
45oui
56non
67oui
78non
  1. Quelle est la taille de l'espace d'adressage du processus P1 ?
  2. De combien de mémoire vive dispose ce système ?
  3. Calculer les adresses réelles correspondant aux adresses virtuelles suivantes (indiquer les erreurs d'adressage) :
    • 240
    • 546
    • 1578
    • 2072
  4. Que se passe-t-il si P1 génère l'adresse virtuelle 770 ?
  5. Pour l'adresse virtuelle 0000 0000 0000 0111, les 4 bits de poids fort désignent le numéro de page et les 12 bits suivants représentent le déplacement dans la page. Donner l'adresse physique (en binaire) correspondant à cette adresse.

Exercice 4 : Segmentation paginée

Un système utilise une mémoire virtuelle segmentée et paginée avec des pages de 4 Ko et une mémoire physique de 64 Ko. L'espace d'adressage d'un processus P est composé de trois segments S1, S2 et S3 de tailles respectives 16 Ko, 8 Ko et 4 Ko. À un instant donné, pour le processus P, les pages suivantes sont chargées en mémoire physique :

  • Pages 2 et 3 du segment S1 dans les cases 2 et 0
  • Page 2 du segment S2 dans la case 9
  • Page 1 du segment S3 dans la case 12
  1. Identifier le segment contenant l'adresse décimale 8212.
  2. Donner le numéro de page dans ce segment.
  3. Calculer le déplacement dans la page.
  4. Indiquer le numéro de case.
  5. Calculer le déplacement dans la case.
  6. Donner l'adresse physique (en décimal et en binaire).

Exercice 5 : Algorithmes de remplacement de pages

Un programme possède un espace virtuel de 600 mots. Voici la suite des adresses virtuelles à analyser : 34, 123, 145, 510, 456, 345, 412, 10, 14, 12, 234, 336, 412. Chaque page contient 100 mots.

  1. Donner la suite des numéros de pages référencés.
  2. Calculer le taux de défauts de page pour les algorithmes suivants (mémoire initialement vide) :
    • a) OPT (Optimal)
    • b) FIFO (First-In-First-Out)
    • c) LRU (Least Recently Used)
    • d) FINUFO (FIFO Not Used Recently)

Exercice 6 : Temps d'accès

Un système utilisant la pagination à la demande dispose de 4 cadres de mémoire physique occupés par des pages de mémoire virtuelle. Voici les informations concernant chaque cadre :

CadreTchargementTdernier accèsR (Référencé)M (Modifié)P (Présence)
01262001
130255101
2110260111
3180275111
  1. Indiquer quelle page sera remplacée en cas de défaut de page avec les algorithmes suivants :
    • a) LRU (Least Recently Used)
    • b) FIFO (First-In-First-Out)
    • c) FINUFO (FIFO Not Used Recently)
    • d) NRU (Not Recently Used)
  2. Calculer le temps d'accès moyen à la mémoire, sachant que :
    • Le temps d'accès à une page chargée en mémoire physique est de 100 ns.
    • Le temps d'accès à une page non chargée est de 10 ms si une case libre existe ou si la page à retirer n'a pas été modifiée.
    • Le temps d'accès est de 20 ms si la page à retirer a été modifiée.
    • Le taux de défauts de page est de 35%.
    • Dans 70% des cas de défaut de page, la page à retirer a été modifiée.

Foire aux questions (FAQ)

1. Qu'est-ce que la mémoire virtuelle et pourquoi est-elle utilisée ?

La mémoire virtuelle est une technique permettant d'exécuter des programmes plus grands que la mémoire physique disponible. Elle utilise des mécanismes comme le swapping, la pagination et la segmentation pour optimiser l'utilisation de la mémoire et améliorer les performances du système.

2. Quels sont les avantages et inconvénients de la pagination par rapport à la segmentation ?

La pagination offre une gestion plus uniforme et moins de fragmentation externe, mais peut entraîner une fragmentation interne. La segmentation permet une allocation flexible des ressources, mais peut causer des problèmes de fragmentation externe et interne.

3. Comment les algorithmes de remplacement de pages influencent-ils les performances du système ?

Les algorithmes de remplacement de pages, comme FIFO, LRU ou OPT, déterminent quelle page sera retirée de la mémoire physique en cas de défaut. Un bon choix d'algorithme peut réduire le taux de défauts de page et ainsi améliorer les performances globales du système.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne