L'unità di elaborazione centrale (CPU) di un computer controlla i calcoli ed esegue i comandi di tutti i programmi in esecuzione sul computer. Ciò significa che il processore spesso manipola programmi multipli contemporaneamente . Per eseguire qualsiasi programma, programmi molto meno multiplo , la CPU ha bisogno di avere alcune informazioni da un programma in modo che il programma possa funzionare . Queste informazioni, chiamato stato , differisce da programma a programma. Quando si passa da un programma all'altro , la CPU deve implementare modifiche tra stati di programmi , chiamati cambio di contesto . Multitasking
Durante l'esecuzione di più programmi a memoria , il processore di un computer sembra solo di eseguire effettivamente i comandi contemporaneamente . Quando si guardano le azioni del sistema , sembra che tutto fili contemporaneamente . Tuttavia, il processore può eseguire effettivamente solo un singolo programma per volta . Gli interruttori del processore tra i programmi costantemente, a seconda della loro priorità , così rapidamente che gli utenti non sanno mai che i programmi eseguiti in modo indipendente l'uno dall'altro .
CPU Memoria Registri
Mentre il processore opere su i comandi di un programma particolare, i dati di tale programma risiede in registri di memoria locali speciali. Questi registri contengono informazioni variabili programma e altre informazioni riguardanti lo stato del programma in esecuzione . Queste informazioni vengono solitamente conservati nella memoria cache del processore , un tipo veloce , ma costoso di stoccaggio in genere utilizzato solo in piccole quantità nel processore stesso .
Context Switching
< p > Per gestire più programmi in esecuzione , il processore deve implementare cambi di contesto . Quando il processore passa contesto , tutte le informazioni da un programma in esecuzione viene scaricata in una parte di memoria . Le informazioni per il programma di esecuzione successivo viene caricato in registri locali e dei suoi comandi vengono eseguiti . Poiché lo stato di un programma è off- caricato di utilizzare lo stato di un altro , gli ingegneri chiamano questo un cambiamento di contesto . Lo stato della macchina viene cambiata per gestire il nuovo programma . Per ogni fetta di tempo che un programma ottiene sulla CPU , un cambio di contesto deve accadere .
CPU Scheduling
Per gestire contesto e cambio di contesto , una routine speciale il sistema operativo chiamato lo scheduler programma gestisce l'accesso alla CPU . Esistono diversi algoritmi per la gestione di questi programmi e di garantire che tutti hanno la possibilità di utilizzare il processore ; questi algoritmi determinano anche quanti si verificano cambi di contesto . Tipicamente , gli algoritmi che possono determinare la priorità di un programma e lasciare eseguire programmi sul processore il più lungo senza bloccare altri programmi aumenteranno l'efficienza del processore . Questo perché tutti i programmi saranno ancora avere una possibilità con il processore , evitando l'overhead associato al cambio di contesto .