Академический Документы
Профессиональный Документы
Культура Документы
Dfinitions ...........................................................................................................................................2
Mmoire centrale.............................................................................................................................2
Units de mesure :............................................................................................................................2
Catgories de mmoires...................................................................................................................2
Gestion de la mmoire ........................................................................................................................4
Registres de protection mmoire.....................................................................................................4
Gestion de la mmoire physique......................................................................................................4
Partitions de taille fixe................................................................................................................4
Partitions de tailles variables.......................................................................................................5
Stratgie de placement................................................................................................................6
Bilan provisoire...........................................................................................................................6
Mmoire virtuelle pagine....................................................................................................................7
Dfinitions .....................................................................................................................................7
Mmoire pagine- cadres de pages.............................................................................................7
Adresse virtuelle table des pages.............................................................................................7
Consquences de l'adressage virtuel................................................................................................8
Mmoire virtuelle............................................................................................................................9
Algorithmes de remplacement de pages.............................................................................................10
Algorithme de remplacement de la page non rcemment utilise.................................................10
Algorithme de remplacement de page premier entr, premier sorti..............................................11
L'algorithme de remplacement de page de la seconde chance.......................................................11
L'algorithme de remplacement de page de l'horloge.....................................................................12
L'algorithme de remplacement de la page la moins rcemment utilise.......................................13
Groupe esaip
317513634.doc
Dfinitions
Mmoire centrale
La mmoire centrale des ordinateurs est la mmoire accessible directement par le processeur.
Cette mmoire contient la fois les instructions de programmes et les donnes manipules par ces
programmes, que ces programmes soient des programmes utilisateurs ou des programmes systmes.
La quantit de mmoire installable sur un ordinateur dpend de plusieurs paramtres :
l'espace maximum de mmoire accessible par le processeur (20 bits d'adresse, 32 bits,
64bits ...)
la taille du bus systme, c'est dire le sous-ensemble de l'espace adressable effectivement
cbl sur la carte mre de l'ordinateur
les emplacements disponibles sur la carte mre pour l'insertion des "barrettes de mmoire"
le type de barrettes utilises: si 3 emplacements sont disponibles, il est peut-tre possible
d'installer 3x128 Mo ou 3x512 Mo
Units de mesure :
La mmoire des ordinateurs se mesure en multiples de l'octets:
1 ko (kilo)
2 10 octets
1024 octets
1 Mo (mga)
2 20 octets
1024 Ko
1 Go (giga)
2 30 octets
1024 Mo
1 To (tra)
2 40 octets
1024 Go
Une adresse mmoire est l'adresse d'un octet en mmoire centrale (ou du premier octet d'une srie
d'octets d'adresses successives). Chaque octet de la mmoire a une adresse.
Catgories de mmoires
La mmoire RAM (random access mmory) est ainsi nomme car le temps d'accs l'un
quelconque des octets (choisi alatoirement) est identique pour tous. Cette proprit n'est pas
vrifie pour les donnes sur disque.
La mmoire centrale peut aussi comporter une partie de mmoire ROM (read only memory) qui a
surtout l'intrt de ne pas tre efface lorsque l'ordinateur est mis hors tension. Un programme
d'amorage en mmoire ROM est ncessaire au dmarrage de l'ordinateur.
Les temps d'accs la mmoire ROM sont en gnral plus long que pour la mmoire RAM,
il sera donc assez frquent de recopier en mmoire RAM les informations de la mmoire
ROM pour amliorer les performances. Cette mmoire qui est comme "l'ombre de la
mmoire ROM" est quelquefois appele "mmoire shadow"
Pour amliorer le temps d'accs aux donnes et instructions de la mmoire RAM, les processeurs
disposent en gnral sur d'une mmoire plus rapide mais en quantit plus limite: la mmoire
cache. Cette mmoire contient les dernires informations utilises par le processeur, et se rvle
utile parce que les programmes utilisent en gnral plusieurs fois les mmes instructions et donnes
dans un brve priode de temps.
Pour tendre la quantit de mmoire RAM on utilisera une partie de la mmoire de masse (en
gnral le disque dur) pour stocker des informations de la mmoire qui ne seront pas utiles aux
programmes actifs dans un horizon de temps limit. Cette mmoire s'appelle la mmoire d'change
(en anglais swap). Ceci permettra de "rcuprer" l'espace RAM qu'utilisaient ces donnes ou
instructions pour y enregistrer d'autres informations ncessaires aux programmes actuellement
actifs.
Gestion de la mmoire
Registres de protection mmoire
La gestion de la mmoire centrale est ralise par le systme d'exploitation et vise fournir aux
applications l'espace de RAM ncessaire leur excution.
Un objectif supplmentaire mais tout aussi crucial est la protection des espaces mmoire des autres
applications, et du systme d'exploitation lui-mme, contre la lecture ou la modification des
donnes par un processus non autoris.
En gnral un processus se verra allouer une espace de mmoire correspondant des adresses
successives: il pourra ainsi utiliser toute adresse de mmoire entre une valeur minimale et une
valeur maximale; les autres adresses lui tant interdites.
Ce contrle d'accs la mmoire, pour tre efficace, devra tre ralis par le processeur lui-mme,
qui disposera de 2 registres dfinissant les limites des adresses mmoire autorises. Ces registres
seront initialiss par l'ordonnanceur au moment o celui-ci active le processus.
gnration de code relogeable par les compilateurs, associe des chargeurs de code relogeable
permettra de charger un programme une adresse quelconque en mmoire.
La
dfinition de partitions de taille variable permettra d'adapter la taille des partitions aux besoins
rels des programmes.
Stratgie de placement
Au bout d'un certain temps les programmes en cours se terminent: sur l'exemple de cette figure les
programmes A et C se sont termins.
Si le choix de l'emplacement des premiers programmes n'a pos aucun problme (il suffisait de
remplir la mmoire en rpondant aux besoins des programmes), la question se pose ds qu'un
programme se termine, en librant un espace mmoire, du choix du meilleur emplacement
disponible pour implanter en mmoire un nouveau programme.
On peut proposer 3 stratgies :
1.best-fit strategy : on choisit l'emplacement le plus petit parmi ceux qui sont assez grands pour les
besoins du programme
2.first-fit strategy : on choisit le premier emplacement que l'on trouve et qui est suffisant pour
satisfaire la demande (l'avantage est la rapidit de la dcision)
3.worst fit strategy : on choisit le plus grand des emplacements, mais on rcupre ce qui est au-del
des besoins du programme pour en faire un nouvel emplacement libre(alors que dsans les stratgies
prcdentes, si le bloc allou est plus grand que la demande, l'excdent reste indisponible et
inutilis)
Au del de ces stratgies de placement peut se poser le choix d'une restructuration des blocs
mmoire qui permettrait en dplaant les bloc allous de runir en un (ou plusieurs) blocs les
diffrents blocs libres. Si la runion de 2 blocs libres adjacents est quasi immdiate, la runion de
blocs libres qui imposerait d'en dplacer d'autres est une opration coteuse en terme de temps
processeur; on essaiera donc de la limiter le plus possible.
Bilan provisoire
Ces techniques de gestion de la mmoire n'ont plus qu'un intrt historique et ne correspondent plus
la plupart des systmes modernes. Elles gardent cependant leur actualit dans 2 contextes trs
actuels :
1.les systmes " objets" utilisent trs intensivement l'allocation dynamiques de variables;
ces variables ont souvent une dure de vie trs courte, ce qui gnre rapidement un espace
mmoire "rempli de trous". Le choix de l'emplacement mmoire pour une nouvelle variable,
ou le regroupement des espaces libres (garbage collection) gardent ici toute leur actualit
(mais au lieu de l'espace mmoire du systme, il s'agit de l'espace mmoire d'une
application). La machine virtuelle Java a ainsi son propre "garbage collector".
2.les systmes embarqus disposent souvent d'un espace mmoire trs restreint, qui oblige
simplifier certains algorithmes du systme; en contre partie, le nombre des applications
appeles s'excuter et leurs besoins en mmoire sont mieux prvisibles; dans ce contexte,
des algorithmes simplifis (voire simplistes) de gestion de la mmoire peuvent devenir
particulirement intressants.
N de la page relle
contenant cette page
virtuelle
102
250
205
46
32
310
A chaque instruction machine rfrenant une variable ou une instruction, il est donc ncessaire de
convertir
(N de page virtuelle, N d'octet dans la page)
en
(N de page relle, N d'octet dans la page)
Remarquons que dans cette conversion d'adresses, le numro d'octet dans la page n'est pas chang.
Il reste une dernire conversion raliser pour passer en adresse physique :
adresse physique =
Ces mcanismes de conversion pour tre efficaces seront implants dans le processeur
Ce qui veut dire aussi qu'une telle gestion de la mmoire ncessite un processeur adapt: une "unit
de gestion de la mmoire" n'existe sur les processeurs Intel qu' partir du 80386.
Mmoire virtuelle
L'adressage virtuel permettra aussi de grer de manire efficace la mmoire d'change: extension
sur le disque de la mmoire centrale.
En effet dans la table des pages, il suffira d'indiquer
si
si le contenu de cette page virtuelle est au contraire sur disque, dans l'espace de "swap"
Si le programme en cours d'excution fait rfrence une adresse de page virtuelle sur disque, la
processeur qui ralise la conversion des adresses virtuelles en adresse physiques gnrera une
"exception pour dfaut de page": une interruption matrielle, qui aura les consquences
suivantes :
1.Blocage du processus en cours, pour une opration d'entres/sortie particulire qui
consistera recharger la page absente en mmoire principale.
2.Dmarrage d'un processus systme de remplacement de page qui devra slectionner pour la
page manquante un cadre de page disponible, ou librer un des cadres de pages occups, en
recopiant son contenu dans la mmoire d'change. Quelle page slectionner sera la question
des algorithmes de remplacement de page dcrits dans le chapitre suivant.
3. Allocation du processeur un autre processus prt
Lorsque la page absente sera de nouveau disponible en mmoire, le processus bloqu redeviendra
prt.
est important de raliser que ces bits doivent tre mis jour chaque rfrence mmoire, et qu'il
est donc essentiel que cette mise jour soit matrielle.
Lorsqu'un bit a t mis 1, il reste 1 jusqu' ce que le systme d'exploitation le remette 0 de
manire logicielle.
Si le matriel ne dispose pas de ces bits, ils peuvent tre simuls de la manire suivante. Quand un
processus dmarre, toutes les entres de ses pages sont marques comme non prsentes en mmoire.
Ds qu'une page est rfrence, un dfaut de page est gnr. Le systme d'exploitation met 1 le
bit R (dans ses tables internes), change l'entre de la table des pages pour pointer sur la bonne page,
avec un mode lecture seule, et recommence l'instruction. Si la page est rcrite par la suite, un autre
dfaut de page est gnr, autorisant le systme d'exploitation mettre 1 le bit M et changer le
mode d'accs la page en lecture/criture.
Les bits R et M peuvent servir construire un algorithme simple de pagination comme dcrit ciaprs. Quand un processus dmarre, les 2 bits de page pour toutes ses pages sont mis 0 par le
systme d'exploitation. Priodiquement (par exemple chaque interruption d'horloge), le bit R est
effac, afin de distinguer les pages qui n'ont pas t rcemment rfrences de celles qui l'ont t.
Quand un dfaut est gnr, le systme d'exploitation examine toutes les pages et les spare en deux
catgories bases sur les valeurs courantes des bits R et M:
[ 0 0 ] Classe 0. Non rfrence, non modifie.
[ 0 1 ] Classe 1. Non rfrence, modifie.
[ 1 0 ] Classe 2. Rfrence, non modifie.
[ 1 1 ] Classe 3. Rfrence, modifie.
Bien que l'existence de pages de classe 1 semble impossible elles apparaissent dans cet tat lorsque
le bit R d'une page de classe 3 est effac par une interruption d'horloge. Les interruptions d'horloge
n'effacent pas le bit M parce que cette information est ncessaire pour savoir si la page a t rcrite
sur le disque ou pas. Si le bit R est effac mais pas le bit M, cela aboutit une page de classe 1.
L'algorithme de la page non rcemment utilise ou NRU (Not Recently Used) enlve une page au
hasard dans la classe la plus basse non vide. Avec cet algorithme, il est implicite qu'il vaut mieux
enlever une page modifie qui n'a pas t rfrence au moins dans un top (typiquement 20 ms)
plutt qu'une page bonne (clean) qui est beaucoup utilise. L'attrait principal de l'algorithme NRU
est qu'il est facile comprendre, relativement simple implanter, et qu'il donne des performances
qui, sans tre optimales, sont suffisantes.
Le travail de l'algorithme de la seconde chance consiste chercher une ancienne page qui n'a pas t
rfrence dans le prcdent intervalle d'horloge. Si toutes les pages ont t rfrences,
l'algorithme de la seconde chance dgnre en pur algorithme FIFO. Pour tre concrets, imaginons
que toutes les pages de la figure 4.16(a) ont leur bit R 1. Le systme d'exploitation dplace une par
une les pages la fin de la liste, effaant le bit R chaque fois qu'il ajoute une page la fin de la liste.
Finalement, il revient la page A, dont le bit R est maintenant 0. ce moment-l, A est vince.
Ainsi, cet algorithme se termine toujours.
Quand un dfaut de page survient, la page pointe est examine. Si son bit R est 0, la page est
vince, la nouvelle page est insre dans l'horloge sa place, et le pointeur est avanc d'une
position. Si le bit R est 1, il est effac et le pointeur est avanc sur la prochaine page. Ce
processus est rpt jusqu' ce qu'une page R = 0 soit trouve. Cet algorithme de l'horloge diffre
de l'algorithme de la seconde chance uniquement dans son implantation.