Please enable JavaScript.
Coggle requires JavaScript to display documents.
MEMORIA VIRTUALE - Coggle Diagram
MEMORIA VIRTUALE
1) BASI:
Criteri:
Solo alcuni moduli caricati
Swapping durante esecuzione
Programma suddiviso in moduli indipendenti
Funzionamento:
Memoria di swapping su HDD/SSD a disposizione del programma
MEM PROG = RAM + Memoria di Swapping
Perchè ?
Per poter caricare solo alcune porzioni del program nella RAM
Per ora program può essere caricato solo se c'è abbastanza spazio
3) CARICAMENTO MEMORIA:
1) CASO MEMORIA LIBERA
1) Aggiorna TABELLA PAGINE & TABELLA BLOCCHI
2) Inserisce riga in Tabella Mappa
3) Fa swap-in
2) NO BLOCCHI LIBERI
1) Bisogna fare lo swap out di qualcosa
2) Scegliere Vittima
3) SI puo inserire in Tabella Mappa bit di variazione
Che se è 0 la pagina non è stata toccata quindi non va modificata quella in Memoria di Massa
3) TECNICHE DI RIMPIAZZAMENTO
1) FIFO: Si rimpiazza pagina da piu tempo in memoria. Bisogna aggiungere una riga con data di caricamento in TABELLA MAPPA
2) LRU: Si toglie il processo non usato da piu tempo. Bisogna aggiungere a mappa un campo campo che registra quando si è usata la pagina
3) NRU: Si leva quello usato meno di recente che si trova
4) SVANTAGGI:
Tempi di accesso raddopiati perchè bisgona accedere alla tabella delle pagine
Algoritmo intelligente per rimpiazzamento pagine
Tabella pagine occupa memoria
Risolvibile con Working Set -- Insieme della pagine virtuali utilizzate in un istante
ogni pagina potrebbe generare un PAGE-FAULT
2) Paginazione Dinamica (Richiesta di Pagine)
Basi:
Come paginazione Pura
Tranne che non in ogni momento ad ogni pagina è associato un blocco
Funzionamento:
Se durante esecuzione manca una pagina in memoria generato interrupt di PAGE FAULT e si carica
Necessarie tre tabelle ora
TABELLA DELLE PAGINE
ID_PROCESSO
STATO
ID_BLK
TABELLA DEI BLOCCHI
ID_BLK
STATO
IND
TABELLA DI MAPPA (solo pro in RAM)
ID_PROCESSO
NUM_PAG
ID_BLK