You are on page 1of 73

6.

Upravljanje memorijom
Pripremio: Miodrag Nikoli
Literatura: orevi, B., Pleskonji, D., Maek, N.
(2005): "Operativni sistemi: teorija, praksa i reeni
zadaci", Mikro knjiga, Beograd, str.149.-176.
Slide 2 of 66 Operating System Concept: Memory Management
6. Upravljanje memorijom
6.1 UVODNE NAPOMENE, str.150

Razmena (Swap), str.155

Kontinualna alokacija (Contiguous Allocation)

Diskontinualna alokacija (Discontinuous Allocation)

Stranienje (Paging)

Segmentcija

Segmentacija sa stranienjem

Pregled
Slide 3 of 66 Operating System Concept: Memory Management
6.1 UVODNE NAPOMENE
Memorija je jedan od fundamentalnih delova OS

Glavne funkcije memorijskog menadera:

1. Vodi rauna o korienju memorije

2. Dodeljuje memoriju procesima kad je zatrae

3. Oslobaa memoriju od procesa kad zavre svoje aktivnosti

4. Vri razmenu izmeu memorije i diska
kada glavna memorija nije dovoljno velika
da sadri sve procese
Slide 4 of 66 Operating System Concept: Memory Management
6.1 UVODNE NAPOMENE
Program se mora uitati
u memoriju
unutar adresnog prostora novostvorenog procesa

Ulazni red (Input queue):
kolekcija procesa na disku
koja eka povratak u memoriju
i nastavak izvrenja

Korisniki program
prolazi preko vie faza
dok ne doe do izvravanja

Str. 151-Vezivanje adresa
Slide 5 of 66 Operating System Concept: Memory Management
Vezivanje adresa
1. Adrese u izvornom programu
su simbolike (relativne zavisno od programskog jezika)
(npr. X)
2. Prevodilac (Compiler)
vezuje ove simbolike adrese
za relokatibilne adrese
(npr. promenljiva count se vezuje na lokaciju na adresi 14 u odnosu na
poetak modula)

3. Punilac (Loader)
pretvara ove relokatibilne adrese
u apsolutne adrese (tj. fiksne)
(npr. 74014)

Vezivanje (Binding) = mapiranje (transformacija, tj. prevoenje) adrese
sa jezika jednog adresnog prostora u drugi

Korisniki program prolazi kroz vie faza dok ne doe do izvravanja
Adrese mogu biti predstavljene
na razliite naine za vreme ovih faza
Slide 6 of 66 Operating System Concept: Memory Management
Vezivanje adresa
Vezivanje
instrukcija i podataka sa memorijskim adresama odvija se u
sledeim fazama:

1. Vreme prevoenja (Compile time):
Kako nije poznato gde e proces, koji e izvravati generisani
kod, biti smeten u memoriji,
prevodilac generie relativne a ne apsolutne adrese

2. Vreme uitavanja u memoriju (Load time):
Poveziva (linker) i punilac (loader) na bazi relokatibilnog koda
generiu apsolutne adrese i pune memoriju programom

3. Vreme izvravanja (Execution time):
Za vreme izvravanja,
proces se moe pomerati
s jednog memorijskog segmenta na drugi.
Zahteva hardversku podrku za adresno mapiranje

Str.152
Slide 7 of 66 Operating System Concept: Memory Management
Viefazno procesiranje korisnikog programa
Slika 6.1 Faze koje prethode
izvravanju programa
Slide 8 of 66 Operating System Concept: Memory Management
Logiki i fiziki adresni prostor
Koncept logikog adresnog prostora
bazirano na razdvojenim fizikim adresni prostorima
ima centralnu ulogu u upravljanju memorijom.

Logika adresa:
generisana od strane CPU;
u fazi izvravanja naziva se i virtuelna adresa
Fizika adresa:
adresa same memorijske jedinice

Logike i fizike adrese su potpuno iste
u fazi prevoenja
u fazi uitavanja

