Click here to load reader

Systèmes d’Exploitation - ENSIN6U3 - lsis. · PDF fileSystèmes d’Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat2 1Leonardo.Bre[email protected]

  • View
    218

  • Download
    0

Embed Size (px)

Text of Systèmes d’Exploitation - ENSIN6U3 - lsis. · PDF fileSystèmes...

  • Systmes dExploitation - ENSIN6U3Gestion de la mmoire

    Leonardo Brenner 1 Jean-Luc Massat 2

    [email protected]

    [email protected]

    Aix-Marseille UniversitFacult des Sciences

  • Table de matire

    1 Gnralits

    2 Le partage de la mmoireAllocation de mmoireAllocation de la mmoire contiguAllocation non-contigu : la paginationSegmentation

    3 La mmoire virtuelleAlgorithmes de remplacement

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 2 / 61

  • Gnralits

    Table de matire

    1 Gnralits

    2 Le partage de la mmoireAllocation de mmoireAllocation de la mmoire contiguAllocation non-contigu : la paginationSegmentation

    3 La mmoire virtuelleAlgorithmes de remplacement

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 3 / 61

  • Gnralits

    Gnralits

    Notion de mmoire

    La mmoire est une ressource :

    partageable / non partageable

    rquisitionnable / non rquisitionnable

    reutilisable

    Mmoire dun processus

    Chaque processus travail dans un mmoire logique qui est vu comme untableau de cases mmoire.

    Mmoire logique

    Cette mmoire logique est dite linaire car les cases qui la composent sontcontigus. Ces cases sont repres par des entiers conscutifs qui sontappels des adresses logiques.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 4 / 61

  • Gnralits

    Adresses logiques vs. adresses physiques

    Gnration dadresses

    Lors de lexcution, chaque processus P gnre des adresses logiques.A loppos, les cases de la mmoire physique sont repres par desadresses physiques.

    Adresses logiques :

    priv au le programme, utilis par lunit centrale.

    Adresses physiques :

    accs la mmoire, instructions de lecture/criture de/ un registre,

    la MMU ( memory management unit ) transforme les adresses logiquesen adresses physiques.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 5 / 61

  • Gnralits

    Catgories de mmoire

    Organisation de la mmoire

    partition unique

    partitions fixes

    Correspondance fixe

    partitions variables

    Mm. logique contigu

    Mm. physique contigu Mm. physique non contigu

    mmoire pagine

    mmoire virtuelle pagine

    Mm. logique non contigu

    mmoire segmente mmoire segmente pagine

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 6 / 61

  • Le partage de la mmoire

    Table de matire

    1 Gnralits

    2 Le partage de la mmoireAllocation de mmoireAllocation de la mmoire contiguAllocation non-contigu : la paginationSegmentation

    3 La mmoire virtuelleAlgorithmes de remplacement

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 7 / 61

  • Le partage de la mmoire Allocation de mmoire

    Allocation de mmoire

    Correspondance entre adresses

    La correspondance entre adresses logiques et adresses physiques :

    statique (tablie une seule fois) ;

    dynamique (variable dans le temps).

    Gestion de la mmoire physique

    Partage de donnes entre processus ;

    Protection de chaque processus.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 8 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Systme partition unique (1/2)

    Va-et-vient ou swapping

    Un seul processus est plac en mmoire la fois.

    S.E. partition unique mmoire

    RB

    RL

    Caractristiques

    les processus sont tous et toujours la mme adresse physique ;

    la correspondance logique/physique est rgle lors de la compilation oudu chargement ;

    la rquisition de la CPU entrane la sauvegarde de la partition et lechargement dun nouveau processus ;

    la CPU est inutilise durant les sauvegardes/rcuprations.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 9 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Systme partition unique (2/2)

    Protection

    La protection est possible par le jeu des deux registres spcialises RB(registre de base) et RL (registre limite).

    Sauvegarde

    Pour limiter les E/S, le systme sauvegarde uniquement les zones de lapartition qui ont t modifies et/ou applique lalgorithme des peluresdoignons.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 10 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Les recouvrements

    Objectifs

    Limiter la taille de la mmoire occupe par le code du programme.

    Caractristiques

    les programmes de taille importante sont dcoups en plusieurs partiesindpendantes ;

    une partie reste systmatiquement en mmoire, cest la racine durecouvrement ;

    les autres parties sont charges en mmoire la demande.

    mmoire physique

    A B C

    A B

    A C

    configuration 1

    configuration 2

    programme (3 parties)

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 11 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Systme partitions fixes

    A(1) C(2) B(1)

    C(2) A(1) B(1) C(2)

    Canal.

    U.C.

    sauvegarde

    chargement

    programme(zone)

    S.E. zone 1 zone 2

    A

    B

    C

    mmoire

    programmes

    Allocation de la mmoire

    Chronogramme d'activit

    Caractristiques

    la mmoire est divise en zones de taille fixe (spcialisation) ;

    les processus sexcutent toujours dans la mme zone ;

    pendant les changes sur la zone 1, un autre processus sexcute sur la zone 2 ;

    la correspondance logique/physique est rgle lors de la compilation ou duchargement ;

    protection possible par les registres RB et RL.Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 12 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Systme partitions variables

    5

    2

    1

    0

    C

    B

    A

    155

    152

    151

    150

    C

    B

    A

    3

    4

    D

    E

    F

    153

    154

    D

    E

    F

    +

    6

    3 < RL

    RL

    150

    RB

    3

    droutement surerreur d'adressage

    oui

    non

    Caractristiques

    les partitions sont alloues et libres la demande (cration ou fin dunprocessus) ;

    le registre de base (RB) pointe sur la partition et le registre limite (RL) en indiquela taille.

    Les processus gnrent des adresses logiques comprises entre 0 et RL-1 ;

    RB et RL sont utiliss par la CPU pour traduire ces adresses en adressesphysiques chaque accs mmoire.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 13 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Allocation par chanage des zones libres

    Zones libres

    Les zones libres sont places dans une liste chane.

    O placer les processus ?

    Il existe plusieurs stratgies de recherche :

    First-fit : premire zone libre suffisamment grande ;Best-fit : meilleur ajustement pour utiliser au mieux les zones libres :

    il faut parcourir toutes les zones ;il reste des petits rsidus inutilisables.

    Worst-fit : plus grand rsiducombat lmiettement.

    Algorithmes spcialiss.

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 14 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Algorithmes dordonnancement (1/3)

    First fit

    NoyauProc1

    Proc2

    + Proc3

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 15 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Algorithmes dordonnancement (1/3)

    First fit

    NoyauProc1

    Proc2

    + Proc3

    NoyauProc1

    Proc3

    Proc2

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 15 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Algorithmes dordonnancement (2/3)

    Best fit

    NoyauProc1

    Proc2

    + Proc3

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 16 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Algorithmes dordonnancement (2/3)

    Best fit

    NoyauProc1

    Proc2

    + Proc3

    NoyauProc1

    Proc2Proc3

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 16 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Algorithmes dordonnancement (3/3)

    Worst fit

    NoyauProc1

    Proc2

    + Proc3

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 17 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Algorithmes dordonnancement (3/3)

    Worst fit

    NoyauProc1

    Proc2

    + Proc3

    NoyauProc1

    Proc3

    Proc2

    Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 17 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Allocation par subdivision (buddy system)

    Taille des zones

    La taille des zones suit une rgle dfinie par une relation de rcurrence :

    binaire : (1, 2, 4, 8, ...) Si+1 = 2 Sifibonacci : (1, 2, 3, 5, 8, ...) Si+1 = Si + Si1

    Zones libres

    Il existe une liste de zones libres pour chaque taille.

    allouer un bloc de taille T si il existe un bloc de taille T alors

    renvoyer ce blocsinon

    allouer un bloc de 2 T librer la deuxime partie de ce blocrenvoyer la premire partie

    fin si

    La recherche dune zone libre est rapide et il est facile de reconstruire deszones la libration.Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 18 / 61

  • Le partage de la mmoire Allocation de la mmoire contigu

    Exemple dallocations/librations

Search related