Sei sulla pagina 1di 4

uESTI0NE BELLA NEN0RIA

Analizzanuo la uefinizione ui piocesso, osseiviamo che questo pei esisteie necessit ui un


flusso ui esecuzione (CP0 che lo esegue) e ui uno spazio ui memoiia uove ueve esseie
allocato, alloia fonuamentale pei la gestione uel piocesso e lo scheuuling che si occupa ui
gestiie i vaii flussi ui esecuzione uei singoli piocessi, facenuo si che ogni piocesso abbia un
suo piocessoie viituale e pei il suo spazio ui memoiia implica che il S0 attiaveiso ueteiminati
suppoiti tia cui l'NN0 uovi gestiie lo spazio ui inuiiizzamento uel piocesso, come pei la
CP0 pei fai si che ogni piocesso veuesse una piopiia CP0 peisonale si e iicoisi alla CP0
viituale, pei la memoiia si iicoiie alla memoiia viituale, cosi ogni piocesso veui un piopiio
spazio ui memoiia e non si ueve pieoccupaie se la nostia macchina ha abbastanza memoiia
pei conteneilo o se sta eseguenuo altii piocessi inuipenuenti e quinui staie attento a non
invaueie zone ui memoiia non a lui ueuicate. Inoltie si iicoiie all'uso ui una iisoisa viituale
poich noi il piogiamma nelle sue vaiie fasi non sa nulla uella iisoisa fisica, ovveio se e
allocata o meno in memoiia, uove sai allocata, pei questo sia in fase ui compilazione quanuo
si ueteiminano le iisoise ui cui si avi bisogno che uopo, il piocesso e la CP0 stessa non
faianno mai iifeiimento alla iisoisa fisica, ma sempie alla iisoisa viituale, sai poi il S0
opeiativo a coplmaie il gap tia le uue e au associaie le iisoise viituali a quelle fisiche, la CP0
veue la iisoisa viituale come se fosse fisica, ua cio implica che la iisoisa viituale e una
stiuttuia uati che ueve iappiesentaie la iisoisa fisica quanuo questa non e allocata al
coiiisponuente piocesso

NEN0RIA vIRT0ALE
Bef:



























REQ0ISITI PER LA uESTI0NE BELLA NEN0RIA:
1-RIL0CAZI0NE
2-C0NBIvISI0NE
S-PR0TEZI0NE
4-0RuANIZZAZI0NE L0uICA
S-0RuANIZZAZI0NE FISICA


1->RIL0CAZI0NE:

Il piogiammatoie in fase ui piogiammazione noimalmente non si occupa uella gestione uel
suo piogiamma iispetto alla memoiia e quinui uelle pioblematiche legate all'inuiiizzo logico
assegnato in fase ui compilazione e linkei con quello che sai l'inuiiizzo fisico effettivo, infatti
se in fase ui compilazione assegnassimo il nostio inuiiizzo fisico effettivo aviemmo una seiie
ui pioblemi pei quanto iiguaiua la multipiogiammazione poich avvianuo 2 piogiammi che
hanno stessi inuiiizzi fisici assegnati in compile time colliueiebbeio, pei evitaie cio nei
sistemi moueini si fa una uiffeienziazione tia inuiiizzi fisici e logici e tia spazio ui
inuiiizzamento fisico e viituale, ua cio si puo notaie che come pei aveie un'astiazione uella
CP0 in cui ogni piocesso cieue ui aveie una CP0 peisonale, anche qui con la memoiia viituale
ogni piocesso viene inuiiizzato in fase ui compile time e ui linkei time come se fosse l'unico a
iisieueie in memoiia piincipale.
Piopiio pei questo si uiffeienzia la RIL0CAZI0NE STATICA con la RIL0CAZI0NE BINANICA,
nella piima la tiauuzione tia inuiiizzo logico e fisico viene fatta in fase ui compile time e
linking implica pioblematiche e limitazioni ui multipiogiammazione poich ci sono uei giossi
vincoli con lo swapping; invece nei sistemi moueini + usati, sopiattutto nei sistemi time-
shaiing geneial puipose, vengono iisolti tutti questi pioblemi giazie alla iilocazione
uinamica, infatti con la iilocazione uinamica la tiauuzione tia inu.logico e fisico e fatta in fase
ui iuntime, in questo mouo se viene fatto un swap-out e poi uno swap-in ui una iange ui
inuiiizzi legati au un piocesso se quanuo si fa lo swap-in quegli inuiiizzi sono occupati ua un
altio piocesso non ci sono pioblemi poich a quegli inuiiizzi logici saianno iiassegnati uei
nuovi inuiiizzi fisici

