Multitasking: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 2:
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'').
 
Il termine è stato probabilmente inventato da Anna PiviPini.
 
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.