Multitasking: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Etichette: Annullato Modifica visuale |
m Rb manuale alla versione del 8 set 2020 alle 07:40 di Capricornis crispus Etichetta: Ripristino manuale |
||
Riga 1:
{{F|teorie dell'informatica|febbraio 2013|Mancano completamente le sezioni Note, Bibliografia e Collegamenti esterni}}
Con '''multitasking''' (in [[lingua italiana|italiano]] '''multiprocessualità'''), in [[informatica]], si indica la capacità di un [[software]] di [[esecuzione (informatica)|eseguire]] più [[programma (informatica)|programmi]] contemporaneamente: se ad esempio viene chiesto al sistema di eseguire contemporaneamente due [[processo (informatica)|processi]] A e B, la [[CPU]] eseguirà per qualche istante di tempo il [[Processo (informatica)|processo]] A, poi per qualche istante successivo il [[Processo (informatica)|processo]] B, poi tornerà a eseguire il processo A e così via; il passaggio dal processo A al processo B e viceversa viene definito "[[commutazione di contesto]]" (''context switch'').
Le decisioni riguardanti l'esecuzione di un cambio di contesto tra due programmi vengono intraprese da un componente software del [[sistema operativo]], lo [[scheduler]], il quale invierà le proprie decisioni date principalmente dal [[nice (Unix)|nice]] a un altro modulo del sistema operativo, il [[dispatcher]] che eseguirà effettivamente il cambio di contesto: a seconda di quale strategia di servizio (''algoritmo di scheduling'') venga seguita, lo scheduler controlla la ripartizione del tempo di CPU tra tutti i processi attivi. Esistono due principali tecniche di controllo di termine e pausa del multitasking: il vecchio senza prelazione ('''cooperative''') e il nuovo con prelazione ('''preemptive'''), ma oggigiorno la vera potenza del multitasking risiede solo nell'[[algoritmo]] di scheduling usato.
|