Beruflich Dokumente
Kultur Dokumente
lec
Selection
001
Bus
Tampon d’entrées/Sorties
0110111111110011
PCB P1 PCB P2
– Allouer de la mémoire
N
physique à chaque
espace d'adressage
Espace adressage
processus 1
code 3 espaces (segments,
Espace adressage régions)
de taille différentes
processus 2
données
pile
Joëlle Delacroix NSY103 3
Espace d’adressage segmenté
adresse logique segmentée
( n°segment S, déplacement dep dans le segment)
1664 octets S1 0
Espace
0
Espace 512 o
0
d'adressage
d'adressage S3 segmenté
linéaire 896 (512 +384) 128 o
0
384
Adresse du mot avant chargement S2
Déplacement depuis 0 1024 o
(896)
Adresse du mot dans l’espace segmenté
N° segment S, Déplacement dep depuis 0
(S2, 384)
Page 1 Case 4
Page 2 Case 5
Page 3
Page 3
384
Page 4
Espace d'adressage
Espace d'adressage
du segment S2
du segment S2 (1024)
PAGINE
LINEAIRE
Adresse paginée (logique)
Adresse linéaire
(n° de page, déplacement dans la page depuis 0)
(déplacement depuis 0)
Joëlle Delacroix NSY103 6
Espace d’adressage segmenté et paginé
adresse logique segmentée paginée
( n°segment S, n°page du segment, déplacement dep dans la page)
Page 1 Case 4
Page 2 Case 5
Page 3
Numéro adresse
Page 1 page case O_USER
Case 1
O_USER + 256
Page 2 1 Adr C2 Page 1
(O_User + 256) Case 2
Page 3 Page 3
Adr C6 Case 3
2 (O_User + 1280)
Page 4 Case 4
Adr C3
Case 5
3 (O_User + 512)
O_USER + 1536 128
Page 2
Espace d'adressage Case 6
4 Adr C7
du segment S2 Page 4
(O_User + 1536) Case 7
Espace d'adressage de
processus segmenté Espace d'adressage segmenté, 1 table des pages
S1 0
paginé pour chaque
Table des segments du segment
processus 512 o Page 1 (256 o)
Page 1 Adr case
Page 2
Page 2 Adr case
S1 table des Taille S1
0
pages S1 Droits Page 1
accès (256 o) Page 1 Adr Case 2
384 Page 2 128
S2 table des Taille S2
Page 2 Adr Case 6
pages S2 Droits
S2 Page 3
accès Page 3 Adr Case 3
1024 o
S3 table des Taille S3 Page 4
0 Page 4 Adr Case 7
pages S3 Droits S3
accès
128 o Page 1 (256 o)
Page 1 Adr case
• Ces structures sont des tables logicielles pointées depuis le PCB de chaque processus.
Un registre du processeur repère à tout moment l’adresse en mémoire centrale de la
table des segments du processus actif
– commuter de processus = charger le registre PTBR avec l'adresse de la table des
segments du processus
Table des segments
et des pages
PCB
PA PB
PSW PA
PCB PB
CO PB
PCB PA Case 1
O_User
A PTBR PSW PB Case 2
Case 3
B PTBR Case 4
Case 5
Joëlle Delacroix NSY103 13
La mémoire segmentée paginée
non Erreur
adressage 384 Table des segment et pages
(S2, 384)
non oui d O_USER
Pour i = 1 à 10 0 R1 1
Faire 1 R2 10
A(i) = 2; 2 comp R1, R2
B(i) = 5; 3 si R1 > R2 fin
i = i + 1; 4 A(R1) 2 Page 2 vecteur A
Fait 5 B(R1) 5
6 R1 R1 + 1
7 aller à 2
Page 1 code
Page 3 vecteur B
Page de 10 mots
2,d 3,d succès
3
2
Références aux pages : 11(112311)10 1
Cache cpu
Page 3
s p d’ Une portion de Page 2
Oui (succès)
L’association (s, p, c) Lire le mot (c,d’) en MC
est elle dans le cache MMU ? Le copier dans le cache CPU avec ses voisins 1
Non (défaut)
3
Mémoire physique
Processus 1 Processus 3
Mémoire physique
Page 1 Page 3-3 Case 1
Page 4 Page 2
Load D R (P2, d) Page 1-1 Case 2
Page 3
Page 1
Page 2 Page 3-2 Case 3
Programme 1
Page 3
Page 1 Page 2-1 Case 4
Processus 2 : accès à la page 2
Page 4 Page 2 Programme 2
Page 3 Page 1-3 Case 5
DEFAUT DE PAGE
Page 2-3 Case 6
Programme 3
Page 4-1 Case 7
1. Déroutement
E/S disque
p I
2 Chargement de la page 7 p
Chaine de référence
7 0 1 2 0 3 0 4 2 3 0
7 7 7 2 2 2 2 4 4 4 0
0 0 0 0 3 3 3 2 2 2
1 1 1 1 0 0 0 3 3
D D D D D D D D D D
Chaine de référence
7 0 1 2 0 3 0 4 2 3 0
7 7 7 2 2 2 2 4 4 4 0
0 0 0 0 0 0 0 0 3 3
1 1 1 3 3 3 2 2 2
D D D D D D D D D
7 0 1
Pertinent, mais couteux
7 0 1 2 0
A M V N° de case physique
• Champ Accès :
FIFO : date de chargement
LRU : date de dernier accès
Libération de page
TP
Adresse logique
p d
p I 10
q V M 10
Mémoire centrale
Libération de page
TP
Adresse logique
6. Reprise
p d
instruction
Registre adresse
Table des pages
adresse table
6
+ V 10
p
q I 10 p
Mémoire centrale
Exemple de Linux
ZONE FIXE : code et
données du noyau en
permanence en MC
Zone Dynamique
Swapping des pages
• /proc est un système de fichier utilisé par le noyau pour mémoriser des informations
aux différents processus.
• On y trouve :
– des fichiers contenants des informations générales sur le système. Comme :
• uptime donnant le temps de fonctionnement du système.
• stat donnant diverses statistiques sur l’utilisation des ressources du système (CPU,
mémoire… ).
• meminfo donnant un récapitulatif de l’utilisation de la mémoire.
• cpuinfo donnant une description des CPU du système.
– un répertoire par processus actif. Chacun porte le numéro du processus (PID). Il est constitué
des fichiers suivants :
• cmdline contient la ligne de commande qui a créé le processus.
• status contient des informations sur l’état du processus (en attente, en exécution,
propriétaire… ).
• exe est un lien vers le fichier exécutable utilisé par le processus.
• maps contient les informations relatives aux régions du processus
• Une région est une zone contiguë de l'espace d'adressage traitée comme un objet
pouvant être partagé et protégé. Elle est caractérisée par
– ses adresses de début et de fin
– les droits d'accès qui lui sont associés
– l'objet qui lui est associé
Case occupée ou
Present Accessed Dirty Read/write adresse dans la zone de swap
Champ age