3. Multiprogrammation (Cont.)
Solutions au probl`eme de la r´eallocation
� R´eallocation statique :
� Modifier les adresses pendant le chargement du programme
� IBM 360
� Inconv´enients : ralentissement du chargement, comment
distinguer une adresse r´eallouable d’une constante num´erique ?
� R´eallocation dynamique :
� 2 registres : registre de base, registre limite
� Pas de modifications de programmes
� L’UC :
adresse + registre de base <= registre limite
� CDC 6600, Intel 8088
� Inconv´enient : une addition et une comparaison `a chaque
r´ef´erence m´emoire
4. Saturation de la m´emoire
� La m´emoire centrale ne peut pas contenir tous les processus
� Solutions :
� Va-et-vient (swapping)
� M´emoire virtuelle
7. Va-et-vient (Cont.)
Accroissement de l’espace allou´e aux processus
� Trouver un trou adjacent au processus
� D´eplacer le processus dans un trou suffisamment grand
� Allocation d’espace pour l’accroissement
8. Va-et-vient (Cont.)
Gestion de la m´emoire libre
� Table de bits
� La m´emoire est r´epartie en unit´es d’allocations
� Chaque unit´e d’allocation correspond `a un bit dans la table de
bits
� Inconv´enient : Lenteur de la recherche d’une s´equence d’unit´es
libres
9. Va-et-vient (Cont.)
Gestion de la m´emoire libre (Cont.)
� Liste chaˆın´ee
� Liste chaˆın´ee des segments allou´es et libres
� Entr´ee de la liste : Trou/Processus, @d´ebut, longueur
� Algorithmes d’allocations
� Premi`ere zone libre (first fit)
� Zone libre suivante (next fit)
� Meilleur ajustement (best fit)
� Plus grand r´esidu (worst fit)
� Placement rapide (quick fit)
10. Va-et-vient (Cont.)
Syst`eme mobile
� Caract´eristiques mat´eriel : m´emoire flash
� Capacit´e limit´ee
� Nombre d’´ecritures limit´e
� Throughput faible entre la m´emoire principale et la m´emoire
flash
� iOS
� Demander aux applications de lib´erer la m´emoire allou´ee
� Une application est arrˆet´ee si elle refuse de lib´erer
suffisamment de m´emoire
� Android
� Mˆeme approche qu’iOS.
� L’´etat de l’application est sauvegard´e avant l’arrˆet.
11. M´emoire virtuelle
Principe
� Chaque programme a son propre espace d’adressage
� L’espace d’adressage d´ecoup´e en petites entit´es appel´ees pages
� Il n’est pas obligatoire d’avoir toutes les pages en m´emoire
pour ex´ecuter un programme
� Lorsque le programme r´ef´erence une partie de son espace
d’adressage :
� La r´ef´erence est en m´emoire : le mat´eriel fait la
correspondance au vol
� La r´ef´erence n’est pas en m´emoire : le SE prend la main pour
chercher sur disque ce qui manque, le ranger en m´emoire et
reprendre l’ex´ecution du programme
12. M´emoire virtuelle (Cont.)
Pagination
Allocation de zones de m´emoire non contig¨ues pour un mˆeme
processus
� Cadres de page : m´emoire physique d´ecoup´ee en zones de
taille fixe
� Adresse logique : num´ero de page + d´eplacement dans la
page
� Table de pages : liaison entre num´ero de page et cadre de
page (une table par processus)
14. M´emoire virtuelle (Cont.)
Pagination (Cont.)
D´efaut de page (page fault)
� Un programme essaye de faire appel `a une page non pr´esente
� La MMU remarque que la page est absente et fait proc´eder
l’UC `a un d´eroutement qui est appel´e d´efaut de page :
� S´election d’un cadre de page
� Ecriture du contenu sur le disque
� Transf´erer la page qui vient d’ˆetre r´ef´erenc´ee dans le cadre de
page lib`ere
� Modifier la correspondance
� Recommencer l’instruction d´erout´ee
15. M´emoire virtuelle (Cont.)
Pagination (Cont.)
Algorithmes de remplacements de pages
� Algorithme de remplacement de la page non r´ecemment
utilis´ee
� Algorithme de remplacement de la page premier entr´e,
premier sorti
� Algorithme de remplacement de la page de la seconde chance
� Algorithme de remplacement de la page de l’horloge
� Algorithme de remplacement de la page la moins r´ecemment
utilis´ee
19. M´emoire virtuelle (Cont.)
Segmentation avec pagination : le Pentium d’Intel
� LDT : Table des descripteurs locaux (Local Descriptor Table)
qui d´ecrit les segments locaux de chaque programme
� GDT : Table des descripteurs globaux (Global Descriptor
Table) qui d´ecrit les segments syst`eme
� S´electeur :