Logike i fizike adrese
se razlikuju u fazi izvravanja
Str.152/153
Slide 9 of 66 Operating System Concept: Memory Management
Jedinica za upravljanje memorijom
(MMU-Memory Management Unit)
MMU (Memoy-Management Unit): Hardverski ureaj koji
mapira (preslikava)
virtuelni adresni prostor u fiziki

U najprostijoj MMU emi,
vrednost u relokacionom registru
se sabira sa logikom adresom koju generie program
i tako se dobija fizika adresa
Relokacioni registar definie adresu fizikog poetka
programa

Korisniki program
uvek poinje od nulte adrese;
i ne treba da vodi rauna o svom fizikom prostoru.

Str.153, slika 6.2
Slide 10 of 66 Operating System Concept: Memory Management
Mapiranje pomou relokacionog registra
Slide 11 of 66
Zatita memorije, str.154
Zatita operativnog sistema od
Korisnikih procesa i
Meusobna zatita korisnikih
procesa po pitanju pristupa memorijskim
sekcijama moe se realizovati pomou:
1. Relokacionog registra, koji sadri najniu
adresu procesa;
2. Registra ogranienja, koji sadri najvei
opseg logikog adresnog procesa,
Registara procesora koji se pune onda kada
proces dobija procesor na izvrenje.
Operating System Concept: Memory Management
Slide 12 of 66
Zatita memorije, str.154











Slika 6.3 Relokacioni registar i registar ogranienja
Operating System Concept: Memory Management
Slide 13 of 66 Operating System Concept: Memory Management
Razmena (Swapping) (str.155)
Proces se moe
privremeno prebaciti iz memorije na disk,
i onda
ponovo vratiti u memoriju da bi nastavio izvravanje

Vraanje u memoriju:
brzi disk, dovoljno veliki
da prihvati kopije za sve memorijske slike za sve korisnike;
potrebno je obezbediti direktni pristup za ove memorijske slike

swap out, swap in:
razmenjivanje se koristi u prioritetnim emama za rasporeivanje procesa;
procesi niskog prioriteta se upisuju na disk dok se
procesi visokog prioriteta uitavaju u memoriju i izvravaju

Najvei deo vremena u ciklusima razmene otpada na prenos podataka;
trajanje jedne razmene
zavisi od koliine podataka za prenos, karakteristika diskova i hardvera

Modifikovana verzija razmenjivanja postoji na svim OS, npr., UNIX,
Linux, i Windows
Slide 14 of 66 Operating System Concept: Memory Management
ematski prikaz razmene
Slide 15 of 66
6.2 PROGRAMERSKE TEHNIKE
UPRAVLJANJA MEKORIJOM
Operativni sistem obezbeuje odgovarajuu
podrku za rad sa radnom memorijom
Prilikom projektovanja programa koji zbog
veliine ne mogu da stanu celi u memoriju
programeri koriste odgovarajue tehnike kojima se
postie
prividno poveanje i
bolje iskorienje
memorijskog prostora

Str.156
Operating System Concept: Memory Management
Slide 16 of 66 Operating System Concept: Memory Management
Dinamiko uitavanje (Dynamic Loading)
Rutina se puni u memoriju samo kada je program
pozove

Bolja iskorienost memorijskog prostora;
nepotrebne rutine se ne uitavaju u memoriju

Korisno je kod:
velikih programa
jer se u memoriju smetaju
samo potrebni delovi programa.

Ne zahteva specijalnu podrku
od operativnog sistema
programer projektuje programe tako da koriste principe
dinamikog punjenja
Str.156
Slide 17 of 66 Operating System Concept: Memory Management
Dinamiko povezivanje (Dynamic Linking)
Linkovanje je odloeno za kasnije, u toku izvravanja

Malo pare koda za svaki poziv sistemske biblioteke,
stub,
pokazuje kako da se locira odgovarajua sistemska rutina

