31.05.2013 Views

Il sistema operativo Windows XP - Apogeo

Il sistema operativo Windows XP - Apogeo

Il sistema operativo Windows XP - Apogeo

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

è resa non valida, il PTE viene modificato per puntare al prototipo PTE associato con l'oggetto<br />

della sezione.<br />

Figura 5. Elemento del file di pagina della tabella di pagina. <strong>Il</strong> bit di validità è zero.<br />

page address = indirizzo di pagina<br />

protection = protezione<br />

page file = file di pagina<br />

Le tabelle di pagina associate con un oggetto della sezione sono virtuali in quanto sono create e<br />

modellate in base alle necessità. L'unico prototipo PTE necessario è quello che descrive le pagine<br />

per cui vi è una visione correntemente mappata; ciò migliora notevolmente le prestazioni e<br />

permette un uso più efficiente degli indirizzi del kernel virtuale.<br />

<strong>Il</strong> prototipo PTE contiene l'indirizzo della struttura di pagina e i bit di stato relativi alla protezione;<br />

pertanto il primo accesso, tramite un processo, ad una pagina condivisa genera un fault di pagina e,<br />

dopo il primo accesso, ulteriori accessi sono eseguiti in modo normale. Se un processo scrive in una<br />

pagina copy-on-write, marcata a sola lettura nel PTE, il gestore di VM esegue una copia della<br />

pagina e segna il PTE come scrivibile; in tal caso le pagine non hanno più una pagina condivisibile<br />

e le pagine condivise non appaiono più nel file di pagina, ma invece si trovano nel file-system.<br />

<strong>Il</strong> gestore di VM tiene traccia di tutte le pagine della memoria fisica in un database del<br />

pageframe (page-frame database) in cui c’è un elemento per ogni pagina della memoria fisica nel<br />

<strong>sistema</strong>, così che possa mantenere lo stato delle pagina. Le strutture di pagina non referenziate da un<br />

PTE valido sono collegate a liste in base al tipo di pagina come azzerato, modificato, libero, ecc.<br />

Se una pagina fisica condivisa è marcata come valida per qualsiasi processo, la pagina non può<br />

essere rimossa dalla memoria e il gestore di VM mantiene un conteggio di PTE valido per ogni<br />

pagina che si trova nel database della struttura di pagina. Quando il conteggio si azzera, la pagina fisica<br />

può essere riutilizzata, una volta che il suo contenuto sia stato scritto su disco (era marcato come<br />

sporco).<br />

Quando accade un fault di pagina, il gestore di VM va alla ricerca di una pagina fisica in cui<br />

tenere i dati. Per le pagine zero-on-demand, la prima scelta è di cercare una pagina che già è stata<br />

azzerata, se nessuna è disponibile, si sceglie una pagina dalla lista di quelle libere o in standby e la<br />

pagina viene azzerata prima di procedere. Se la pagina in fault è stata contrassegnata come in<br />

21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!