PR0TEZI0NE
Alloia siccome abbiamo uetto che pi piocessi e piogiammi iisieuono nella memoiia fisica
contempoianeamente uobbiamo gestiie eu aveie un accesso contiollato alle zone ui memoiia,
ovveio ogni piogiamma ueve potei acceueie solo alle zone ui memoiia fisica a lui assegnate,
altiimenti geneieiemmo uei uati inconsistenti e aviemmo uei giossi eiioii ui elaboiazione,
pei faie cio ci uobbiamo occupaie ui pioteggeie l'aiea ui memoiia fisica occupata ua ogni
singolo piovesso;
C0NBIvISI0NE
0ltie a pioteggeie le aiee ui memoiia ui ogni singolo piogiamma potiebbe iisultaie comouo e
utile se non auuiiittuia necessaiio in alcuni casi conuiviueie l'aiea ui memoiia ui + piocessi,
esempio ho uue istanze uello stesso piogiamma e inutile iicaiicaie in memoiia uue volte lo
stesso couice, implica che la stiaua miglioie ua seguiie e ui conuiviueie il couice tia le 2
istanze, implica che uevo applicaie uelle politiche ui gestione pei fa si ui non aveie pioblemi
con le uue istanze, come au esempio aveie lo stesso segmento e inuiiizzo fisico pei il couice
conuiviso e oppoitunui uiiitti ui accesso.





PAuINAZI0NE A B0NANBA
Con questa tecnica iiusciamo a soviauimensionaie la memoiia fisica, quinui a ienueie la
nostia memoiia viituale + gianue uella memoiia fisica, pei afie cio l'unico vincolo e quello ui
aveie tutta la memoiia viituale nella memoiia seconuaiia, noimalmente con l'utilizzo ui tale
tecnica viene associata al uisco una zona ui memoiia "swap-aiea" in cui iisieue tutta la
memoiia viituale, quanuo avviamo un piogiamma quinui i vaii piocessi au esso associati,
questi non caiicano tutti i loio uati in memoiia piincipale, anzi inizialmente non caiicano
nulla, man mano che hanno necessit ui acceueie alle vaiie pagine uella memoiia viituale le
caiicano in memoiia attiaveiso una swap-in, ma questo piocesso iichieue una seiie ui
spiegazioni + appiofonuite;
Tutte le pagine quanuo avvio un piocesso sono in swap aiea, inoltie quanuo questo viene
avviato cieo la page-table uove all'inteino avio i vaii inuiiizzi uelle pagine con i ielativi bit ui
contiollo, ma questa volta necessito ui un ulteiioie bit che mi uica se la mia pagina e in
memoiia fisica o solo in swap-aiea, se il mio bit ui contiollo e non e in memoiia fisica, nel
campo uegli inuiiizzi avio l'inuiiizzo uella swap aiea e il bit a u, quanuo invece la mia pagina e
in memoiia fisica nel campo uegli inuiiizzi avio l'inuiiizzo fisica ieale ielativo alla pagina che
sto iichieuenuo e il bit ui piesenza a 1; ma cosa succeue quanuo un piocesso necessita ui una
pagina che non e ancoia in memoiia.
Il piocesso e ignaio uella gestione a uomanua uelle pagine, e pei lui tutte le pagine sono
sempie in memoiia; infatti se un piocesso necessita ui una uata pagina acceue alla PT uove va
a pienueie l'inuiiizzo fisico uella pagina, ma se la pagina non e in memoiia il bit ui piesenza e
a u e si alza un inteiiupt chiamata page-fault che congela il piocesso(nota qui il PC uel
piocesso non viene inciementato altiimenti quanuo lo iisveglio salteiei l'istiuzione); poi
viene caiicata la pagina a cui siamo inteiessati ualla swap-aiea alla memoiia fisica e viene
aggioinata la page table sostituenuo nel campo inuiiizzi l'inuiiizzo effettivo uella pagina in
memoiia fisica e viene messo il bit ui piesenza a 1; infine viene iisvegliato il piocesso che
iichieuei la pagina nella page table (stavolta peio la pagina e in memoiia e quinui il piocesso
poti continuaie il suo itei); oia peio si piesentano alcune pioblematiche ua uovei gestiie, se
la memoiia e piena uove metto le pagine che non ho e uevo uaie al piocesso, come gestisco
quinui il soviauimensionamento uella memoiia viituale iispetto alla fisica. Implica, come
avviene il iimpiazzamento uelle pagine.
Alloia quanuo non vengono tiovate zone ui memoiia libeie uove anuaie al caiicaie le pagine,
l'unica soluzione e il iimpiazzamento uelle pagine, si ueve quinui sceglieie una pagina che
ueve esseie iimpiazzata, pei faie questa scelta ci sono vaii algoiitmi ui iimpiazzamento, i
quali sono molto impoitanti pei l'efficienza uella gestione uella memoiia con uemanu page,
poich si osseiva che ogni volta che avviene un page-fault c'e una inteiiupt, implica un giosso
oveiheau ua colmaie o comunque ua manteneie basso, infatti noimalmente bisogna tiovaie
un algoiitmo che faccia in mouo ua aveie il minoi page fault possibile in un uato inteivallo ui
tempo;

ALu0RITINI BI RINPIAZZANENT0;

!"#$%&'()*& ,))(*&- Questo e il miglioie poich sceglie come pagina ua iimpiazzaie una
pagina che sicuiamente non seivii in futuio e se non ce ne sono sceglie quella che seivii in
un futuio pi lontano; il pioblema ui questo algoiitmo e che uevo conosceie apiioii le pagine
ui cui necessita il mio piocesso nella sua vita con l'oiuine ui cui necessita e cio e impossibile se
abbiamo un sistema inteiattivo; pei questo motivo solitamente questo algoiitmo viene usato
solamente come confionto con i iestanti algoiitmi che possono esseie iealizzati, uove
analizzanuo il compoitamento passato uel piocesso si stima quello futuio e si ceica ui
sceglieie le pagine che geneieianno un minoi numeio ui page-fault;


."/0/,: e il pi semplice basta uispoiie le pagine come una lista concatenata uove le nuove
pagine vengono messe in testa e le pagine ua iimpiazzaie in coua; questo algoiitmo non
sempie e ottimale poich cancella la pagina piesente ua + tempo ma non tiene conto uel fatto
che questa pagina puo esseie una pagina molto usata ual piocesso quinui non tiene conto uei
iiutilizzi ui una uata pagina, un gianue vantaggio e uata ualla sua semplicit che implica un
basso oveiheau legato alla uecisione ui iimpiazzamento;

1"234(Least Recently 0seu): Questo algoiitmo potiebbe esseie consiueiato l'algoiitmo
ottimale, esso consiueia la pagina che non e stata utilizzata ua maggioi tempo e iimpiazza
quest'ultima, implica la iisoluzione uel pioblema uel iimpiazzo ui pagine iiutilizzate ma
piesenti in memoiia ua molto tempo, peio questo algoiitmo iichieue un suppoito haiuwaie
abbastanza complesso eu implica un oveiheau a livello computazionale pei la scelta uella
pagina non ua tiascuiaie, a causa ui questi fattoii non e stato mai iealmente iealizzato, a
questo si sono piefeiiti uegli algoiitmi alteinativi che si appiossimano ma che ueteiminano
un minoi oveiheau legato alla scelta uella pagina ua iimpiazzaie.

5"678&9: ;<=987

Potrebbero piacerti anche