Manuale Utente Si.Ge.M.

Sommario | Indice

Glossario

Glossario

 

Aging: politica di rimpiazzo. Versione ottimizzata dell'algoritmo Not Frequently Used, che invece di mantenere in memoria aree riferite molto ma solo in passato (il contatore continua ad avere un valore alto), dà maggior peso alle aree riferite più di recente.

 

Best Fit: politica di allocazione che alloca l'area di memoria all'inizio della più piccola area vuota in grado di contenerla.

 

Breakpoint: entità che consente di fermare la simulazione in un punto ben preciso e fissato a piacere.

 

Clock: politica di rimpiazzo che u tilizza lo stesso algoritmo di Second Chance, implementandolo però con una lista circolare ed un indice all'area più vecchia (similmente ad un orologio), evitando così di spostare le pagine al suo interno.

 

Concorrenza: due o più processi possono condividere dati fra loro. In un calcolatore monoprocessore multiprogrammato un solo processo alla volta può eseguire e quindi avere il possesso della CPU. Se il risultato finale dell’esecuzione di più processi dipende dall’ordine in cui essi vengono eseguiti si possono verificare inconsistenze sui dati in un modo non prevedibile. Si dice allora che i processi sono in concorrenza fra loro.

 

Cambio di contesto: in inglese context switch. E' il momento in cui un processo ha terminato il suo quanto di tempo e viene tolto dalla CPU e messo in attesa fino al suo prossimo turno. Dopo ciò viene caricato in CPU un altro processo. E' inevitabile che il cambio di contesto provochi un tempo di latenza.

 

CPU: acronimo di Central Processing Unit. E' l’unita centrale di elaborazione di un elaboratore. I calcolatori in genere hanno una sola CPU (monoprocessori), mentre i più moderni arrivano ad averne due (dual core) o quattro (quad core).

 

FIFO: politica di rimpiazzo che inserisce le pagine più recenti in coda ad una lista e rimuove le pagine dalla testa della stessa, togliendo dunque, all'occorrenza, le più vecchie.

 

First Fit: politica di allocazione che alloca l'area di memoria all'inizio della prima area grande abbastanza da poterla contenere.

 

Gestione della memoria: fra i vari compiti di un sistema operativo, una parte importantissima di esso deve occuparsi della gestione della memoria, cioè tenere conto delle parti di memoria usata e delle parti di memoria inutilizzata, allocare la memoria ai processi quando ne hanno bisogno, deallocarla quando hanno finito e infine gestire gli scambi fra memoria principale e memoria secondaria.

 

LRU: politica di rimpiazzo secondo la quale le aree riferite più recentemente saranno quelle con più probabilità di rimanere in RAM. Al contrario le aree che per molto tempo non vengono riferite, saranno le maggiori candidate alla rimozione in caso di necessità.

 

Memoria secondaria: è la memoria costituita dal cosiddetto disco fisso (Hard Disk). Le sue caratteristiche principali sono: grandi dimensioni, basso costo e lentezza rispetto alla memoria principale. Il disco è infatti costituito da parti meccaniche che comportano un tempo di accesso ai dati dell’ordine dei millisecondi.

 

Memoria virtuale: l’idea che sta alla base della memoria virtuale è quella di consentire ai processi di avere uno spazio d’indirizzamento in memoria principale più ampio dello spazio fisico disponibile, in modo da far coesistere più processi; la difficoltà risiede nel riuscire a far corrispondere lo spazio di indirizzamento virtuale allo spazio fisico, per definizione di ampiezze diverse. Questo è permesso grazie
alle tecniche dette: paginazione e segmentazione.

 

Multiprogrammazione: è una tecnica che permette ad un elaboratore di eseguire più processi contemporaneamente. Il paralellismo è in realtà solo teorico in quanto la CPU può eseguire una e una sola istruzione alla volta.

 

Next Fit: politica di allocazione che alloca l'area di memoria all'inizio della prima area grande abbastanza da contenerla, ma inizia le nuove ricerche a partire da dove quella precedente si era interrotta, invece che dall'inizio della RAM.

 

NFU: politica di rimpiazzo che aggiorna ad ogni round (un certo numero di cicli di clock) un contatore associato ad ogni area di memoria in memoria principale. Questo contatore aumenta più velocemente per le aree più spesso riferite. Così, dato che le candidate per la rimozione in caso di swap sono le aree col minore contatore associato, favorisce la permanenza in memoria di aree spesso riferite di recente.

 

NRU: politica di rimpiazzo che utilizza quattro liste nelle quali inserisce le aree di memoria a seconda della categoria di appartenenza:

  • class0: non riferite, non modificate
  • class1: non riferite, modificate
  • class2: riferite, non modificate
  • class3: riferite, modificate

Rimuove quindi, in caso di necessità, una pagina a caso dalla lista non vuota col numero minore.

 

Page fault: in un elaboratore dotato di memoria paginata, spesso accade che un processo richieda pagine che non sono state ancora caricate in memoria principale. Questo comporta che le pagine richieste debbano essere prese dal disco e caricate. L’hardware dedicato segnala questa situazione al sistema operativo tramite un page fault.

 

