View
256
Download
0
Category
Preview:
Citation preview
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
1/51
MEMORIJSKI PROSTOR IUPRAVLJANJE MEMORIJSKIM
PROSTOROM
eljko BrekStrukovna kola urevac
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
2/51
UVOD MEMORIJA
VELIKO POLJE OKTETA ILI RIJEI KOJI
IMAJU SVAKI SVOJU ADRESU. PROCESOR DOHVAA NAREDBE IZ
MEMORIJE U OVISNOSTI O VRIJEDNOSTIUPISANOJ U PROGRAMSKO BROJILO.NAREDBE MOGU REZULTIRATI DODATNIMPRISTUPIMA MEMORIJI KAKO BI SE
DOHVATILO OPERANDE, ODNOSNOPOHRANILO REZULTATE OPERACIJA.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
3/51
RADNA MEMORIJA POHRANA
KORISNIKIH PROCESA STALNO PRISUTNIH DIJELOVA
OPERACIJSKOG SUSTAVA(REZIDENTNI DIO OS-A) PODJELA
NII DIO- ZA REZIDENTNI DIO OS-A(KERNEL SPACE)
VII DIO- ZA KORISNIKE PROCESE
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
4/51
VEZIVANJE ADRESA
PROGRAMI -ZAPISANI NA DISKU (ILINEKOJ DRUGOJ NEIZBRISIVOJMEMORIJI) U BINARNOM OBLIKU
(EXECUTABLE). PROGRAM UITAVA SE U MEMORIJU
KAKO BI POSTAO PROCES KOJE SEMOE IZVODITI.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
5/51
POSTUPAK IZVRAVANJA PROGRAMA IZABRATI JEDAN PROCES U ULAZNOM REDU UITATI PROCES U MEMORIJU
IZVRAVATI PROCES ZAVRETAK IZVRAVANJA PROCESA
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
6/51
PROGRAMERI-UNAPRIJED NE MOGU ZNATI
KOJI PROCESI E BITI ZASTUPLJENI UMEMORIJI PRILIKOM IZVRAVANJAPROGRAMA, NITI KOJE E LOKACIJE U
MEMORIJI BITI SLOBODNE. NE MOGU SE UNAPRIJED ODREDITI FIKSNE
MEMORIJSKE LOKACIJE ZA SMJETAJ
PROGRAMA I ZATO SE KORISTE RELATIVE ILISIMBOLIKE ADRESE. OS PREVODI RELATIVNE ADRESE U
APSOLUTNE (FIKSNE).start.
mov al,$00H
mov bl,$0AH
petlja.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
7/51
PRIJE IZVRAVANJA KORISNIKI
PROGRAM PROLAZI KROZ FAZEPRIPREME: A)VRIJEME PREVOENJA(ENG. COMPILE
TIME) B)VRIJEME UITAVANJA /PUNJENJA/ (ENG.
LOAD TIME)
C)VRIJEME IZVOENJA(ENG. EXECUTIONTIME)
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
8/51
VRIJEME PREVOENJA
UKOLIKO JE ZA VRIJEME PREVOENJAPOZNATA ADRESA LOKACIJE OD KOJEE SE UPISIVATI PROGRAM, TADA SE
VEZA VRIJEME PREVOENJAGENERIRAJU APSOLUTNE ADRESE.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
9/51
VRIJEME UITAVANJA/PUNJENJA
APSOLUTNE ADRESE SE GENERIRAJU UTRENUTKU UPISIVANJA (PUNJENJA)PROGRAMA U RADNU MEMORIJU.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
10/51
VRIJEME IZVOENJA
PROGRAM MIJENJA SVOJE ADRESE ITIJEKOM IZVOENJA, ODNOSNOPREBACUJE SE IZ JEDNOG U DRUGO
MEMORIJSKO PODRUJE. POSEBNA HARDVERSKA PODRKA
POTREBNA JE ZA REALIZACIJUOVAKVOG NAINA RADA.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
11/51
LOGIKI I FIZIKI ADRESNI PROSTOR
ADRESE KOJE SE KORISTE U IZVORNOMPROGRAMU SU SIMBOLIKE.
NAKON PREVOENJA I POVEZIVANJA
PROGRAM SADRI LOGIKE ADRESE. ADRESA U MEMORIJI, ODNOSNO
ADRESA KOJU VIDI SKLOP ZAUPRAVLJANJE MEMORIJOM (MEMORYMANAGEMENT UNITILI MMU) NAZIVAJU
SE FIZI
KE ADRESE.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
12/51
ZA VRIJEME PREVO
ENJA IPOVEZIVANJA LOGIKE I FIZIKEADRESE SU JEDNAKE.
TIJEKOM IZVOENJA, TRANSFORMACIJAADRESA REZULTIRA U RAZLIITIMFIZIKIM I LOGIKIM ADRESAMA. U TOMSLUAJU LOGIKE ADRESE NAZIVAJUSE VIRTUALNE ADRESE.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
13/51
SKUP SVIH LOGIKIH ADRESA KOJE
GENERIRA PROGRAM NAZIVA SELOGIKI ILI VIRTUALNI ADRESNIPROSTOR VIRTUALNA MEMORIJA
SKUP SVIH FIZIKIH ADRESA KOJE
ODGOVARAJU LOGIKIM ADRESAMANAZIVA SE FIZIKI ADRESNI PROSTOR.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
14/51
PRESLIKAVANJE ADRESA
FUNKCIJU PRESLIKAVANJA IZLOGIKOG U FIZIKI ADRESNI PROSTORREALIZIRA ZASEBNO SKLOPOVLJE
NAZVANO SKLOP ZA UPRAVLJANJEMEMORIJOM (MEMORY MANAGEMENTUNIT - MMU).
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
15/51
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
16/51
PREBACIVANJE (SWAPPING)
Proces se moe izvoditi samo ako se nalaziu radnoj memoriji. Proces koji se izvodi upie u memoriju, a
kada se prekida s njegovim izvoenjem(temeljom razliitih dogaaja koji rezultiraju
gubitkom prava koritenja procesora) on sezamijeni s drugim procesom s diska.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
17/51
SWAPPING
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
18/51
JEDNOPROGRAMSKI SUSTAV
MONOPROGRAMIRANJE UZ OS SAMO JEDAN PROCES U MEMORIJI OS moe biti
CIJELI U RAM-U CIJELI U ROM-U
U RAM-U, A DEVICE DRIVERI U ROMU
korisnikiprogram
OS u RAMu
korisnikiprogram
OS u ROMu
korisnikiprogram
OS u RAMu
device driveriu ROMu
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
19/51
VIEPROGRAMSKI SUSTAVI
MULTIPROGRAMIRANJE
A)VIE ULAZNIH REDOVA EKANJA
Particija 3
OS
Particija 1
Particija 2
PARTICIJE SU RAZLIITIHVELIINA
PROCESE TREBARAZVRSTATI U REDOVEEKANJA PREMA VELIINI
NEUINKOVITO KADA MANJIPROCESI EKAJU, DOK JEVEA PARTICIJA PRAZNA
FIKSNE PARTICIJE(SEGMENTI) MEMORIJETZV STATIKA DODJELA MEMORIJE
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
20/51
B) JEDAN ULAZNI RED
EKANJA
Particija 3
OS
Particija 1
Particija 2
PARTICIJE SU RAZLIITIHVELIINA
PROCESE SUSTAVRAZVRSTAVA U PARTICIJEPREMA VELIINI
MOE SE DESITI DA MANJIPROCESI BUDU UNEMILOSTI
MALE PROCESE JE
KORISNO TO PRIJEODRADITI
RJEENJE: BROJA
PRESKAKANJA
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
21/51
VIEPROGRAMSKI
S PROMJENJIVIM PARTICIJAMA(SEGMENTIMA)MEMORIJEoperacijski
sustavoperacijski
sustavoperacijski
sustavoperacijski
sustavoperacijski
sustav
400k 400k 400k 400k
900k
1000k 1000k
1700k 1700k 1700k
1000k 1000k
2000k 2000k 2000k 2000k 2000k
2300k 2300k 2300k 2300k 2300k
2560k 2560k 2560k 2560k 2560k
P P P P1 1 1 5
P
P P
P P
P P P
2
2 4
1 5
4 4 4
P P P P P3 3 3 3 3
zavrio ulazi
zavrio ulazi
1000k
400k
a b c d e
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
22/51
NAINI DODJELE PARTICIJE
(SEGMENTA) MEMORIJEPOJEDINOM PROCESU:
PRVI KOJI ZADOVOLJAVA (FIRST-FIT): PROCESU SE DODJELJUJE PRVI SEGMENT
KOJI ZADOVOLJAVA POSTAVLJENEMEMORIJSKE ZAHTJEVE.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
23/51
NAJBOLJE POKLAPANJE (BEST-FIT): PROCESU SE DODJELJUJE ONAJ SEGMENTKOJI NAJBOLJE ODGOVARA NJEGOVIM
MEMORIJSKIM ZAHTJEVIMA. DOLAZI DO STVARANJA MALIH SEGMENATA,
UPLJINA, KOJI SU POSLJEDICA RAZLIKE
VELIINE SEGMENTA I PROGRAMA.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
24/51
NAJLOIJE POKLAPANJE (WORST-FIT): PROCESU SE DODJELJUJE NAJVEI
SLOBODNI SEGMENT.
CILJ JE STVARANJE TO VEIH UPLJINA,SUPROTNO PRETHODNOM ALGORITMU.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
25/51
PROBLEMI UPRAVLJANJA
MEMORIJOM VANJSKA FRAGMENTACIJA MEMORIJE
S vremenom se slobodna memorija razbija umanje segmente.
Ukupna veliina slobodne memorije moe biti
dovoljna da prihvati nove procese ali to nijemogue iz razloga to ne postoje dovoljno velikakontinuirana podruja.
Fragmentacija moe postati ozbiljan problem kojiznaajno umanjuje uinkovitost sustava.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
26/51
UNUTARNJA FRAGMENTACIJA
MEMORIJE Primjer:slobodan je memorijski blok veliine18,464 okteta, a program zahtjeva 18,460
okteta. Programu se dodijeli cijeli blok, bez obzira toe 4 okteta ostati neiskoriteno.
Ako taetiri okteta tvore slobodan blok ,potrebno je voditi evidenciju u operacijskom
sustavu to nije racionalno. Razlika u zahtijevanoj i dodijeljenoj memoriji
naziva se unutarnja fragmentacija, koja jepraktiki zanemariva u usporedbi s vanjskom.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
27/51
RIJEAVANJE PROBLEMA VANJSKEFRAGMENTACIJE MEMORIJE
Premjetanjem procesa i spajanjemslobodnih blokova u jedan kontinuirani blok .
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
28/51
operacijski
sustav
operacijski
sustav
900k 900k
1700k
1600k
1000k
2000k
2300k
1900k
2560k 2560k
P P5 5
P P
44
P
P
3
3
0 0
400k 400k
spajanje
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
29/51
Stranienje Rijeenje vanjske fragmentacije
memorije.
Dozvoljava da proces ne mora biti upisan ukontinuirani memorijski blok. Program moebiti raspren proizvoljno po memoriji.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
30/51
Radna memorija dijeli se na manje blokove
fiksne veliine koji se nazivaju okviri . Logikiadresni prostor programa takoer se podjelina blokove iste veliine koji se nazivaju
stranice. Kada se program upie u memoriju ,stranice
se upisuju u slobodne memorijske okvire. Radi jednostavnosti prebacivanja programa sdiska u radnu memoriju i disk je podijeljen na
okvire jednake veliine kao i okviri memorije. Tako se jedan okvir s diska upisuje u jedan
okvir radne memorije.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
31/51
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
32/51
Adresa koju generira procesor dijeli se na
dva dijela: broj stranice(p) i pomak unutarstranice(d). Broj stranice je indeks(pokaziva) na redak tablice stranica. Utablici stranica upisane su poetne adreseokvira u kojima je smjetena stranica.
Kombinacija poetne adrese okvira i pomakaodreuje fiziku adresu memorijske lokacije
kojoj se pristupa.
Veliine stranica variraju od sustava dosustava i obino su izmeu 512 byta i 8192byta i uvijek su potencija broja dva.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
33/51
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
34/51
TEHNIKE UPRAVLJANJAMEMORIJOM
RJEAVANJE PROBLEMANEDOVOLJNE KOLIINE MEMORIJE
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
35/51
Radi boljeg iskoritenja radne memorije veliinu procesa ograniava koliinafizike memorije.
Tri tehnike
1.Dinamiko punjenje 2.Dinamiko povezivanje
3.Prekrivanje (overlay)
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
36/51
Dinamiko punjenje Prednosti:
Koristan kod programa s puno procedura koje se
rijetko koriste. Ne postavlja posebne zahtjeve na sklopovlje nina operacijski sustav.
Programer to mora ugraditi u svoj program.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
37/51
Dinamiko punjenje Kod ovakvog naina punjenja programa u
memoriju potprogrami ili rutine smjetene su
na disku, a upisuju se u memoriju tek nakonto ih glavni program pozove. Kod poziva potprograma, prvo se provjerava
da li je potprogram u radnoj memoriji, a akonije poziva se program za dinamikopunjenje i povezivanje koji upisujepotprogram u memoriju te upisuje poetnuadresu potprograma u tablicu adresa
programa.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
38/51
Dinami
ko povezivanje Biblioteka s programima koji se dinamiki
mogu povezivati s programom koji se izvodi(dynamically linked libraries - .dll).
Slian koncept kao dinamiko punjenje -umjesto da se potprogrami ili procedureupisuju u memoriju prema zahtjevu, isti seprema zahtjevu povezuju s programom kojise izvodi.
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
39/51
Dinami
ko povezivanje Prednost ovog pristupa u poredbi s
dinamikim punjenjem je u boljoj iskoristivostiradne memorije i diska jer nije potrebno dasvaki program ima sve procedure, odnosno
da vie programa upisanih u radnu memoriju,a koji koriste istu proceduru, imaju njenukopiju.
Dinamiko povezivanje zahtijeva usluguoperacijskog sustava.
P k i j ( l )
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
40/51
Prekrivanje (overlay)
Da bi se omoguilo izvravanje programakoji su vei od same fizike memorije.
Omoguava da se u memoriji uvaju samooni dijelovi programa koji su potrebni u tomtrenutku.
Kada su potrebni drugi dijelovi programatada se iz memorije izbacuje prethodni dio
programa i podataka, a novi se s diskaupisuju.
S t ij
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
41/51
Segmentacija Segmentacija je tehnika upravljanjamemorijom koja podrava korisniki
pogled na memoriju.
Logiki adresni prostor sastoji se odkolekcije segmenata, a svaki segment ima
jedinstveno ime i duinu. Logika adresa se sastoji od dva dijela: imena segmenta (umjesto imena segmenta
obino se zadaje broj koji predstavljaidentifikator segmenta)
pomak unutar segmenta
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
42/51
Korisniki pogled na program:
Glavni program s nizom potprograma,procedura, modula, funkcija, podatkovnihstruktura (tablica, polja , varijabli,..)
Svaki od tih dijelova ima jedinstveno ime (kojimse referencira) i duljinu
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
43/51
Odreivanje adresa
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
44/51
Odreivanje adresa
Logika adresa : Broj segmenta, pomak zadaje korisnik Preslikavanje u fiziku adresu se vri preko tablice
segemenata.
Primjer segmentacije
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
45/51
Primjer segmentacije
VIRTUALNA MEMORIJA
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
46/51
VIRTUALNA MEMORIJA
Virtualna memorijaje strategija dodjelememorije koja dozvoljava da samo dio
programa koji se izvodi bude u radnojmemoriji. Temeljna prednost ovakvogpristupa je da program moe biti i vei od
radne memorije. Tako korisniki programmoe poprimiti proizvoljnu veliinu, a sustav
za upravljanje memorijom preslikava logikiprostor korisnika u ogranieni prostor u
radnoj memoriji.
VIRTUALNA MEMORIJA PREDNOSTI
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
47/51
VIRTUALNA MEMORIJA-PREDNOSTI
Veliina programa nije ograniena veliinomradne memorije. Programer moe napisati
program kao da sustav raspolae sneogranienom memorijom, odnosnoprogramer raspolae s neogranienim
virtualnim logikim adresnim prostorom.
VIRTUALNA MEMORIJA PREDNOSTI
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
48/51
VIRTUALNA MEMORIJA-PREDNOSTI
Korisniki program moe se izvoditi saznatno manjom dodijeljenom fizikom
memorijom, to omoguava vei stupanjvieprogramskog rada. Time se poveavaiskoristivost kao i propusna mosustava.
VIRTUALNA MEMORIJA PREDNOSTI
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
49/51
VIRTUALNA MEMORIJA-PREDNOSTI
Manje U/I operacija potrebno je zaprebacivanje korisnikih programa iz i u
memoriju. Tako se korisniki programi breizvode.
VIRTUALNA MEMORIJA PRINCIP RADA
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
50/51
VIRTUALNA MEMORIJA-PRINCIP RADA
VIRTUALNA MEMORIJA PRINCIP RADA
7/26/2019 Memorijski Prostor i Upravljanje Memorijom
51/51
VIRTUALNA MEMORIJA-PRINCIP RADA
Virtualna memorijaje razdvajanje logikogadresnog prostora koji vidi korisnik od
fizikog adresnog prostora u kojem seprogram izvodi. Virtualna memorija obino se realizira kao
stranienje na zahtjev (demand paging).
Recommended