Commutazione di contesto

Da Wikipedia, l'enciclopedia libera.

In informatica la commutazione di contesto (in inglese context switch) è un particolare stato del sistema operativo durante il quale si interrompe il processo correntemente in esecuzione su una delle CPU. Questo avviene all'occorrenza di una qualsiasi interruzione dovuta allo scheduler ma anche a interruzioni dovute a errori di altri processi o segnali; viene effettuato per salvare tutte le informazioni necessarie al riavvio successivo del processo ( per esempio registri di CPU, stato del processo, indirizzo tabelle di paginazione...). Permette a più processi di condividere una stessa CPU, ed è utile quindi sia nei sistemi monoprocessore, perché consente di eseguire più programmi contemporaneamente, sia nell'ambito del calcolo parallelo, perché consente un migliore bilanciamento del carico. Va ben distinto dal cambio di processo, operazione più elaborata e costosa sia in termini di tempo che risorse.

Fasi della commutazione di contesto[modifica | modifica wikitesto]

Prima di tutto la commutazione avviene all'occorrenza di un'interruzione che forza il sistema a sospendere il proprio lavoro per eseguire routine del kernel: il sistema deve salvare il contesto del processo corrente.

Il contesto di un processo in esecuzione è rappresentato da vari dati tra cui il program counter ed il contenuto dei registri generali o lo stato del processo, in modo che l'esecuzione potrà essere ripresa in seguito. Queste informazioni sullo stato del processo vengono generalmente salvate nel PCB del processo.

Successivamente si esegue il salvataggio dello stato corrente della CPU; in seguito i effettuerà un corrispettivo ripristino dello stato per poter riprendere l'elaborazione interrotta.

Il passaggio ad un nuovo processo implica tale operazione di salvataggio ed il successivo ripristino de contesto del nuovo processo che si vuole orre in esecuzione sulla CPU; sarà ovviamente scelto dalla coda pronti, in base alla propria politica di scheduling, e accederà al suo PCB per ripristinare il suo stato nel processore.

Il cambio di contesto è puro overhead.

Voci correlate[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica