L3

On considère une mémoire paginée et segmentée. Une case dans la mémoire vaut 4ko (4096). La mémoire centrale comporte 15 cases numérotées de 1 à 15. On considère deux processus A et B.

Le processus A a 3 segments qui sont S1A, S2A, S3A. Ils ont respectivement la taille suivante, 8ko, 12ko, 4ko.

Le processus B a 2 segments qui sont S1B, S2B. Ils ont respectivement la taille suivante, 16ko et 8ko.

Pour le procesus A (en mémoire):

Pour le processus B (en mémoire):

Questions :

Représenter sur un dessin / schéma, les tables de segments, les tables de pages et la mémoire centrale pour les deux processus.


Note : Normalement la deuxième colonne des tables de segments pointe via une flèche sur la table des pages correspondante mais pas le courage de faire une image pour représenter ça. :-)

Table de segments

Dans la table des segments, on précise la taille de la page dans la première colonne et on fait pointer vers la table de la page la seconde colonne.

Processus A

8
12
4

Processus B

16
8

Table de pages

Dans les tables de pages, la première colonne comporte un bit de validité (V ou I). La page est valide si elle pointe sur une case en mémoire, sinon elle est invalide. On sait combien de pages comporte un segment par rapport à sa taille. Une page = une case et ici la taille d'une case est de 4ko. On divise donc la taille du segment par 4 pour avoir son nombre de pages.

Processus A

Segment S1A (8ko)

V Case 4
V Case 5

Segment S2A (12ko)

I
V Case 10
I

Segment S3A (4ko)

V Case 6

Processus B

Segment S1B (16ko)

I
V Case 11
V Case 2
I

Segment S2B (8ko)

V Case 15
I

Mémoire centrale

Pour représenter la mémoire centrale, on utilise un seul tableau en remplissant les cases qui sont présentes dans les tables de pages. On remplit chaque case avec le numéro de page et le segment la référençant.

Référencé par
1
2 Page 3 de S1B
3
4 Page 1 de S1A
5 Page 2 de S1A
6 Page 1 de S3A
7
8
9
10 Page 2 de S2A
11 Page 2 de S1B
12
13
14
15 Page 1 de S2B