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
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 .
hardware © www.354353.com