Paginazione: tecnica d’implementazione della memoria virtuale. Quest’ultima viene suddivisa in unità chiamate "pagine", di dimensione fissa. Le pagine in memoria principale vengono dette "page frame" o pagine fisiche. Non c’è corrispondenza nè diretta nè quantitativa fra pagine e pagine fisiche: per questo motivo si ha bisogno di hardware aggiuntivo per la traduzione da pagine a pagine fisiche. La presenza di memoria paginata non è nota al programmatore.

 

Parte codice (processo): parte del programma che contiene le istruzioni da eseguire.

 

Parte dati (processo): parte del programma che contiene i dati su cui il codice deve operare.

 

Parte work (processo): parte dello spazio di indirizzamento che contiene sia lo heap che lo stack del programma.

 

Politica di allocazione: l'algoritmo che determina in quale aree di memoria verrà allocato un segmento, in caso di memoria segmentata. Le politiche di allocazione messe a disposizione dal software Si.Ge.M. sono: Best Fit, First Fit, Quick Fit, Worst Fit.

 

Politica di rimpiazzo (paginazione): il sistema operativo deve gestire la paginazione in modo da garantire un certo livello di prestazioni al calcolatore. Si ha bisogno, quindi, di un criterio con il quale attribuire ad ogni processo le pagine che esso richiede, considerando che lo spazio fisico ha dimensioni limitate e che quindi deve esserci un riciclo di pagine fisiche già utilizzate. I criteri con cui questa idea è realizzata sono detti politiche di rimpiazzo. Le politiche di rimpiazzo messe a disposizione dal software Si.Ge.M. sono: Aging, Clock, FIFO, LRU, NFU, NRU, Second Chance.

 

Quick Fit: politica di allocazione che mantiene liste di aree vuote di grandezza compatibile, ogni lista contiene aree almeno di dimensione multipla di una certa unità. Ad esempio potrebbe avere una lista di aree da almeno 2KB, una di aree da almeno 4KB, una di aree da almeno 6KB, eccetera. Con Si.Ge.M. l'unità è configurabile dall'utente, il valore di default è 1KB. L'area viene allocata nella prima area della lista di dimensione sufficiente a contenerla.

 

RAM: acronimo di Random Access Memory (Memoria ad Accesso Casuale). E' una memoria veloce destinata a contenere i programmi in esecuzione e i loro dati, in modo da limitare gli accessi al disco fisso e quindi migliorare le prestazioni del sistema. Il suo costo è elevato. Nei moderni calcolatori multiprogrammati questa memoria viene virtualizzata (v. memoria virtuale).

 

Riferimento logico: un riferimento ad un indirizzo virtuale.

 

Round Robin: politica di scheduling che esegue i processi nell'ordine d'arrivo, ma esegue la prelazione del processo in esecuzione, ponendolo alla fine della coda dei processi in attesa, qualora l'esecuzione duri più del quanto di tempo stabilito, e facendo proseguire l'esecuzione al successivo processo in attesa.

 

Scheduling (politica di) : in un calcolatore multiprogrammato più processi possono eseguire in pseudo-paralellismo, ma solo uno di essi può trovarsi ad eseguire in CPU ad ogni istante di tempo. Ci sarà quindi una serie di processi che aspettano il loro turno per eseguire uno ed un solo processo che effettivamente esegue. Quando il processo che sta eseguendo finisce il suo quanto di tempo, al sistema operativo
spetta la decisione di scegliere quale sarà il prossimo processo ad eseguire. Il criterio con cui fa questa scelta si chiama politica di scheduling, termine che deriva dal processo del sistema operativo (nascosto all’utente) che applica la politica ed è chiamato scheduler.

 

Second Chance: politica di rimpiazzo la cui implementazione si basa su una lista di tipo FIFO che utilizza un bit di riferimento per ricordarsi delle aree maggiormente riferite, allo scopo di diminuire la probabilità che queste vengano rimosse.

 

Segmentazione: tecnica d’implementazione della memoria virtuale. Quest’ultima viene suddivisa in parti chiamate segmenti, ognuno dei quali diventa uno spazio d’indirizzamento vero e proprio, indipendente da tutti gli altri. Ogni segmento ha quindi dimensione variabile e può espandersi o contrarsi secondo le necessità del processo che lo usa. La segmentazione è nota al programmatore.

 

Spazio d’Indirizzamento: è lo spazio in memoria principale che viene assegnato ad un processo quando quest’ultimo viene creato. Ogni spazio d’indirizzamento contiene l’eseguibile del programma, i dati del programma e tutte le informazioni necessarie per l’esecuzione del processo. Ogni processo ha un suo spazio d’indirizzamento. La grandezza dello spazio d’indirizzamento dipende dall’architettura del
calcolatore.

 

Swap (Area di): considerate le dimensioni limitate della memoria principale, è possibile che non ve ne sia abbastanza per mantenere tutti i processi correntemente attivi. I processi in esubero vengono spostati in un’area su disco che viene chiamata area di swap. La tecnica di gestione della memoria più moderna è detta memoria virtuale e consente l’esecuzione dei processi caricati in memoria principale, anche parzialmente.

 

Worst Fit: politica di allocazione che alloca l'area di memoria all'inizio della più grande area vuota in grado di contenerla.

 

About Us | ©2008 P.R.O.B.E. | version 1.5