Multiprogrammazione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
{{W||gennaio 2006}}
La '''multiprogrammazione''' è un tipo di programmmazione che garantisce l'esecuzione di più processi su un sistema '''contemporaneamente'''.
 
Le motivazioni per cui si usa la multiprogrammazione sono che questa garantisce un aumento di prestazioni e allo stesso tempo un risparmio di risorse.
 
Esistono principalmente due tipi di multiprogrammazione:
 
1. la multiprogrammazione di tipo '''[[batch''']] in cui non c'è interattività con l'utente. L'obiettivo di questo tipo di multiprogrammazione è la massimizzazione delle prestazioni.
 
2. la multiprogrammazione di tipo '''time-sharing''' (più utenti interattivi) in cui l'obbiettivo consiste nella massimizzazione della confortabilità e della praticità d'uso, a scapito delle prestazioni.
 
2. la multiprogrammazione di tipo '''[[time-sharing''']] in cui si permette a (più utenti interattivi)di inutilizzare cuicontemporaneamente l'obbiettivoe consisteinterattivamente nellalo massimizzazionestesso dellasistema, confortabilità emassimizzando dellala praticità d'uso, a scapito delle prestazioni.
Facendo riferimento al diagramma degli stati di un [[processo]] si possono fare alcune considerazioni.
 
Per '''grado di multiprogrammazione''' si indica la capacità di un sistema di poter eseguire più processi in memoria.
a. Nella fase di creazione di un processo viene generato un [[pid]] Process Identifier per garantirne il riconoscimento da parte del sistema operativo.
 
Vedasi anche [[multitasking]].
b. Il '''Grado di multiprogrammazione''' è il numero di processi che si trovano nella parte attiva del diagramma.
{{W||dicembre 2005}}