Stub
puni rutinu u memoriju
i
izvrava je

Operativni sistem obezbeuje
da istu sistemsku rutinu koja je u memoriji
mogu koristititi vie procesa.

Dinamiko povezivanje je naroito korisno za sistemske
biblioteke.
Str.156-157
Slide 18 of 66 Operating System Concept: Memory Management
Preklapanje (Overlays)
Koristi se kada je proces vei
od same fizike memorije koja mu je dodeljena
Overlay omoguava da se u memoriji uvaju
samo oni delovi programa
koji su potrebni u tom trenutku

Implementira je programer,
ne postoji specijalna podrka operativnog sistema
konkretnu strukturu overlay delova definie programer

Str.157
Slide 19 of 66 Operating System Concept: Memory Management
Tehnika preklapanja
Slide 20 of 66
Preklapanje (Overlays)
Usporava rad samog programa
Delovi programa se uitavaju u vie
iteracija
Moe biti korisna na sistemima sa
ogranienim resursima
Overlay drajveri su ukljueni u
neke programske jezike
Borland Paskal
Clipper
Operating System Concept: Memory Management
Slide 21 of 66 Operating System Concept: Memory Management
Preklapanje kod dvoprolaznog asemblera
Slide 22 of 66 Operating System Concept: Memory Management
Tipovi memorijiskih alokacija

Razlikujemo razliite tipove memorijske alokacije na osnovu:
Efektivnosti
Sloenosti
Hardvrske podrke

Kontinualna alokacija:
Single-programming
Bare
Resident Monitor
Multiprogramming
MFT
MVT

Diskontinualna alokacija:
Paging
Segmentation
Slide 23 of 66 Operating System Concept: Memory Management
Kontinualna alokacija za jedan proces

Bare machine



Dve particije: Resident Monitor + User area
Rezidentni deo operativnog sistema
se obino uva u nioj memoriji
sa tabelom prekidnih rutina
Korisniki procesi se dre u vioj memoriji



User
Resident
Monitor
User
Resident
Monitor
User
BIOS
Slide 24 of 66 Operating System Concept: Memory Management
Kontinualna alokacija
6.3 Kontinualno dodeljivanje memorije

Multiprogramming:
vie korisnikih programa se uvaju u memoriju,
istovremeno
bez meanja

Alokacija uz pomo particija

relokacioni registar
se koristi da zatiti
korisnike procese izmeu sebe,
i
operativnog sistema od korisnikih procesa.
relokacioni registar
sadri najniu adresu procesa;
limit registar
sadri maksimalan opseg logikih adresa procesa
svaka logika adresa treba biti manja od limit registra.
Slide 25 of 66 Operating System Concept: Memory Management
Hardverska podrka za relokacione i limit registre

Slide 26 of 66 Operating System Concept: Memory Management
Kontinualna alokacija (MFT)
MFT = Multiprogramming with Fixed Partitions
(fiksni broj zadataka)
Idealna za multiprogramiranje sistema sa grupnom obradom

Memorija se deli na N particija fiksne veliine
{multiply input Q, single input Q}

Novi proces
se smeta u najmanju moguu particiju
uvek postoji neiskorienost memorije (interna
fragmentacija)
Slide 27 of 66 Operating System Concept: Memory Management
Kontinualna alokacija (MFT)
Viestruki redovi (Multiple Queues)
mali neiskorien prostor
procesi mogu ekati, dok su velike particije neiskoritene
Jedinstveni red (Single Queue)
bolja iskorienost particija
veliki neiskorien prostor (mali procesi u velikim
particijama)
OS
2K
4K
12K
1K,2K,1K
3K,4K,4K
5K,11K,12K
OS
2K
4K
12K
1K, 5K,12K,3K
Slide 28 of 66 Operating System Concept: Memory Management
Kontinualna alokacija (MFT)
U sistemima sa deljenjem vremena (time-sharing)
vie korisnika
vie procesa
zahtevaju vie od raspoloive memorije (swapping)

