Skip to main content

Home/ Psicotecnologie e Processi Formativi - Uninettuno/ Multitasking Wikipedia----
ALESSANDRO GUARRATA

Multitasking Wikipedia---- - 4 views

#multitasking

started by ALESSANDRO GUARRATA on 20 Apr 12
  • ALESSANDRO GUARRATA
     
    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 il processo A, poi per qualche istante il processo B, poi tornerà ad 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 ad 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.
    Indice
    [nascondi]

    1 Il multitasking
    1.1 Multitasking senza prelazione (cooperative)
    1.2 Multitasking con prelazione (preemptive)
    2 Punto storico sui sistemi operativi multitasking preemptive
    3 Voci correlate

    Il multitasking [modifica]

    Esistono principalmente due tipi di multiprogrammazione:

    Tipo batch: in cui non c'è interattività con l'utente. L'obiettivo di questo tipo di multiprogrammazione è la massimizzazione delle prestazioni.

    Tipo time-sharing: in cui si permette a più utenti di utilizzare contemporaneamente e interattivamente lo stesso sistema, massimizzando la praticità d'uso, a scapito delle prestazioni.

    Per grado di multiprogrammazione si indica la capacità di un sistema di poter eseguire più processi in memoria.
    Multitasking senza prelazione (cooperative) [modifica]

    Detto anche multitasking cooperative, in questo caso i programmi cedono volontariamente il controllo al sistema operativo una volta finita l'operazione in corso: è il caso di Mac OS fino alla versione 9, o di Windows 3.0 e 3.1. Il vantaggio maggiore di questo metodo è che non ha bisogno di supporto hardware e si può implementare su ogni tipo di architettura. Il grave svantaggio è che un singolo programma che si rifiuta di cedere il controllo, o che si ferma per qualche errore, può bloccare l'intero computer in quanto il sistema operativo non ha modo di riprendere il controllo da solo. Più precisamente lo scheduler senza prelazione attua un cambio di contesto solo in circostanze quali:

    il passaggio di un programma dallo stato di esecuzione allo stato di attesa;
    il termine del programma stesso;

To Top

Start a New Topic » « Back to the Psicotecnologie e Processi Formativi - Uninettuno group