Sunteți pe pagina 1din 31

Curs 7

Managementul memoriei
1 Concepte
2 Swapping
3 Memoria virtual
4 Algoritmi paginare

Managementul memoriei
Programatorii i doresc memorie:
De dimensiune mare
Rapid
Non volatil

Ierarhia memoriilor
Memorie de dimensiune mic, vitez mare i scump cache
Memorie de vitez medie i ponderat ca pre memoria principal
Memorie de dimensiune mare, vitez mic dar ieftin hard disk

Una din principalele funcii ale SO este de a administra


memoria (ierarhia acesteia), care presupune ncrcarea i
evacuarea blocurilor de date n/din memoria secundar.

Monoprogramare fr swapping sau paginare

Trei modaliti simple de organizare a memoriei pentru


un SO cu un singur proces aflat n execu ie.
3

Multiprogramare cu partiii fixe de


memorie

Partiii de memorie fix


Cozi de ateptare separate pentru fiecare partiie
O singur coad de ateptare pentru toate partiiile

Multiprogramare

Degree of multiprogramming

Utilizarea UCP este dependent de numrul de procese ncrcate


n memorie
5

Relocare i protecie
Relocare:
Adresele nu pot fi absolute. ntr-un sistem multiprogramat,
memoria principal este n general mprit de mai multe
procese. Odat ce un proces a fost evacuat pe disc, nu putem
cere ca atunci cnd acest proces este readus n memorie s fie
ncrcat n aceiai regiune. Trebuie s permitem ca un program
s fie relocat n memoria principal.

Protecie:
Prin relocare dinamic, un proces are un spaiu de adresare
propriu care nu l partajeaz cu alte procese (exist excep ii).
Soluia mapeaz spaiul de adresare a fiecrui proces ntr-o alt
zona fizic de memorie utiliznd base register i limit register.
Fiecare proces este astfel izolat i protejat de accesul nedorit al
altor procese.
6

Translatarea adreselor logice n


adrese fizice
Adresa relativ

Base register

Bloc de control a
proceselor
Adresa
absolut
Sumator

Program

Date

Limit register
Comparator

Stiva
ntrerupere ctre SO
Imaginea procesului n
memoria principal

Swapping (1)

Alocarea memoriei se schimb


Procesele acceseaz zona de memorie
Prsesc zona de memorie

Regiunile haurate reprezint zone de memorie


neutilizat
8

Swapping (2)

Alocarea de spaiu n memorie pentru un segment de date ce cre te


n dimensiune
Alocarea de spaiu n memorie pentru un segment de date i
segment de stiv care cresc n dimensiune
9

Managementul memoriei
cu bitmap (harta de bii)

Alocarea memoriei pentru 5 procese, trei zone libere


i harta de bii corespondent
Aceiai informaie dar sub form de list
10

Managementul memoriei
cu liste

Patru combinaii posibile pentru procesul X care i ncheie execu ia


11

Memoria virtual
Paginare (1)

Poziionarea i modalitatea de funcionare a MMU


12

Paginare (2)
Relaia dintre
adresele virtuale i
adresele fizice
din memorie
oferite de tabela de
pagini

13

Tabela de pagini (1)

Funcionarea MMU cu 16 pagini virtuale de dimensiune 4 KB

14

Tabela de pagini (3)

O nregistrare a tabelei de pagini


15

Memorii asociative (TLB)

16

Algoritmi de nlocuire a paginilor


Page fault foreaz luarea unei decizii
Care pagin s fie evacuat
Obinerea de spaiu n memorie pentru ncrcarea
unei alte pagini

Paginile modificate trebuie salvate nainte de


evacuarea pe disc
Paginile nemodificate pot fi rescrise

Nu este indicat s se selecteze pentru evacuare


pagini des referite
Deoarece vor trebui rencrcate n memorie ntr-un
timp scurt
17

Algoritmi optimi de nlocuire a


paginilor
nlocuirea unor pagini care nu vor fi utilizate n
viitorul apropiat
Un algoritm optimal dar irealizabil

Estimare dup
Istoricul paginilor accesate n cazul execuiei unui
anumit proces
Nu este un algoritm practic

18

Algorimul NRU - Not Recently Used


Fiecare pagin are biii de stare Reference bit
(R) i Modified bit (M)
Biii sunt setai cnd pagina este referit(read) sau
modificat (write)

