Gestion de la mémoire

264 vues

Publié le

Chapitre 4 du cours systèmes d'exploitation 2

Publié dans : Sciences
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
264
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Gestion de la mémoire

  1. 1. Monoprogrammation
  2. 2. Multiprogrammation Probl`eme de la r´eallocation
  3. 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. 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
  5. 5. Va-et-vient
  6. 6. Va-et-vient (Cont.) Fragmentation externe
  7. 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. 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. 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. 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. 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. 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)
  13. 13. M´emoire virtuelle (Cont.) Pagination (Cont.)
  14. 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. 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
  16. 16. M´emoire virtuelle (Cont.) Segmentation
  17. 17. M´emoire virtuelle (Cont.) Segmentation (Cont.)
  18. 18. M´emoire virtuelle (Cont.) Segmentation (Cont.)
  19. 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 :
  20. 20. M´emoire virtuelle (Cont.) Segmentation avec pagination : le Pentium d’Intel (Cont.) � Descripteur de segment de code

×