SSG logo     Guida all'uso del simulatore Virtual Memory, versione 1.0

Obiettivo

Lo scopo di tale software è quello di simulare l'uso di una memoria virtuale.
Ovvero, dato un indirizzo relativo a una pagina virtuale (input) si vuole verificare se tale pagina è contenuta
all'interno della memoria fisica o meno. Nel caso di evento positivo si registra in output un "Page HIT"
altrimenti un "Page MISS" . Per ogni tipo di evento, due algoritmi, distinti (FIFO ed LRU), agiscono su quella
che è la tabella delle pagine virtuali.
Ovviamente si terrà conto dei diversi output che gli algoritmi produrranno , permettendo all'utente di capire quale
dei due algoritmi è migliore dell'altro in base all'input inserito.

Componenti funzionalità

Le tabelle relative alle pagine virtuali sono due. Infatti vengono utilizzate rispettivamente una con una tecnica di paginazione FIFO
e l'altra con paginazione LRU. Per generare una nuova e diversa impostazione degli indirizzi/righe delle due tabelle
è possibile usare il tasto "Create Input VM" , che genera in maniera del tutto casuale gli indirizzi di memoria fisica
associati alla pagina virtuale e determina, sempre casualmente, quali di questi contengono il bit di validità a 1.

Il file di input è una lista di 100 indirizzi espressi in notazione decimale.
Precisiamo che ogni indirizzo di memoria virtuale è composto da: 6 bit ( quelli più significativi ) per l'indice di pagina virtuale (Page)
e i restanti 3 bit per l'indice di pagina fisica (Frame). Otteniamo così un un indirizzo di memoria virtuale di 9 bit , infatti gli indirizzi
visualizzati nel file di input ( in decimale ) sono compresi tra 0 e 511.
Gli indirizzi di memoria virtuale, espressi in notazione decimale, vengono creati dal tasto "Crea Input" , il quale li genera casualmente.

Per eseguire passo passo tutte le operazioni del simulatore , è possibile premere il tasto "Next".
Questo pulsante infatti permette di estrarre la prima riga di input, portarlo in numero binario ed estrapolare
gli indirizzi fisici e virtuali del mio indirizzo di partenza; dopodiché controlla se la pagina estratta è in memoria
fisica , registrando quindi un Page HIT o un Page MISS in base all'esito.

Dopo aver capito come funziona il meccanismo del tasto Next e si vuole arrivare direttamente all'output finale, l'utente
avrà a disposizione il tasto "Auto Next" il quale scorre ed elabora tutte le righe di input restituendo il corretto output.

L'input da generare potrà essere influenzato da una determinata probabilità inserita per mezzo del tasto "Insert Probability".
Tale valore influisce sulla località dell'indirizzo precedentemente generato, ovvero l'indirizzo da generare avrà una prob.
P (inserita dall'utente) di assumere un valore che si discosta dall'indirizzo prec. solo di un'unità, altrimenti sarà estratto a caso.
La probabilità inserita dovrà essere un valore in percentuale, quindi compreso tra 0 e 100 e senza l'ausilio del simbolo "%" .

Tramite il menù a tendina sotto la voce "Number Test", è possibile scegliere il numero dei test che il simulatore deve eseguire in successione (max 5) .
Tale opzione permette di verificare, con input e probabilità diverse, l'output del software.
Per ogni test eseguito, una seconda tabella terrà conto in percentuale delle pagine trovate (HIT) o perse(MISS) e
infine calcolerà la media di tali valori .Tutto questo verrà effettuato per entrambi gli algoritmi LRU e FIFO.

E' presente il tasto di "Reset" per azzerare i valori di input e di output generati in qualsiasi momento.
Per chiudere l'applicazione è possibile far riferimento anche alla voce "Quit" contenuta nel MenùBar "File".

Esempio

Descriveremo brevemente un esempio in cui utilizzeremo tutte le funzionalità del simulatore.
Supponiamo di voler effettuare 3 test di seguito e di inserire una probabilità a scelta (es. 33%).

0. Prima di iniziare i test è possibile, tramite il pulsante "Create Input VM" , generare nuovi valori (casuali) nelle tabelle delle pagine virtuali .
1. Inserire il numero dei test da effettuare : cliccare sul tasto "Number Test" e scegliere 3 .
2. Inserire la probabilià prefissata : cliccare sul tasto "Insert Probability" inserire 33.
3. Creare il file di input : cliccare sul tasto "Create Input " fin quando non si è scelto un file di input (secondo l'utente) appropriato.
4. Elaborare l'input : se clicchiamo sul tasto "Next" elaboreremo solo un indirizzo; se clicchiamo sul tasto "Auto next"
elaboreremo l'intero pool di indirizzi. Una volta cliccato su "Auto Next" bisogna premere "Next" per concludere il test.
5. Fine test : avete elaborato tutti gli indirizzi . Verrà indicato quale test avete appena concluso .
Per ogni test terminato la tabella delle statistiche aggiorna la riga corrispondente con il dati raccolti dal test appena concluso.
6. Quindi ripetere altre 2 volte ritornando al punto "0." e saltare il passo "2.", perchè non avendo completato tutti i test, non sarà permesso modificare tale dato.

Valid CSS! Valid HTML 4.01!

Data: Venerdì 20 Luglio 2012
Home