Paginile sunt clasificate astfel:


Clasa 0 : nereferite, nemodificate
Clasa 1: nereferite, modificate
Clasa 2: referite, nemodificate
Clasa 3 : referite, modificate

NRU evacueaz pagini selectate aleator


Din clasa cu cel mai mic ordin care deine pagini

19

Algoritmul FIFO
Se bazeaz pe o list de pagini corelate ntre ele
n ordinea n care au intrat n memorie

Pagina aflat la nceputul listei va fi evacuat din


memorie
Dezavantajul este c
Pagina aflat n memorie o perioad mai lung de
timp poate fi de fapt cel mai des referit

20

Algoritmul second chance

Cum se ofer a doua ans


Paginile sunt sortate n ordine FIFO
Dac la momentul 20, se genereaz page fault iar pagina A are
bitul de stare R setat, pagina A va fi reaezat n list iar bitul R va
fi desetat.

21

Algoritmul clock

22

Algoritmul LRU- Least Recently Used


Se bazeaz pe prezumia c paginile utilizate recent
vor fi utilizate n viitorul apropiat
Evacueaz pagina care nu a fost utilizat un timp
ndelungat

Pstreaz o list corelat de pagini


Se actualizeaz aceast list la fiecare referire a zonei de
memorie
Exist un contor pentru fiecare pagin selectat
Se alege pagina cu cea mai mic valoare a contorului
Contor se seteaz pe 0 periodic
23

Algoritmul de nlocuire a paginilor din setul de lucru

Setul de lucru reprezint un set de pagini utilizate n cele


mai recente k referine la zona de memorie
w(k,t) este dimensiunea setului de lucru la momentul t
24

Algoritmul de nlocuire a paginilor din setul de lucru

25

Algoritmul WSClock

26

Recapitulare algoritmi de nlocuire a


paginilor

27

De tiut...
1. Caracterizai cazul n care utilizm tehnica
multiprogramare pe partiii fixate de memorie.

de

2. Cum se realizeaz translatarea adreselor logice n adrese


fizice?
3. Cum se realizeaz swapping-ul ?
4. Descriei cum se realizeaz managementul memoriei
utiliznd bitmap.
5. Descriei cum se realizeaz managementul memoriei
utiliznd liste.
6. Caracterizai memoria virtual.
7. Ce reprezint TLB.
8. Prezentai algoritmii de nlocuire a paginilor.
9. Care este diferena dintre o adres fizic i una virtual?
28

De tiut...
1.

Un sistem are suficient spaiu n memoria sa principal


pentru 4 programe. Aceste programe sunt inactive
jumtate din timp ateptnd operaii de I/O. Ct timp
UCP se irosete?

2.

S considerm un sistem de transfer al paginilor pe disc


n care memoria const din urmtoarele dimensiuni de
guri n ordinea memoriei: 10KB, 4KB, 20KB, 18KB,
7KB, (KB, 12 KB, i 15 KB. Care gaur este aleas n
cazul unor cereri succesive de segmente de (a) 12 KB,
(b) 10 KB, (c) 9 KB n cazul aplicrii algoritmului first
fit? Aceiai ntrebare pentru best fit, worst fit, i next fit.

3.

Folosind imaginea din slide-ul 13 precizai care este


adresa fizic corespunztoare urmtoarelor adrese
virtuale (a) 20 (b)4100 (c) 8300
29

De tiut...
1. Un computer deine patru cadre de pagin.
Timpul de ncrcare, timpul de acces, Bi ii
R i M sunt precizai n tabel.
Pagina

ncrcare

Acces

126

280

230

265

140

270

110

285

Care pagin va fi nlocuit prin utilizarea algoritmului NRU?


Care pagin va fi nlocuit prin utilizarea algoritmului FIFO?
Care pagin va fi nlocuit prin utilizarea algoritmului LRU?
Care pagin va fi nlocuit prin utilizarea algoritmului
second chance?
30

Bibliografie
A. Silberschatz, P. Galvin, Operating
System Concepts, John Wiley and Sons
Inc., 2005, pag 275-297.
A. Tanembaum, Modern Operating
Systems, Prentice Hall, 2007, pag 175-216.
Gh. Dodescu, Sisteme de operare, Ed.
Economic, 2003, pag 129-195.

31

S-ar putea să vă placă și