07 - os-upravljanje memorijom
TRANSCRIPT
-
7/26/2019 07 - OS-Upravljanje Memorijom
1/32
OPERATIVNI SISTEMI
UPRAVLJANJE MEMORIJOM
Visoka poslovno-tehnika kola Uie
-
7/26/2019 07 - OS-Upravljanje Memorijom
2/32
!LAVNI "ELOVI RA#UNA!LAVNI "ELOVI RA#UNARRAA
MEMORIJA
$PUCentalna
procesorska
jedinica za obradu
U % I
ulazno-izlazniureaji
&%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
3/32
(ELIJA) RE!ISTAR - po*se+an,e
Objekat sa dva diskretna stanja nazivamo elijom.
Vie elija organizovanih u fiziku celinu da
registruju re !broj" binarne azbuke ine registar.
#adr$aj registra mo$e biti podatak ili naredba
!instrukcija".
'%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
4/32
Upavl,an,e .e.oi,o.Upavl,an,e .e.oi,o.
%ao to procesi dele centralni
procesor !C&'"( tako dele ioperativnu memoriju.
'pravljanje memorijom
obino zahteva hardversku
podrku. )emorija se sastoji od niza
memorijskih rei i svaka re
ima jedinstvenu adresu
*elokatibilan - program semo$e izvravati bilo gde u
operativnoj memoriji.
...
0000
0102
0200
00030104
0300
...
...
...
...
...
...
...
00A000A100A200A3
00A400A500A600A700A800A
900AA00AB00AC00AD
A D
00FF
/%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
5/32
+indo,s & arhitektura - podseanje
/O
Manager
Security
Reference
Monitor
PC
Manager
Virtual
Memory
Manager
Process
Manager
Plug and
Play
Manager
Power
Manager
Window
Manager
and GD
Computer ardware
!"ecuti#e Ser#ices
$ser Mode
%ernel Mode
ardware &'straction (ayer )&(*
Grap+ics
De#ice
Dri#ers
O',ect Manager
De#ice Dri#ers Micro-ernel
.ile
Systems
Win 01'it
&pp
Win 01'it
&pp
Win 01'it
&pp
Win 01'it
&pp
Win0
Su'sytem
)Win0 &P *
0%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
6/32
Upavl,an,e .e.oi,o.Upavl,an,e .e.oi,o.
izika memorija raunara/linearno ureen niz elija samogunou direktnog pristupa(direct access)
0irektan pristup/ svakamemorijska re ima svojuadresu(address)pomou kojejoj se mo$e pristupiti
*1) !Random AccessMemory"/ memorija samogunou itanja i upisa2
gubi sadr$aj gubitkomnapajanja
*O) !Read Only Memory"/memorija samo sa mogunouitanja2 obino uva sadr$aj po
gubitku napajanja
...
0000
0102
0200
00030104
0300
...
...
...
...
...
...
...
00A000A100A200A
300A400A500A600A700A800A900AA00AB00AC00AD
A D
00A2
0102
00FF
1%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
7/32
!LAVNI "ELOVI RA#UNA!LAVNI "ELOVI RA#UNARRAA
MEMORIJA
$PUCentalna
procesorska
jedinica za obradu
U % I
ulazno-izlazniureaji
2%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
8/32
3i,eahi,a .e.oi,e3i,eahi,a .e.oi,e
455 65)0 65)5550 6
4 inst7ki,ai nekolikopo*ataka
%apacitet3rzina( cena
RAM
3""
8%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
9/32
3i,eahi,a .e.oi,e3i,eahi,a .e.oi,e 4a magnetnom disku su 5rhivirani( smeteni svi
programi !677 8" Od ukupne veliine programa oko 7(98 se nalazi u *1)
!operativna( glavna memorija" i podaci koji se trenutno
koriste ili su bili skoro korieni.
Oko 7(77798 programa !trenutno se koriste" je u kememoriji.
:edna instrukcija i nekoliko podataka se nalazi u
registrima.
4a svakom memorijskom nivou postoji kompromisizmeu brzine i cene.
9%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
10/32
3i,eahi,a .e.oi,e3i,eahi,a .e.oi,e )o$e biti do etiri kopije nekih delova programskog
koda ili podataka !disk( operativna memorija - *1)(ke memorija( registri C&'".
#ve kopije moraju da ostanu konzistentne
!neprotivurene".
' optem sluaju svaki put kada se program uita uglavnu memoriju ; *1)( on e biti na razliitim
memorijskim lokacijama.
45%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
11/32
Upavl,an,e .e.oi,o.
:ato ,e pote;no< &otrebno je organizovati programe i podatke unutar
memorije.
4eki programi mogu biti suvie veliki da bi stali unutar
fizike memorije - *1).
)o$e biti zahtevano da se vie programa izvrava u
isto vreme.
#vakom programu je potreban poseban i kontinualan
adresni prostor....
0000
0102
0200
0003
0104
00A000A100A200A300A
400A544%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
12/32
Upavl,an,e .e.oi,o.
%od upravljanja memorijomrazlikujemo etii osnovne
=7nki,e/ voenje evidencije o memoriji !slobodna - zauzeta
memorija"(
strategija dodeljivanja memorije !kome( koliko( kada(
gde"( tehnika( odnosno mehanizam dodeljivanja memorije
!alokacija memorije"(
tehnika( odnosno mehanizam oslobaanje( odnosno
dealokacija memorije !
-
7/26/2019 07 - OS-Upravljanje Memorijom
13/32
Naini 7pavl,an,a .e.oi,o.
$pra#l,an,e
memori,om
Dodela
memori,e%ontinualna Dis-ontinualna
Dinami2-o
Stati2-o Partici,e
Stranice3
Segmenti
Partici,e
Stranice3
Segmenti3Stranice i
segmenti
4'%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
14/32
Upavl,an,e .e.oi,o.Upavl,an,e .e.oi,o.
Vezivanje adresa
0eljenje memorije
Organizacija i alokacija memorije
Virtuelna memorija
4/%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
15/32
Po;le. ve>ivan,a a*esa
>zvorni program !napisan u nekom programskom jeziku"podeljen na fajlove.
&itanja/; %ako preslikati obraanje promenljivoj aili funkciji =u
mainski
-
7/26/2019 07 - OS-Upravljanje Memorijom
16/32
Opeativni siste. i Ve>ivan,e
&ostoji jaka zavisnost izmeu programa za prevoenje
!compiler-a"( programa za povezivanje !linker-a" iprograma za uitavanje - punjenje !loader-a" kao
delova sistemskog softvera sa jedne strane i
operativnog sistema( odnosno njegovog dela za
upravljanje memorijom( sa druge strane. 4ajvei uticaj na operativni sistem ima peslikavan,e
adresnog prostora programa u fiziki memorijski
prostor !*1)".
...0000
0102
0200
0003
0104
00A000A100A200A300A4
00A541%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
17/32
A**ess @in*in
1ddresses in source
programs are s@mbolic Compiler binds s@mbolic to
relocatable addresses Ainkage editorBloader binds
relocatable addresses toabsolute addresses
3inding can be done at an@step/
i.e.( compiler ma@ generate
absolute code !as for)#-0O# .CO) programs"
Source
program
Compiler or
assem'ler
O',ect
module
ot+er
o',ect
modules
(in-age
editor
(oad
module
loader
System
li'raries
In1memory
'inary
memory
image
dynamically
loaded
system
li'raries
load
time
Compile
time
e"ecution
time
)run time*izvor/ C0 - )icrosoft tehnologije u
nastavi i infrastrukturi fakulteta u#rbiji( #inergija 66( 3eograd( 76642%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
18/32
Peslikavan,a 7Peslikavan,a 7si.;oliko. i =i>iko.si.;oliko. i =i>iko.posto7posto7
Peslikavan,e i.ena !promenljivih" se odnosi napreslikavanje simbolikih adresa !imena( npr. a" kojeprogramer dodeljuje promenljivima u pojedinim
naredbama u programu u programsku( relativnu adresu.
Peslikavan,e a*esa se odnosi na preslikavanjeprogramskih( relativnih adresa u stvarne( fizike
memorijske adrese
Peslikavan,a sa*a,a se odnosi na preslikavanjesadr$aja memorijskih adresa u vrednosti !podatke" koje
one sadr$e. ...0000
0102
0200
0003
0104
00A000A100A200A300A
400A48%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
19/32
Ve>ivan,eVe>ivan,e
Sa. in ili *oa?a, peslikavan,a se na>iva ve>ivan,e
!binding" ; vri se vezivanje instrukcija i podataka sa fizikomadresom u memoriji.
Da izvravanje programa potrebna je fizika memorija
!stvarna memorija - *1)". izika memorija je odreena
preslikavanjem adresnog prostora programa u fizike
memorijske adrese.
4a primer( kada se izvri preslikavanje simbolikog imena u
programsku adresu( ka$emo da je posmatrana simbolika
adresa vezana za odreenu programsku adresu !da jojjednoznano odgovara ta programska adresa". %ada se
programska adresa preslika u fiziku memorijsku adresu
ka$emo da je ona vezana za tu memorijsku !fiziku" adresu.
49%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
20/32
Ve.e vVe.e ve>ivan,e>ivan,aaBC;in*inBC;in*inti.eti.eD -D -
Ve.enski ten7tak ka*a se o*iava ve>ivan,e
na>iva se ve.e ve>ivan,a !binding time" Vreme vezivanja se odigrava u vreme/
; prevoenja !compiler"(
; uitavanja programa u memoriju !poveziva ; linker i
punilac - loader" ili
; izvravanja programa !eEecution"
&5%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
21/32
A**ess @in*in
1ddresses in source
programs are s@mbolic Compiler binds s@mbolic to
relocatable addresses Ainkage editorBloader binds
relocatable addresses toabsolute addresses
3inding can be done at an@step/
i.e.( compiler ma@ generate
absolute code !as for)#-0O# .CO) programs"
Source
program
Compiler or
assem'ler
O',ect
module
ot+er
o',ect
modules
(in-age
editor
(oad
module
loader
System
li'raries
In1memory
'inary
memory
image
dynamically
loaded
system
li'raries
load
time
Compile
time
e"ecution
time
)run time*izvor/ C0 - )icrosoft tehnologije u
nastavi i infrastrukturi fakulteta u#rbiji( #inergija 66( 3eograd( 766&4%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
22/32
Ve.e vVe.e ve>ivan,e - nastavake>ivan,e - nastavak
Ve.e pevo?en,a - ako je adresa fizike memorijepoznata unapred( mo$e se generisati fizika adresa. Fo
znai da ako se poetna adresa izvravanja programa
promeni( program se mora ponovo prevesti.
Ve.e 7itavan,a Bp7n,en,a - ako fizika adresa nije
poznata u vreme prevoenja( tada prevodilac ili asemblermoraju da generiu relokatibilnu adresu. &rogram za
punjenje !punilac ; loader" transformie relokatibilnu
adresu na osnovu poetne adrese punjenja.
Ve.e i>vavan,a - vezivanje adresa se odla$e dovremena izvravanja. Fo omoguava da se programskikod premeta iz jednog dela memorije u neki drugi deo za
vreme izvravanja. Ovaj nain zahteva hardversku
podrku.
&&%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
23/32
Naini 7pavl,an,a .e.oi,o.
$pra#l,an,ememori,om
Dodela
memori,e%ontinualna Dis-ontinualna
Dinami2-o
Stati2-o Partici,e
Stranice3
Segmenti
Partici,e
Stranice3
Segmenti3Stranice i
segmenti
&'%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
24/32
StatikoStatiko ve>ivan,eve>ivan,e Ainearan adresni prostor programa se translacijom
preslikava u odgovarajui linearan memorijski prostor/ aG Hp I a
gde je/a - programska adresa !relativna( npr. JKJ"(p - poetna adresa programa u memoriji !relokacioni
registar( npr. 6777" iaG- memorijska adresa !fizika adresa(primer 6JKJHJKJI6777".
' optem sluaju preslikavanje adresa mo$e bitirealizovano na razliite naine pa se mo$e predstaviti
funkcijom/ aG H f !a" pri emu implementaciju funkcije fobavlja operativni sistemF
&roces je zauzeo fiksni adresni prostor i sve vreme ostajeu memoriji !*1)" ; statiko ponaanje
&/%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
25/32
Naini 7pavl,an,a .e.oi,o.
$pra#l,an,ememori,om
Dodela
memori,e%ontinualna Dis-ontinualna
Dinami2-o
Stati2-o Partici,e
Stranice3
Segmenti
Partici,e
Stranice3
Segmenti3Stranice i
segmenti
&0%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
26/32
"ina.iko peslikavan,e a*esa"ina.iko peslikavan,e a*esa 1ko O# omoguava postojanje vie procesa u memoriji
u jednom trenutku i izbacivanje nekih procesa ili delovaprocesa i ubacivanje drugih( onda statiko vezivanjeadresa u vreme uitavanja !punjenja" nije dovoljno
&otrebno je da proces bude relokatibilan/ da mo$e uvreme izvravanja programa( promeniti lokacija procesa
!programa i njegovih podataka" na drugo mesto uoperativnoj memoriji !O)"( a da to ni na koji nain neutie na program i njegovo adresiranje podataka!pomou pokazivaa" ; dinamiko ponaanje
Dato je potrebno da proces !program u stanju izvrenja"
poseduje logiki !virtuelni" adresni prostor( tako daproces !program ..." mo$e da adresirasve adrese u opsegu 7 do )aE.
&roces ; logina !virtuelna" adresa&rogram;programska !ralativna" adresa
!viditi slajd 6L"
0000
0102
0200
00030104
00A100A200A
300A400A&1%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
27/32
"ina.iko peslikavan,e a*esa"ina.iko peslikavan,e a*esa
Aogike adrese se preslikavaju u fizike adrese koje se
upuuju memorijskim modulima ; *1) !00*( 00*M" &reslikavanje logikih u fizike adrese obavlja se
dinamiki( u vreme izvravanja. Ovo preslikavanje vrihardver ; ))' !)emor@ )anagement 'nit ; jedinica zaupravljanje memorijom"
Ovo preslikavanja vri se uvek i za svaku logiku adresu; proces
-
7/26/2019 07 - OS-Upravljanje Memorijom
28/32
"i,aa. stan,a poesa - po*se+an,e"i,aa. stan,a poesa - po*se+an,e
#F1*F ; nastanak( formiranje procesa *N10 ; proces ima sve resurse( eka na procesor *'4 ; procesor izvrava proces +1>F ; proces eka na resurs !tampa( tastatura( mi(
neki drugi proces ..." #FO& ; kraj procesa
#F1*F *N10
*'4
+1>F
#FO&
&8%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
29/32
"ina.iko peslikavan,e a*esa"ina.iko peslikavan,e a*esa 4ajjednostavnija tehnika dinamikog preslikavanja adresa/
bazni registar za relokaciju !base relocation register"/
4
5adu6en,a OS1a7
4
(oader )punilac* tre'a da defini8e #rednost
relo-acionog registra na osno#u mesta u2ita#an,aprocesa u memori,i i smesti tu #rednost u PC9
4
prili-om s#a-e promene -onte-sta3 OS tre'a da
upi8e #rednost i: PC9 u relo-acioni registar
4
Slo6eni,e te+ni-e dinami2-og presli-a#an,a7 strani2na3
segmentna i strani2no1segmentna organi:aci,a
Vi-telnaA*-esa
CPU
Relocation Reg
MMU
+
17 1A22000
0
1A22001
7
OM
&9%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
30/32
I.ple.entai,a poesa - po*se+an,eI.ple.entai,a poesa - po*se+an,e
#truktura podataka u kojoj se uvaju
informacije za svaki poces unutar O# ;Process Control Block !&C3" i sadr$i/; >0 ; jedinstveni identifikator procesa unutar
O#; kontekst procesora !process context"/ sve
informacije potrebne da O# nastaviizvravanje procesa( kao i da ga kontrolie iugasi
; memorijski parametri/ veliina i pozicijadodeljenog memorijskog bloka
; informacije o >BO resursima/ spisakotvorenih fajlova( zauzetih resursa itd.
; podaci potrebni za rasporeivanje/ prioritet(dodeljeno C&' vreme( itd.
; podaci potrebni za obraunavanje
; ...
ID
Proceorconte!t
"e#or$
%ara#
I&' in(o
)c*e,ling%ara#
PCB
Acco,nting%ara#
...
'5%'&
-
7/26/2019 07 - OS-Upravljanje Memorijom
31/32
2 GB2 GB
UserUser
processprocess
spacespace
2 GB2 GB
UserUserprocessprocess
spacespace
2 GB2 GB
SystemSystem
SpaceSpace
2 GB2 GB
SystemSystem
SpaceSpace
'&-;it G81 A**ess Spae
3 GB3 GB
UserUser
processprocess
spacespace
3 GB3 GB
UserUser
processprocess
spacespace
1 GB1 GB
System SpaceSystem Space
1 GB1 GB
System SpaceSystem Space
Default
G9 user space
M-bits H P Q3
izvor/ C0 - )icrosoft tehnologije unastavi i infrastrukturi fakulteta u#rbiji( #inergija 66( 3eograd( 766
'4%'&
1/ ;it A** S
-
7/26/2019 07 - OS-Upravljanje Memorijom
32/32
8192 GB8192 GB
(8 TB)(8 TB)
UserUser
processprocess
spacespace
8192 GB8192 GB
(8 TB)(8 TB)UserUser
processprocess
spacespace
6657 GB6657 GB
SystemSystem
SpaceSpace
6657 GB6657 GB
SystemSystem
SpaceSpace
1/-;it A**ess Spaes
7152 GB7152 GB(7 TB)(7 TB)
UserUser
processprocess
spacespace
7152 GB7152 GB
(7 TB)(7 TB)
UserUser
processprocess
spacespace
6144 GB6144 GB
SystemSystem
SpaceSpace
6144 GB6144 GB
SystemSystem
SpaceSpace
";1-JP toda@ support 97 bits virtual H 6(7PL(9RJ Q3
izvor/ C0 - )icrosoft tehnologije unastavi i infrastrukturi fakulteta u'&%'&