U sistemima sa deljenjem vremena dolazni procesi su:
previe mali ili previe veliki
menjaju se u vremenu (promenljive veliine)
procesi mogu da rastu u vremenu (podaci i stek)

Obe osobine su nepovoljna za MFT=>
mnogo neiskorienog prostora u particijama => novi MVT

MFT je neupotrebljiv;
=> novi MVT

Slide 29 of 66 Operating System Concept: Memory Management
Kontinualna alokacija (MVT)
Multiprogramiranje sa particijama
promenljive veliine (Multiple-partition
allocation)
Slide 30 of 66 Operating System Concept: Memory Management
Kontinualna alokacija (MVT)
Multiple-partition allocation
upljina (hole): slobodni kontinualni deo memorije
upljine raznih veliina su razbacane po memoriji

Kad proces naie,
trai se upljina dovoljno velika
da preuzme proces

Operativni sistem vodi evidenciju o:
a) alociranim particijama b) slobodnim particijama (upljine)
OS
process 5
process 8
process 2
OS
process 5
process 2
OS
process 5
process 2
OS
process 5
process 9
process 2
process 9
process 10
Slide 31 of 66 Operating System Concept: Memory Management
Upravljanje memorijom (slobodna lista)
Bit mape (Bit Maps) (str. 159)
Alocirani delovi memorije + bit mapa (0=free, 1=allocated)
Ako je alocirani deo manji => bit mapa je vea

Povezane liste (Linked Lists) (str.160)
Povezana lista slogova = Proces (upljina) { start, duina}



Zasebne liste za upljine sa istim veliinama => tabela sa N ulaza:
traenje upljine je brzo, ali je spajanje upljina veoma teko

Sistem udruenih parova (Buddy Systems) (str.160)
MM koristi listu slobodnih blokova veliine 1,2, 4, 8, 16, 32 .
(za 1MB = 21 liste)
Cilj=2
k
, svi procesi trebaju imati veliinu priblino 2
k
brzo pretraivanje i spajanje upljina
ali je dominantna neiskorienost prostora
P | 0 | 5
H | 5 | 3
P | 8 | 6
H | 14 | 4
Slide 32 of 66 Operating System Concept: Memory Management
Sistem udruenih parova (Buddy Systems)

Slide 33 of 66 Operating System Concept: Memory Management
Algoritmi za izbor prazne particije
(str.161)
1. Prvo podudaranje (First-fit):
Procesu se alocira prva upljina koja je dovoljno velika

2. Najbolje podudaranje (Best-fit):
Alocira se najmanja upljina koja je dovoljno velika za proces;
pretrauju se cela lista, osim ako nije sreene po veliini
u ostatku ostavlja najmanju moguu upljinu
=> ideja za worst fit

3. Najgore podudaranje (Worst-fit):
Procesu se dodeljuje najvea mogua upljina;
opet se pretrauje cela lista
u ostatku ostavlja najveu moguu upljinu
Postoji vie algoritama za dodeljivanje slobodnih upljina
First-fit i best-fit su bolji i po performansama i po
iskorienju memorije od worst-fit.
Slide 34 of 66 Operating System Concept: Memory Management
Fragmentacija
Eksterna fragmentacija ukupan memorijski prostor
moe da zadovolji zahtev procesa ali nije kontinualan

Interna fragmentacija alocirana memorija moe biti
vea od zahtevane memorije procesa, ono to je
preostalo od alocirane memorije se ne koristi.

Eksterna fragmentacija se moe smanjiti saimanjem
Cilj saimanja je da se ispremeta sadraj memorije kako bi
se dobile vee upljine
Saimanje je mogue samo ako je relokacija programa
dinamika i radi se u vreme izvravanja
I/O problem
opadaju performanse sistema, jer se procesi prekidaju,
i privremeno prebacuju na disk
Slide 35 of 66 Operating System Concept: Memory Management
Diskontinualna alokacija
Stranienje (Paging)

