Anda di halaman 1dari 16

Gestion de la mmoire centrale

novembre 07

Notion de multiprogrammation (1)

Un seul processus en mmoire, en attente de ressource


le processeur ne fait rien

Plusieurs processus en mmoire, partage du processeur


ci-dessous, le processeur travaille 100% situation idale, en fait pas tout fait aussi bien

Processus P1

UC E/S UC E/S

Processus P2

novembre 07

Notion de multiprogrammation (2)

Activit processeur: 400 ms sur 520 ms, soit 77%

520 ms UC E/S

170 ms 50 50 50 170 ms 50 50 50 50 50

UC E/S UC

les deux processus sont en attente

novembre 07

Problmes rsoudre

Dfinition d'un espace propre chaque processus


indpendance des processus du point de vue dsignation des objets

Protection des processus entre eux


indpendance du point de vue des actions

traduction

Attribution d'un espace de mmoire physique chacun


indpendance du point de vue de la localisation

=> Mcanisme de structuration de l'espace mmoire des processus => Mcanisme de mmoire virtuelle : diffrentiation de la mmoire vue par le systme ou l'utilisateur de la mmoire physique.

novembre 07

Le partitionnement (1)

Mmoire centrale
emplacements 0..N-1, dcoupe en espaces disjoints => partition

0 A

Espace propre = [A..B]


[A..B] [C..D] = , i.e. B < C D < A

Protection
adresses autorises dans [A..B]

B C D N-1

Espace mmoire physique = [A..B]

novembre 07

Le partitionnement (2)

p artition 4 p artition 3

1000 k 850 k

p artition 4 p artition 3

600 k p artition 2 p artition 1 systme 0 files multip les file unique partition fixe l'dition de liens choix de partition au chargement => 3 est vide => translation inconvnient: mauvaise utilisation car les processus obtiennent plus que ncessaire
novembre 07 6

p artition 2 350 k 250 k p artition 1 systme

Notion de mmoire segmente

L'Utilisateur voit la mmoire comme un espace logique ! (une pile, un tas, un espace d'instructions...) Segmentation
La mmoire physique (ou virtuelle si pagination) est dcompose en une suite de segments Un segment est un espace de mmoire linaire fini. Espace mmoire processus dcompos en segments Segmentation est un moyen de structurer espace mmoire du processus

Faciliter la gestion par les processus de leur espace propre


espace deux dimensions pris en compte par le matriel sur Multics, iAPX286, iAPX386 simul par diteur de liens et le chargeur

Adresse segmente: < s, d >


d = dplacement s = numro de segment

taille

segments
novembre 07 7

Adressage segment INTEL

adresse segmente s d registre d'adresse tab le des segments LT adresse tab le

<

oui

+ < oui + taille adr. db ut

taille

mmoire linaire tab le des descrip teurs de segments dans un registre processeur propre au processus lorsque le processus dispose du processeur
novembre 07 8

Mcanisme de pagination

Lever la contrainte de contigut de l'espace de mmoire physique allou un processus : distinguer espace mmoire utilis par systme de espace mmoire physique.

mmoire linaire = mmoire virtuelle dcoupage page mme taille

mmoire physique dcoupage case

mcanisme de pagination

remarques: support matriel obligatoire, car traduction chaque accs allocation peut tre dynamique toutes les pages n'ont pas forcment une case alloue
novembre 07 9

Pagination un niveau

processeur adresse virtuelle n_p age dp lacement mmoire associative registre de la tab le des p ages adresse tab le n_p age n_case

1 0 1 p rotect. n_case p rsence modifie accde


novembre 07

n_case dp lac. adresse p hysique mmoire centrale


10

tab le des p ages

Pagination deux niveaux

adresse virtuelle n_hyp n_page dplacement mmoire associative rg. table nhyp npag ncase

1 0 1 pr. ncase prsence modifie accde table des hyperpages


novembre 07

1 0 1 pr. ncase

ncase dpl. adresse physique

table des pages de l'hyperpage


11

Segmentation et pagination (1)

identit espace propre du processus segmentation

identit espace mmoire physique

mmoire linaire

pagination 2 dimensions allocation par page en mmoire physique allocation par zone en mmoire linaire pas de contigut dplacement pour viter les trous trous sans perte pages libres => pas de cases allous dplacement => changement de table des pages partage de donnes entre processus => portions de mmoire physique communes pages associes une mme case partage de la table des pages d'une hyperpage sans pagination, mme zone de mmoire alloue deux segments
novembre 07 12

Segmentation et pagination (2)

table des descripteurs de segments table des pages mmoire linaire


novembre 07

mmoire physique
13

Conclusion (1)

Multiprogrammation => rcuprer les temps d'attente d'un processus pour les autres 3 problmes:
espace adresse de chacun protection des processus entre eux allocation de mmoire physique chacun

Partitionnement
dcoupage statique de la mmoire physique mauvaise utilisation

novembre 07

14

Conclusion (2)

Segmentation
espace deux dimensions pour chaque processus structuration de l'espace d'un processus

Pagination
plaquer la mmoire virtuelle sur la mmoire physique dcoupage en pages et cases de mme taille les pages peuvent tre mises dans n'importe quelle case pagination 1 niveau => taille de la table des pages pagination 2 niveaux
table des hyperpages tables des pages des hyperpages

Utilisation conjointe de la segmentation et de la pagination

novembre 07

15

Conclusion (3)

Pagination la demande
n'allouer une case que si le processus a besoin de la page algorithmes de remplacements logiciels ou avec aide du matriel

Espace de travail
pages ncessaires au processus un instant donn dterminer le nombre de cases correspondant s'il en a plus => mauvaise utilisation de la mmoire s'il en a moins => ralentissement et risque d'croulement du systme

novembre 07

16