Gestion de Le Mémoire Partie 1

download Gestion de Le Mémoire Partie 1

of 9

Transcript of Gestion de Le Mémoire Partie 1

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    1/9

    Gestion de le mmoire

    Partie 1: La fonction de

    mmorisation

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    2/9

    Trois problmes rsoudre vis--vis de

    la mmoire :

    Dfinir un espace d'adressage indpendant

    pour chaque processus

    Protger les espaces d'adressages des

    processus entre eux

    Allouer de la mmoire physique chaque

    espace d'adressage

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    3/9

    Le chargement dynamique

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    4/9

    Le chargement dynamique

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    5/9

    Le dcoupage de la mmoire

    La mmoire centrale peut-tre dcoupe de troisfaons :

    la segmentation : les programmes sont dcoups en

    parcelles ayant des longueurs variables appeles

    segments.

    la pagination : elle consiste diviser la mmoire en

    blocs, et les programmes en pages de longueur fixe.

    une combinaison de segmentation et de pagination :

    certaines parties de la mmoires sont segmentes, les

    autres sont pagines.

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    6/9

    Organisation de la mmoire dun

    processus

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    7/9

    Organisation de la mmoire dun

    processus

    Le segment de code

    Le segment de code est obtenu en copiant directement enmmoire le segment de code du fichier excutable.

    Au cours de l'excution du programme, la prochaine instruction excuter est repre par un pointeur d'instruction.

    Le segment de donnes Au dessus du segment de code se trouve le segment de

    donnes.

    Ce segment est traditionnellement compos d'un segment dedonnes initialises (data), qui est directement copi partir de

    l'excutable, et d'un segment de donnes non initialises (bsspour block storage segment) qui est cr dynamiquement.

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    8/9

    Organisation de la mmoire dun

    processus

  • 7/21/2019 Gestion de Le Mmoire Partie 1

    9/9

    Organisation de la mmoire dun processus

    Les donnes initialises correspondent toutes les variables globales et statiques initialises des

    programmes C. Les donnes non initialises correspondent aux variables globales et statiques non initialises.

    Le segment de donnes est agrandi ou rduit au cours de l'excution pour permettre d'y placer

    des donnes.

    Nanmoins, il est habituel de considrer que ce segment est fixe et correspond celui obtenu

    avant l'excution de la

    premire instruction : le segment bss se rsume alors aux variables locales de la fonction main()

    La pile et le tas sont des zones variables.

    Les autres informations

    D'autres informations sont places dans l'espace mmoire du processus, comme les paramtres passs

    en ligne lors de l'excution du programme.

    Suivant les systmes d'exploitation, le systme peut aussi stocker diffrents renseignements, comme par

    exemple le mode dans lequel doit s'excuter le processus.

    Ces renseignements se trouvent dans une structure qui se nomme souvent Process Control Bloc (PCB).

    L'espace mmoire d'un processus est donc divis en deux morceaux variables situs chacun

    une extrmit de l'espace. Ces morceaux sont eux-mmes diviss en plusieurs segments,

    certains de taille fixe situs aux extrmits, d'autres de taille variable.

    Suivant les systmes d'exploitation, le tas et la pile peuvent se trouver l'un en haut et l'autre en

    bas, ou l'inverse.