Segmentacija (Segmentation)

Kombinacija:
Stranienje sa segmentacijom
Segmentacija sa stranienjem

Slide 36 of 66 Operating System Concept: Memory Management
Stranienje (Paging)
Metoda sa hardverskom podrkom na nivou procesora
Logiki adresni prostor procesa mora biti kontinualan;
ali
fiziki adresni prostor procesa ne mora biti kontinualan;
fizika memorija je dodeljena procesu kad god je raspoloiva

Fizika memorija se podeli na blokove fiksne veliine koji se
nazivaju okviri (frames)
(veliina je stepen broja 2, izmeu 512 B i 8192 B)

Logiki adresni prostor se podeli na blokove iste veliine koje se
nazivaju stranice (pages)

Za pokretanje programa veliine n stranica:
potrebno je pronai n slobodnih okvira
uitati program


Tabela stranica (page table) prevodi logike u fizike adrese

Interna fragmentacija
Slide 37 of 66 Operating System Concept: Memory Management
Stranienje (2)
Adresa koju generie CPU podeljena je na:

Broj stranice (Page number) (p):
koristi se kao indeks u tabeli stranica
koja sadri
baznu adresu fizike stranice, okvira

Pomeraj unutar stranice (Page offset) (d):
u kombinaciji sa baznom adresom
definie
punu fiziku adresu
koja se alje memorijskoj jedinici
Slide 38 of 66 Operating System Concept: Memory Management
Metoda stranienja
Slide 39 of 66 Operating System Concept: Memory Management
Primer stranienja
Slide 40 of 66 Operating System Concept: Memory Management
Primer stranienja
Slide 41 of 66 Operating System Concept: Memory Management
Slobodni okviri (Free Frames)
Before allocation After allocation
Slide 42 of 66 Operating System Concept: Memory Management
Implementacija tabele stranica
Tabela stranica se uva u glavnoj memoriji

Page-table base register (PTBR)
pokazuje na tabelu stranica

Page-table length register (PRLR)
ukazuje na veliinu tabele stranica

U ovakvoj emi
svaka korisnika memorijska referenca
se odvija preko dve memorijske reference
jedna za tabelu stranica i druga za pristup eljenoj referenci

Problem dvostrukog pristupanja memoriji se reava
korienjem specijalne ke strukture
koja se naziva
translation look-aside buffers (TLB)
Slide 43 of 66 Operating System Concept: Memory Management
Asocijativna memorija
Asocijativna memorija paralelno pretraivanje





Prevoenje adresa (A, A)
Ako je A u asocijativnom registru, (hit)
uzmi okvir # (tj A)

Ako nije (miss)
uzmi okvir #
iz tabele stranica u memoriji

Page # Frame #
Slide 44 of 66 Operating System Concept: Memory Management
Hardversko stranienje sa TLB-om
Slide 45 of 66 Operating System Concept: Memory Management
Efektivno vreme pristupa
Asocijativno pretraivanje = vremenskih jedinica

Pretpostavimo da je vreme trajanja jednog memorijskog
ciklusa MC mikrosekundi

Hit ratio:
procenat vremena
vreme koje je potrebno da se pronae broj stranice u
asocijativnim registrima;
povezan sa brojem asocijativnih registara.

Hit ratio =

Effective Access Time (EAT)= T
hit
+ (1- )T
miss

EAT = (MC + ) + (1 )(2MC + )
= 2MC + MC

Slide 46 of 66 Operating System Concept: Memory Management
Zatita memorije
Zatita memorije postie se
uvoenjem bitova
sa specijalnim znaenjem
uz svaki okvir

Valid-invalid bit se uvaju u tabeli stranica:

valid ukazuje da je stranica
u logikom adresnom prostoru procesa,
pa je tako to vaea stranica

