upravljanje memorijom 2

5
Upravljanje memorijom Statički segmenti i statičke stranice Upravljanje memorijom pomoću segmenata i stranica omogućava diskontinualnu dodjelu memorije. Upravljanje memorijom pomoću segmenata je tehnika koja znatno umanjuje nepovoljne efekte fragmentacije, a ima i neke dodatne prednosti. Ne vrši se statičko povezivanje nego se program posmatra kao skup logičkih cijelina – segmenata. Segment može biti glavni program, svaka od procedura ili oblast podatka. Zbog toga što su adrese u okviru segmenata relativne u odnosu na nulu, segmenti se mogu smjestiti bilo gdje u memoriji. U tabeli segmenata se vode adrese početnih lokacija gdje su smješteni pojedinačni segmenti. Adresni dio naredbi programa se sastoji iz uređenog para, tako da se na osnovu tabele segmenata može izračunati adresa lokacije kojoj se pristupa. Uvođenje segmenata omogućava svakom procesu da bude podjeljen na nekoliko segmenata. Sistem za upravljanje memorijom koji se zasniva na radu sa segmentima popunjava tabelu segmenata. Tabela segmenata sadrži baznu i graničnu ardresu za svaki segment. Dodatna polja (“Read/Write” i “Shared”) u tabeli segmenata omogućavaju zaštitu i djeljenje memorije. Kada se kreira novi proces, tada se u kontrolni blok procesa upisuje pokazivač na praznu tabelu segmenata. Kako se procesu dodjeljuju segmenti, tako se potrebni podaci upisuju u tabelu segmenata. Kada proces završi sa radom tada se svi dodjeljeni segmenti vraćaju dijelu slobodne memorije.

Upload: sara-kukic

Post on 05-Sep-2015

221 views

Category:

Documents


1 download

DESCRIPTION

upravljanjem memorijom

TRANSCRIPT

Upravljanje memorijomStatiki segmenti i statike stranice

Upravljanje memorijom pomou segmenata i stranica omoguava diskontinualnu dodjelu memorije. Upravljanje memorijom pomou segmenata je tehnika koja znatno umanjuje nepovoljne efekte fragmentacije, a ima i neke dodatne prednosti. Ne vri se statiko povezivanje nego se program posmatra kao skup logikih cijelina segmenata. Segment moe biti glavni program, svaka od procedura ili oblast podatka. Zbog toga to su adrese u okviru segmenata relativne u odnosu na nulu, segmenti se mogu smjestiti bilo gdje u memoriji. U tabeli segmenata se vode adrese poetnih lokacija gdje su smjeteni pojedinani segmenti. Adresni dio naredbi programa se sastoji iz ureenog para, tako da se na osnovu tabele segmenata moe izraunati adresa lokacije kojoj se pristupa.Uvoenje segmenata omoguava svakom procesu da bude podjeljen na nekoliko segmenata. Sistem za upravljanje memorijom koji se zasniva na radu sa segmentima popunjava tabelu segmenata. Tabela segmenata sadri baznu i graninu ardresu za svaki segment. Dodatna polja (Read/Write i Shared) u tabeli segmenata omoguavaju zatitu i djeljenje memorije.Kada se kreira novi proces, tada se u kontrolni blok procesa upisuje pokaziva na praznu tabelu segmenata. Kako se procesu dodjeljuju segmenti, tako se potrebni podaci upisuju u tabelu segmenata. Kada proces zavri sa radom tada se svi dodjeljeni segmenti vraaju dijelu slobodne memorije.Segmentacija prouzrokuje eksternu fragmentaciju i zahtjeva saimanje memorije. Prednost rada sa segmentima je kada u memoriji nema dovoljno mjesta za trenutno aktivni proces tada se iz memorije moe izbaciti samo jedan segment a ne cjeli proces.Negativni efekti fragmentacije kod ovog naina upravljanja memorijom su mnogo blai nego kod dinamikih particija.Posebna prednost segmenata je u injenici da omoguava da vie razliitih programa koristi iste segmente a da se u memoriji nalazi samo jedna kopija segmenta. Za ovakve procedure (segmente) se kae da su re-enterant ili shared.

Statike straniceUpravljanje memorijom pomou statikih stranica je samo drugi nain realizacije iste ideje kao kod statikih segmenata. Kod ovog naina upravljanja memorijom program se statiki povee takoda se dobije linearan adresni prostor koji se djeli na blokove jednake veliine (stranice). Memorijski prostor se istovremeno dijeli u blokove iste veliine koji se obino nazivaju okvirima strana. Prilikom smjetanja u memoriju strane programa se mogu unijeti u bilo koji okvir stranice u memoriji s tim to se u tabeli stranica za svaku stranu vodi poetna adresa okvira u kojem je smjetena. Ovakav nain upravljanja memorijom u potpunosti eliminie pojavu eksterne fragmentacije, ali se pojavljuje interna fragmentacija. Interna fragmentacija se javlja zbog toga to su veliine strana fiksne, a programu se mora dodjeliti cjeli broj strana, to obino uzrokuje da jedan dio poslednje strane ostaje neiskoriten.

Prije izvravanja bilo kojeg programa potrebno je da operativni sistem: odredi broj stranica u programu, rezervie dovoljan broj okvira stranica u operativnoj memoriji i mapira (preslika) stranice programa u okvire stranica.

Postoje razliiti naini hardverske implementacije tabele stranica. Jedno rjeenje je da se koristi poseban skup registara u kojem su sauvani bazni okviri stranica. Drugo rjeenje je da se koristi memorijska tabela stranica sa dodatkom baznog registra za tabelu stranica (PTBR Page Table Base Register), koji pokazuje na tekuu tabelu stranica.Upravljanje memorijom pomou statikihsmanjuje fragmentaciju i omoguava jednostavnu dodjelu (alocation) i zamjenu (swapping) memorijskog prostora. Takoe rad sa stranicama omoguava dodjelu memorijskog prostora koji nije kontinualan, odnosno dodjeljen memorijski prostor moe biti iz vie nesusjednih dijelova fizike memorije.