Estratto del documento

Argomenti più comuni esame di: Sistemi operativi (Ingegneria informatica ed elettronica)

MMU

La parte del SO che gestisce la memoria ha compiti:

  • Tenere traccia di quali parti di memoria sono in uso e quali non lo sono.
  • Allocare la memoria ai processi che la necessitano e deallocarla.
  • Gestire lo swapping tra la memoria principale e il disco quando la memoria principale non è sufficientemente grande per mantenere tutti i processi.

Algoritmi del page fault (ottimo, FIFO… tutti tranne clock)

In qualsiasi computer, ogni programma può produrre indirizzi di memoria. Questi indirizzi generati dal programma sono detti indirizzi virtuali e formano lo spazio di indirizzamento virtuale. Nei computer senza memoria virtuale, l'indirizzo virtuale viene messo direttamente sul bus di memoria. Quando viene utilizzata la memoria virtuale, gli indirizzi virtuali non vengono mandati direttamente sul bus di memoria, ma vengono inviati alla Memory Management Unit (MMU), un chip che mappa gli indirizzi virtuali sugli indirizzi della memoria fisica.

Funzionamento della memoria virtuale

La memoria fisica è divisa in blocchi di dimensione fissa (detti frame) e si suddivide la memoria logica in blocchi di pari dimensione (dette pagine). I trasferimenti fra la memoria e il disco avvengono sempre per unità di pagina. Quando si deve eseguire un processo, si caricano le sue pagine nei frame disponibili. Alcune pagine virtuali quindi non avranno corrispondenza in memoria fisica e negli attuali circuiti hardware un bit presente/assente è utilizzato per indicare se la pagina è mappata sulla memoria fisica oppure no.

Se una pagina non mappata in memoria fisica viene richiesta, la MMU genera un interrupt della CPU al SO chiamato PAGE FAULT, dopo il quale il SO sceglie un frame di pagina poco utilizzato e salva il suo contenuto su disco, quindi recupera la pagina referenziata e la alloca nel frame appena liberato (fetching della pagina), cambia la mappa e riparte con l'istruzione bloccata.

Descrizione dettagliata del funzionamento

Supponiamo che l’indirizzo virtuale sia di 16 bit e sia diviso in due parti. 4 bit rappresentano il numero di pagina, che serve come indice nella tabella delle pagine così da ottenere l’indirizzo fisico, mentre gli altri 12 rappresentano l’offset che deve essere sommato all’indirizzo di base per trovare l’indirizzo corretto in memoria fisica e che viene inviato all’unità di memoria.

  • Se il bit presente/assente è 0 viene causata una eccezione.
  • Se il bit presente/assente è 1 il numero del frame trovato nella tabella delle pagine viene copiato nei 3 bit di ordine alto del registro di output con i 12 bit dell'offset (copiati senza modifiche dall'indirizzo virtuale).
  • Il contenuto del registro di output viene messo sul bus di memoria come indirizzo di memoria fisica.

Il modello descritto è semplice, vi sono però dei problemi: la tabella delle pagine può essere molto grande, il mapping (da virtuale a fisico) può diventare complesso.

Anteprima
Vedrai una selezione di 3 pagine su 7
Sistemi operativi: funzioni del MMU, Algoritmi di page fault, Modello del Working set Pag. 1 Sistemi operativi: funzioni del MMU, Algoritmi di page fault, Modello del Working set Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Sistemi operativi: funzioni del MMU, Algoritmi di page fault, Modello del Working set Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Dododoro48 di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Lombardi Luca.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community