invalid ukazuje da stranica
nije u logikom adresnom prostoru procesa
Slide 47 of 66 Operating System Concept: Memory Management
Valid (v) or Invalid (i) Bit In A Page Table
Slide 48 of 66 Operating System Concept: Memory Management
Struktura tabele stranica
Hijerarhijsko stranienje (Hierarchical Paging)

He bazirane tabele stranica (Hashed Page Tables)

Invertovane tabele stranica (Inverted Page Tables)
Slide 49 of 66 Operating System Concept: Memory Management
Hijerarhijsko stranienje
Podeliti logiki adresni prostor
u
vie tabela stranica

Jednostavna tehnika
je stranienje u dva nivoa
(two-level page table)
Slide 50 of 66 Operating System Concept: Memory Management
Stranienje u dva nivoa
Logika adresa (na 32-bitoj maini sa veliinom stranice 4K) je podeljena
na:
broj stranice koji se sastoji od 20 bitova
ofset stranice koji se sastoji od 12 bitova
Kada se primeni tabela stranica, broj stranice se dalje deli na:
10-bita za broj stranice
10-bita za offset stranice
Iz toga sledi, logika adresa:








gde je:
p
1
indeks u spoljnoj tabeli stranica
p
2
je pozicija u selektovanoj untranjoj stranici
page number page offset
p
1
p
2

d
10
10 12
Slide 51 of 66 Operating System Concept: Memory Management
Prikaz stranienja u dva nivoa
Slide 52 of 66 Operating System Concept: Memory Management
ema prevoenja adresa
ema prevoenja adresa za
stranienje u dva nivoa na 32-bitoj arhitekturi
Slide 53 of 66 Operating System Concept: Memory Management
He bazirane tabele stranica
Koristi se kod adresnih prostora koji su > 32 bita

Virtuelni broj stranice se dobija iz heirane tabele stranica
Ova tabela stranica sadri:
povezanu listu elemenata
koji imaju istu vrednost he funkcije.

Virtuelni brojevi stranica se uporeuju
u ovom nizu
i trai se odgovarajui broj
Kada se pronae odgovarajui virtuelni broj,
dobijamo vrednost fizike stranice
Slide 54 of 66 Operating System Concept: Memory Management
He bazirane tabele stranica
Slide 55 of 66 Operating System Concept: Memory Management
Invertovane tabele stranica
Jedan ulaz za svaki okvir ili fiziku stranicu memorije

Ulaz se sastoji od:
virtuelne adrese stranice
koja je pridruena ovoj memorijskoj lokaciji,
sa informacijom o procesu koji je dobio tu stranicu PID

Smanjuje se memorija potrebna da uskladiti svaku tabelu
stranica,
ali se
poveava vreme potrebno za pretraivanje tabele
jer se pretrauje cela tabela.

Zbog toga se kotisti he tabela da ogranii pretraivanje
Slide 56 of 66 Operating System Concept: Memory Management
Invertovane tabele stranica
Slide 57 of 66 Operating System Concept: Memory Management
Deljive stranice (Shared Pages)
Deljivi kod
Jedna kopija read-only (reentrant) koda
deli se izmeu procesa (npr., tekst editori, kompajleri, grafiki
sistemi)
deljivi kod treba biti na istoj fizikoj lokaciji
u logikom adresnom prostoru svih procesa

Privatni kod i podaci
svaki proces uva odvojenu kopiju koda i podataka
stranice za privatni kod i podaci mogu biti bilo gde
u logikom adresnom prostoru.
Slide 58 of 66 Operating System Concept: Memory Management
Deljive stranice
Slide 59 of 66 Operating System Concept: Memory Management
Segmentacija
ema za upravljanje memorijom
koja podrava
korisniki pogled na memoriju

Program je kolekcija segmenata

