4.2 Glossario
Attribuzione: Indica i processi ai quali la risorsa è attualmente
attribuita. Vedere molteplicità.
- Deadlock o stallo: Un insieme di processi si trova in una
situazione di stallo se ogni processo dell'insieme aspetta un evento che
solo un altro processo dell'insieme può provocare. Affinché uno stallo
possa verificarsi, devono valere quattro condizioni:
- Condizione di mutua esclusione: ogni risorsa è assegnata ad un solo processo, oppure è disponibile.
- Condizione hold and wait (prendi e aspetta): i processi che già hanno richiesto ed ottenuto delle risorse ne possono richiedere delle altre.
- Condizione di mancanza di prerilascio: le risorse che sono già state assegnate ad un processo non gli possono essere tolte in modo forzato, ma devono essere rilasciate volontariamente dal processo che le detiene.
- Condizione di attesa circolare: deve esistere una catena circolare di processi, ognuno dei quali aspetta il rilascio di una risorsa da parte del processo che lo segue.
- Grafo dell'allocazione delle risorse: Grafo composto da processi e risorse. Il grafo fornisce una rappresentazione grafica dell'assegnazione dei processi alle risorse. Una freccia dal processo alla risorsa indica
che il processo ha fatto una richiesta per la risorsa, oppure si trova bloccato su di essa.
Una freccia dalla risorsa al processo invece indica che il processo detiene la risorsa.
- Molteplicità: E' il massimo numero
di processi ai quali una risorsa può essere attribuita nello stesso istante.
I processi accedono in modo mutuamente esclusivo ad una risorsa se questa è
non prerilasciabile ed ha molteplicità unaria.
- Politica di assegnazione:
Una politica di assegnazione stabilisce l'ordinamento della coda di processi
bloccati in attesa della disponibilità di una specifica risorsa non
prerilasciabile. Influisce, quindi, nel modo in cui si intende svegliare i
processi bloccati. Il risveglio di un processo bloccato per una risorsa,
secondo la politica di assegnazione adottata, si verifica quando un processo,
che deteneva quella risorsa, ne ha completato l'utilizzo.
- Politica di ordinamento:
Detto anche algoritmo di schedulazione.
E' l'algoritmo che viene utilizzato dallo scheduler per scegliere il
prossimo processo che deve eseguire.
In particolare, stabilisce l'ordinamento e l'estrazione dei processi pronti.
Un algoritmo di schedulazione può essere diviso in due categorie: senza
prerilascio (nonpreemptive), se si lascia eseguire ogni processo finché non
rilascia volontariamente la CPU o non si blocca su un operazione di
input/output, con prerilascio (preemptive), se è stabilita una o
più condizioni per le quali, il processo che sta eseguendo è forzato a
rilasciare la CPU prima del termine della sua esecuzione.
Le condizioni di prerilascio vertono principalmente nell'arrivo di un nuovo
processo che ha priorità (si noti che la definizione di priorità caratterizza
la politica) maggiore del processo in esecuzione oppure nell'interruzione di
clock, dovuta allo scadere di una quantità prefissata di tempo.
Nel software SGPEMv2, le politiche di ordinamento senza prerilascio,
lasciano eseguire il processo finché questo non termina.
- Processo: Un processo è un programma in esecuzione.
All'interno di un sistema operativo, un processo deve mantenere i
valori correnti del program counter, dei registri e delle variabili.
Ogni processo è mantenuto all'interno dello scheduler, in una struttura
dati nominata tabella dei processi (process table).
Mediante questa struttura, lo scheduler possiede tutte le informazioni sui
processi attivi in ogni istante. In SGPEMv2, i processi sono astrazioni
semplificate dei processi reali.
- Risorsa: con questo termine si fa riferimento agli oggetti a
cui si vuole accedere in maniera esclusiva. Ci sono due tipi di risorse:
prerilasciabili e non prerilasciabili.
- Risorsa non prerilasciabile: E' una risorsa che non può essere ceduta ad un altro processo senza provocare il fallimento dell'esecuzione in atto.
- Risorsa prerilasciabile: E' una risorsa che si può togliere al processo che la sta usando senza provocare effetti dannosi.
- Simulazione: Evoluzione temporale della gestione dei processi. Può essere vista come una funzione che prende in input la configurazione e restituisce ad ogni istante la situazione corrente (sul processo in esecuzione, l'allocazione delle risorse, ecc.).
Sistemi Batch:
Sistemi caratterizzati da un ordinamento predeterminato,
prerilascio non necessario e da lavori di lunga durata e di limitata urgenza.
Questo approccio riduce il cambio di contesto (context switch) tra processi,
migliorando quindi le prestazioni.
- Sistemi Interattivi: Sistemi con grande varietà di attività e prerilascio essenziale.
- Sistemi Real Time:
Sistemi caratterizzati normalmente da processi di durata ridotta,
ma elevata urgenza. Tali processi devono eseguire entro una scadenza.
I sistemi real time si classificano in hard real time, nei quali le scadenze
sono inflessibili, e in soft real time, nei quali la scadenza è indicativa,
ma non necessariamente rigida. L'importanza dell'informazione contenuta e
prodotta da un processo che non è riuscito a terminare prima della sua
scadenza, decade rapidamente o diventa, in certi casi, addirittura nulla.
Un sistema real time può dover gestire processi periodici (che si verificano
ad intervalli regolari di tempo) e processi aperiodici o sporadici
(che si verificano in modo imprevedibile).
Il prerilascio dei processi, talvolta, non è necessario a causa della loro
breve esecuzione e perché il tempo a disposizione prima di scadere è limitato.
- Stato del processo: Lo stato del processo può essere in arrivo, se deve ancora arrivare e per cui non condiziona
la simulazione finché non viene attivato, bloccato,
se è in attesa di una risorsa attualmente non disponibile,
pronto, se è inserito in una può andare in esecuzione, in esecuzione,
se attualmente sta eseguendo, terminato se ha terminato la sua esecuzione.
- Tempo di attesa: E' il tempo durante il quale il processo è in stato di attesa.
- Tempo di risposta: E' il tempo tra l'invio di un comando e l'arrivo del risultato.
- Tempo di turnaround: E' il tempo medio statistico dal momento che viene richiesto un job batch fino al momento che il job viene completato e misura quanto tempo, in media, l'utente deve aspettare per ottenere i dati in uscita.
- Throughput: E' il numero dei job per ora che il sistema completa.
- Time slice: Nelle politiche di ordinamento con quanti,
(per esempio Round Robin), definisce l'intervallo di tempo che ogni
processo può eseguire. Quando il quanto di tempo del processo in esecuzione
è terminato (ossia è uguale al valore del time slice), il processo viene
riposizionato nella coda dei processi pronti.
pagina precedente
- pagina successiva