Che cos'è il cambio di contesto?

Uno dei maggiori passi avanti nella progettazione e nel funzionamento delle unità di elaborazione centrale (CPU) è arrivato quando i progettisti di sistemi operativi per computer hanno sviluppato tecniche per consentire agli utenti di eseguire il multitasking. Il multitasking in riferimento ai computer è la pratica di eseguire due o più programmi contemporaneamente. Dal punto di vista dell'utente finale, questo potrebbe non sembrare complicato o inverosimile, ma in realtà rappresenta un notevole salto nella progettazione del sistema. Nel multitasking, la CPU deve destreggiarsi tra tutte le operazioni per i diversi programmi attivi, registrando dove si trova con ciascun programma mentre l'utente passa avanti e indietro tra di loro. Il cambio di contesto è il processo che consente alla CPU di ricordare e ripristinare gli stati per una varietà di programmi attivi, consentendole di completare questo atto di giocoleria.

Durante il cambio di contesto, la CPU elimina qualsiasi programma che sta attualmente gestendo, memorizzando la posizione specifica in cui si trovava in quel programma in modo da poter riprendere i suoi progressi in seguito. Per dirlo in prospettiva, il cambio di contesto è un po 'come la lettura di più libri allo stesso tempo, cambiando continuamente avanti e indietro tra loro, ricordando sempre i numeri di pagina per ciascuno. Le informazioni sul "numero di pagina" per i programmi durante un'operazione di commutazione di contesto sono contenute nel blocco di controllo del processo (PCB). Il PCB viene talvolta chiamato anche "switchframe". Queste informazioni sono archiviate nella memoria della CPU effettiva, fino a quando non sono nuovamente necessarie.

Il cambio di contesto si verifica in tre possibili situazioni: gestione degli interrupt, multitasking e commutazione dell'utente. Nella gestione degli interrupt, un altro programma "interrompe" il programma corrente mentre è in esecuzione. Una volta che la CPU riceve l'interrupt, esegue un cambio di contesto per destreggiarsi tra il programma in esecuzione e il programma che richiede dati immediati. Nel multitasking, la CPU si sposta avanti e indietro tra i programmi, dando una fetta di tempo di elaborazione a ciascuno ed eseguendo un'operazione di cambio di contesto per cambiare tra i due. Per alcuni sistemi operativi, un interruttore di contesto viene eseguito anche durante un interruttore utente per il sistema operativo, sebbene ciò non sia espressamente richiesto.

Il sistema operativo o l'hardware del computer possono controllare il cambio di contesto. Alcuni sistemi operativi moderni e sono progettati per controllare il cambio di contesto attraverso il sistema operativo stesso, ignorando qualsiasi supporto hardware integrato per la procedura. Ciò consente al sistema operativo di salvare più informazioni durante uno switch di contesto, consentendogli di conservare più informazioni sullo switch.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?