Segment je logika jedinica kao to je:
glavni program
procedura
funkcija
metod
objekat
localne promenljive, globalne promenljive,
blok
stek
tabela simbola, nizovi
Slide 60 of 66 Operating System Concept: Memory Management
Logiki izgled programa
Slide 61 of 66 Operating System Concept: Memory Management
Logiki izgled segmentacije
1
3
2
4
1
4
2
3
user space physical memory space
Slide 62 of 66 Operating System Concept: Memory Management
Arhitektura segmentacije
Logika adresa se sastoji od dva dela:
<segment-number, offset>

Tabela segmenata mapiranje dvodimenzionalnih fizikih adresa;
Svaki ulaz u tabeli sadri:
bazna adresa segmenta:
defnie poetnu fiziku adresu segmenta u memoriji
ogranienje segmenata:
definie duinu segmenta

Segment-table base register (STBR)
pokazuje na lokaciju u memoriji gde je smetena tabela segmenata

Segment-table length register (STLR)
predstavlja broj segmenata koje koristi program;
broj segmenata je ispravan ako je s < STLR.
Slide 63 of 66 Operating System Concept: Memory Management
Arhitektura segmentacije (2)
Relokacija:
dinamiko, preko tabele segmenata

Deljenje:
deljivi segmenti
isti broj segmenata

Alokacija:
first fit/best fit
eksterna fragmentacija
Slide 64 of 66 Operating System Concept: Memory Management
Arhitektura segmentacije (3)
Zatita.
Za svaki ulaz u tabelu segmenata asocira se:
validation bit = 0 nepravilan segment
read/write/execute privilegije

Zatita je povezana sa segmentima;
deljenje koda se odvija u nivoima segmenata.

Poto segmenti variraju u vremenu,
alokacija memorije ima problem dinamike alokacije.

Primer segmentacije prikazan je u sledeem dijagramu
Slide 65 of 66 Operating System Concept: Memory Management
Hardverska segmentacija
Slide 66 of 66 Operating System Concept: Memory Management
Primer segmentacije
Slide 67 of 66 Operating System Concept: Memory Management
Deljivi segmenti
Slide 68 of 66 Operating System Concept: Memory Management
Segmentacija sa stranienjem MULTICS
MULTICS sistem reava probleme
eksterne fragmentacije i
velikog vremena za pretraivanje
uz pomo stranienja segmenata

Ovo reenje se razlikuje od iste segmentacije
u tome to se na ulazu u tabelu segmenata
ne nalazi bazna adresa segmenta,
ali
se nalazi bazna adresa tabele stranica za taj segment.
Slide 69 of 66 Operating System Concept: Memory Management
Prevoenje adresa - MULTICS
Slide 70 of 66 Operating System Concept: Memory Management
Segmentacija sa stranienjem Intel 386
Kao to je prikazano na sledeem diagramu,
Intel 386
koristi
segmentaciju sa stranienjem
sa emom za stranienje u dva nivoa
Slide 71 of 66 Operating System Concept: Memory Management
Prevoenje adresa - Intel 30386
Slide 72 of 66 Operating System Concept: Memory Management
Zakljuak
MM eme
{Bare, Resident Monitor,MFT,MVT, Stranienje, Segmentacija}

Hardverska podrka
RM, MFT=MVT registar ili par ogranienih registara
P&S zahteva tabele mapiranja

Performanse
Prostije eme su bre
P&S potreban je hardverski akcelerator, registri, CPU-TLB

Fragmentacija
MFT i stranienje pate od interne fragmentacije (fiksna veliina
prostora)
MVT i segmentacija pate od eksterne fragmentacije
Slide 73 of 66 Operating System Concept: Memory Management
Zakljuak

Pomeranje
Logika adresa se moe pomerati dinamino,
za vreme izvravanja.
To je potrebno za kompakciju memorije

Swapping
Svaki algoritam moe imati ugraen swapping

Deljenje
deljenje obino zahteva da bude koriemo ili stranienje ili segmentacija,
da obezbedi male pakete informacija (stranice ili segmente)
koji mogu biti deljeni.

Zatita
valid/invalid bit
read only, execute only, r/w

You might also like