Professional Documents
Culture Documents
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