multitasking

In informatica, un sistema operativo con supporto per il multitasking (multiprocessualitร ) permette di eseguire piรน programmi contemporaneamente: se ad esempio viene chiesto al sistema di eseguire contemporaneamente due processi A e B, la CPU eseguirร  per qualche istante di tempo il processo A, poi per qualche istante successivo il processo B, poi tornerร  a eseguire il processo A e cosรฌ via. Il passaggio dal processo A al processo B e viceversa viene definito “cambio di contesto” (context switch). Le decisioni riguardanti l’esecuzione di un cambio di contesto tra due programmi vengono intraprese da un componente del sistema operativo, lo scheduler, il quale invierร  le proprie decisioni 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.