Вы находитесь на странице: 1из 3

ASR 20132014

Gestion de la Mmoire Sujet Corrig


1

Adressage

Question 1.1. Rappeler la diffrence entre adresse logique et adresse physique.


Correction
adresse logique : adresse dune donne ou dune instruction dans un programme, vue par le processeur.
adresse physique : adresse relle dsignant un mot spcifique de la mmoire centrale de la machine.
Question 1.2. Le processeur Pentium 4 a introduit un nouveau mode de pagination utilisant des pages
de 4 Mo en plus du mode standard de pagination par pages de 4 Ko. Dans ces deux cas, quelle est la taille
du page number et du page offset ?
Correction

En 32 bits, 20 et 12 pour des pages de 4 kio, 10 et 22 pour 4 Mio.

Segmentation pagine

Question 2.1. On considre un systme avec une mmoire logique segmente pagine o la taille dune
page est de 4 kio et une mmoire physique de 64 kio. Lespace dadressage dun processus P est compos
de trois segments S1, S2 et S3 de taille, respectivement 16 kio, 8 kio et 4 kio. un moment donn, pour
le processus P, les pages 2 et 3 du segment S1, la page 2 du segment S2 et la page 1 du segment S3 sont
charges en mmoire physique, respectivement dans les cases 2, 0, 9, 12.
Pour une donne situe dans lespace dadressage du processus P ladresse dcimale 8212, indiquez :
1. le segment
2. le numro de page dans le segment
3. le dplacement dans la page
4. le numro de case (cadre)
5. le dplacement dans la case
6. ladresse physique (en dcimal et en binaire)
Correction

8212 = 2*4096 + 20

1. le segment = S1
2. le numro de page dans le segment = 3
3. le dplacement dans la page = 20
4. cadre = 0
5. le dplacement dans la case = 20
6. Ladresse physique est donc 20 en dcimal. Ladresse physique est exprime sur 16 bits (64 kio = 216 ),
dont 4 bits pour le numro de cadre et 12 bits pour le dplacement dans la case (4 kio = 212 ) , ce qui
nous donne en binaire 0000 0000 0001 0100.

A. Benoit, A.Isoard, A.Lefray et D. Zaidouni

ASR 20132014

Pagination

Question 3.1. Un programme a besoin de 5 pages de mmoire numrotes de 0 4. Au cours de son


droulement, il utilise les pages dans lordre suivant : 012301401234. Sachant quil reste 3 cadres libres en
mmoire, indiquer la squence des dfauts de page en supposant que lalgorithme de remplacement utilis
est FIFO. On dispose maintenant de 4 cases, quelle est dsormais la squence des dfauts de page ?
Correction 3 pages libre en mmoire :
Contenu de page mm. 1 : 0 3 3 3 4 4 4
Contenu de page mm. 2 : 1 1 0 0 0 2 2
Contenu de page mm. 3 : 2 2 2 1 1 1 3
Dfaut sur la page virtuelle 3 0 1 4 2 3
-> 9 dfauts de page ( 3 pour remplir la mmoire, puis 6).
4 pages libre en mmoire :
Contenu de page mm. 1 : 0 4 4 4 4 3 3
Contenu de page mm. 2 : 1 1 0 0 0 0 4
Contenu de page mm. 3 : 2 2 2 1 1 1 1
Contenu de page mm. 4 : 3 3 3 3 2 2 2
Dfaut sur la page virtuelle 4 0 1 2 3 4
-> 10 dfauts de page ( 4 pour remplir la mmoire, puis 6)
Question 3.2. On veut choisir une taille de page pour accommoder des processus de taille variable. tant
donns une taille de page k et un processus de taille l, il faut dl/(k b)e pages pour charger ce processus
(b est une constante reprsentant la quantit dinformation par page ncessaire pour grer les pages, par
exemple un lien vers la prochaine page du processus). tant donne une taille moyenne de processus L,
comment choisir k pour minimiser la quantit de mmoire ncessaire (on supposera quen moyenne, il y a
une demi-page qui reste inoccupe).
Correction min (kdl/(k b)e) = kL/(k b) + (1 )k avec = 1/2
minimal pour k = b + sqrt(2bL)
On considre une mmoire virtuelle pagine dont les pages ont une taille de 2 Ko et les mots
sont de 32 bits. A est une matrice dentiers de taille 512 x 512, et on sait quelle est stocke ligne
par ligne en mmoire.
On considre les deux programmes suivants :
for(j = 0; j < 512; j++) {
for(i = 0; i < 512; i++) {
A[i][j] = 0;
}
}
et
for(i = 0; i < 512; i++) {
for(j = 0; j < 512; j++) {
A[i][j] = 0;
}
}
Question 3.3. On suppose quaucune page nest pralablement charge en mmoire (allocation la demande). Comparer le nombre de dfauts de pages entre les deux cas.
Correction

Dans le premier cas il y a beaucoup plus de page misses.


A. Benoit, A.Isoard, A.Lefray et D. Zaidouni

ASR 20132014

Stratgies dallocation contigues

Question 4.1. tant donnes 5 partitions de mmoire libre de 100 ko, 500 ko, 200 ko, 300 ko et 600 ko,
dans quel ordre seraient-elles utilises par les algorithmes Best-fit, Worst-fit et First-fit pour placer les
processus A, B, C et D de tailles respectives 212 ko, 417 ko, 112 ko et 426 ko.
Correction
Best-fit 212 ko process 300 ko partition.
417 ko process 500 ko partition.
112 ko process 200 ko partition.
426 ko process 288 ko partition (500 ko remainder).
Worst-fit 212 ko process 600 ko partition.
417 ko process 500 ko partition.
112 ko process 388 ko partition.
426 ko must wait.
First-fit 212 ko process 500 ko partition.
417 ko process 600 ko partition.
112 ko process 288 ko partition.
426 ko must wait.
Question 4.2. Lalgorithme First-fit a lavantage de la simplicit mais il a tendance accumuler au fil
du temps les blocs de taille trop petite en dbut de liste. Donner une solution simple pour amliorer son
efficacit sans avoir trier la liste des partitions disponibles.
Correction

circular fit

Question 4.3. On considre un algorithme allouant dynamiquement la mmoire sans pouvoir dplacer
un bloc prcdemment allou. Montrer que quelque soit cet algorithme, il existe une suite de requtes qui
remplit une mmoire de 2n + 1, tout en ne ncessitant jamais plus de n + 2 cases la fois. Par exemple,
avec n = 2, les cases c1 , c2 , c3 , c4 et c5 sont initialement libres. On rserve 4 blocs de 1 case. Si c3 est
occup, on libre tous les autres et on demande un bloc de 3 cases. Si c3 est libre, on libre c1 et c5 et on
demande un bloc de taille 2.
Correction Quelque soit lalgorithme et le nombre de cases disponible, la squence suivante mettra en
dfaut lalgorithme :
demander n + 2 blocs de 1 case.
si la case du milieu (an+1 ) est occupe
librer toutes les case sauf an+1
demander un bloc de n cases.
si la case du milieu (an+1 ) est libre
trouver le minimum k et le maximum j tel que : aj et ak ne sont pas disponible, 1 6 j 6 n et
n + 2 6 k 6 2n + 1. (alors k j 6 n).
librer tout les blocs sauf aj et ak
demander un bloc de n cases.

A. Benoit, A.Isoard, A.Lefray et D. Zaidouni

Вам также может понравиться