Académique Documents
Professionnel Documents
Culture Documents
Série D'exercices 3 - Avec Solution (Exercices 4-5-6-7)
Série D'exercices 3 - Avec Solution (Exercices 4-5-6-7)
Questions de cours :
1. Qu'est-ce qu'un gestionnaire de mémoire et quel est son rôle ?
2. Quelles sont les types d'allocation de mémoire ainsi que les différences entre eux ?
3. Que signifient les termes fragmentation, défaut de page et mémoire virtuelle ?
4. Quel est le principe de la pagination à la demande ?
Exercice 1
Soit une mémoire centrale utilisant la technique d’allocation contiguë par
partitionnement fixe. Cette mémoire est composée de 5 partitions P1, P2, P3, P4 et P5.
Ces partitions ont pour tailles respectives 100, 500, 200, 300 et 600 KO. Soient 4
processus A, B, D de tailles respectives 212, 417, 112 et 426 KO.
Donner les différents états de la mémoire centrale pour charger les 4 processus A, B,
C et D (dans l’ordre) en utilisant les algorithmes d’allocation suivants :
a- First Fit b- Best Fit c- Worst Fit d- Next
Fit
Exercice 2
On considère un système dont l'espace mémoire usager compte 1MO. On choisit la
multiprogrammation à partitions variables sans va-et-vient pour ce système.
On suppose la chronologie suivante pour notre système.
Instant t Événement
t=0 A (300, 55) arrive
t = 10 B (400, 35) arrive
t = 30 C (500, 35) arrive
t = 40 D (300, 105) arrive
t = 50 E (200, 35) arrive
t = 60 F (100, 55) arrive
t = 70 G (400, 35) arrive
t = 90 H (700, 35) arrive
t = 110 I (200, 25) arrive
t = 120 J (400, 45) arrive
81
Exercices Série d'exercices 3
Bien entendu, un processus qui ne peut pas être chargé en mémoire est placé sur une file
d'attente (File de haut niveau). La première ligne du tableau signifie que :
- le processus A arrive à l’instant 0,
- la taille de son espace logique est de 300 K et
- lorsque le processus A est chargé en mémoire centrale, il y séjournera (en mémoire
centrale) pendant exactement 55 unités de temps.
1) Donnez les états successifs d'occupation de la mémoire si :
Le répartiteur de haut niveau fonctionne selon PAPS et le mode d'allocation des
trous utilise l’algorithme premier ajustement (First Fit).
Le répartiteur de haut niveau fonctionne selon PAPS et le mode d'allocation des
trous utilise l’algorithme pire ajustement (Worst Fit).
Exercice 3
Soit un système d’exploitation, qui utilise l’allocation contiguë par partition variable.
On considère à l’instant T l’état suivant de la mémoire centrale (les zones hachurées
sont libres):
A B C D E F
(150Ko) (400Ko) (100Ko) (350Ko) (200Ko) (150Ko)
Exercice 4
On dispose d’un espace adressable virtuel 4 Go (adressable sur 32 bits), et d’un espace physique
32 Mo (adressable sur 25 bits). Une page occupe 1 Ko (déplacement sur 10 bits).
Quelle est la taille de la table des pages (en octet), sachant qu’une case de la table de page
comporte 1 bit de présence et un n° physique de la page ?
Solution
Soit k = p + d le nombre de bits pour coder une adresse logique où p et d représente le
nombre de bits pour désigner le nombre et la taille des pages, respectivement.
De même, soit k' = p' + d le nombre de bits pour coder une adresse physique où p' et d
représente le nombre de bits pour désigner le nombre et la taille des cases, respectivement.
Taille de la table de pages = taille-entrée-table × nombre-entrées, sachant que :
1) nombre-entrées = nb-pages = 2p
2) taille-entrée-table = nb-bits-n°-case (i.e. p') + bit de présence
D'une part, on a :
Taille-MV = 2k octets = 4 Go = 22 × 230 octets = 232 octets k = 32 bits
Taille-page = 2d octets = 1 Ko = 210 octets d = 10 p = 22
D'autre part, on a :
Taille-MC = 2k' octets = 32 Mo = 25 × 220 octets = 225 octets k' = 25 bits
Taille-case = taille-page = 2d octets = 1Ko = 210 octets d = 10 p' = 15
Il en résulte que :
Taille de la table de pages = taille-entrée-table × nombre-entrées
Taille de la table de pages = (p' + 1) × 2p = 16 bits × 222 = 2 octets × 222 = 23 × 220 = 8Mo
Exercices Série d'exercices 3
Exercice 5
Soit la table de pages suivante :
N°-page N°-case
0 4
1 6
2 8
3 9
4 12
5 1
Sachant que les pages virtuelles et physiques font 1K octets, quelle est l'adresse mémoire
correspondant à chacune des adresses virtuelles suivantes codées en hexadécimal : 142A
et 0AF1
Solution
Soit k = p + d le nombre de bits pour coder une adresse logique où p et d représente le
nombre de bits pour désigner le nombre et la taille des pages, respectivement.
De même, soit k' = p' + d le nombre de bits pour coder une adresse physique où p' et d
représente le nombre de bits pour désigner le nombre et la taille des cases, respectivement.
On a : taille-page = 2d octets = 1 Ko = 210 octets d = 10
Adresse-virtuelle (n°-page, déplacement) adresse-physique (n°-case, déplacement)
@v1 = 142A = 0001010000101010 = (000101, 0000101010) n°-page = 5 n°-case
= 1 @phy1 = (000001, 0000101010) = 0000010000101010 = 042A
@v2 = 0AF1 = 0000101011110001 = (000010, 1011110001) n°-page = 2 n°-case
= 8 @phy2 = (001000, 1011110001) = 0010001011110001 = 22F1
Exercice 6
Considérons une architecture caractérisée par les hypothèses suivantes :
• Une table de page de taille 128Ko
• Chaque entrée de la table contient une référence vers un cadre de page et
un bit de présence/absence.
• La taille d’une page est de 64ko
• La taille de la mémoire physique est de 2Go
• Une adresse virtuelle indexe un octet
Exercices Série d'exercices 3
0 0 1
1 2 0
2 8 0
3 2050 1
4 21054 1
5 31463 1
6 2187 0
7 260 0
8 1266 0
9 1024 1
Solution
Soit k = p + d le nombre de bits pour coder une adresse logique où p et d représente le
nombre de bits pour désigner le nombre et la taille des pages, respectivement.
De même, soit k' = p' + d le nombre de bits pour coder une adresse physique où p' et d
représente le nombre de bits pour désigner le nombre et la taille des cases, respectivement.
R1)
On a :
Taille-MC = 2k' octets = 2 Go = 2 × 230 octets = 231 octets k' = 31 bits
Taille-case = taille-page = 2d octets = 64 Ko = 26 × 210 octets d = 16 p' = 15
Nombre-cases = 2p' cases = 215 cases
R2)
Exercices Série d'exercices 3
Exercice 7
On considère un système utilisant la technique de pagination et ayant les
caractéristiques suivantes :
- Une table de page ayant 216 entrées
- Chaque entrée de la table de pages est codée sur 16 bits. Une entrée contient
un numéro de cadre de page et un bit de présence/absence.
- Le déplacement (offset) est codé sur 16 bits
- Une adresse virtuelle indexe 1 octet
1. Quelle est la taille d’une page ?
2. Quelle est la taille de la mémoire physique ?
3. Quelle est la taille de la mémoire virtuelle ?
4. Quelle est la taille (en bit) du bus d’adresse de ce système ?
Exercices Série d'exercices 3
Solution
Soit k = p + d le nombre de bits pour coder une adresse logique où p et d représente le
nombre de bits pour désigner le nombre et la taille des pages, respectivement.
De même, soit k' = p' + d le nombre de bits pour coder une adresse physique où p' et d
représente le nombre de bits pour désigner le nombre et la taille des cases, respectivement.
R1)
taille-page = 2d octets = 216 octets = 64 Ko (le déplacement est codé sur 16 bits)
R2)
Taille-MC = 2k' octets = 2d+p' octets
D'une part, on a :
taille-entrée-table = nb-bits-n°-case (i.e. p') + bit de présence
p' = taille-entrée-table - bit de présence = 16 – 1 = 15 bits
D'autre part, on a :
Le déplacement est codé sur 16 bits d = 16 bits
Il en résulte que :
Taille-MC = 2d+p' octets = 215+16 octets = 231 octets = 2 octets × 230 = 2 Go
R3)
Taille-MV = nombre-pages × taille-page
Taille-MV = nombre-entrées-table-pages × taille-page
Taille-MV = 216 × 216 octets = 232 octets = 22 × 230 octets = 4 Go
Exercices Série d'exercices 3
R4)
Taille-MV = 2k octets = 232 octets k = 32 bits
R5)
Adresse-virtuelle (n°-page, déplacement) adresse-physique (n°-case, déplacement)
Exercice 8
On s’intéresse aux systèmes utilisant la pagination
A- Détailler les algorithmes FIFO et LRU.
B- Au cours de son exécution, un programme accède successivement aux pages : 0, 1, 4,
2, 0, 1, 3, 0, 1, 4, 2, 3.
Donner la suite des pages présentes en mémoire ainsi que le nombre de défauts de pages
pour chacun des cas suivant :
B.1- Si on utilise l’algorithme FIFO et sachant que le système alloue à ce programme un
espace de 3 pages.
B.2- Si on utilise l’algorithme LRU et sachant que le système alloue à ce programme un
espace de 3 pages.
B.3- Si on utilise l’algorithme Optimal et sachant que le système alloue à ce programme
un espace de 3 pages.
B.4- Si on utilise l’algorithme FIFO et sachant que le système alloue à ce programme un
espace de 4 pages.
B.5- Si on utilise l’algorithme LRU et sachant que le système alloue à ce programme un
espace de 4 pages.
Exercice 9
Exercices Série d'exercices 3
Exercice 10
Refaire l'exercice précédent avec la suite P = (0, 1, 4, 2, 0, 1, 3, 0, 1, 4, 2, 3) avec une
mémoire à 3 cases puis à 4 cases.