Un importante avvenimento nella capacità di calcolo è venuto quando gli ingegneri hanno sviluppato sistemi di multiprogrammazione . Sistemi di multiprogrammazione permesso a molti programmi diversi , chiamati processi, per l'esecuzione su un sistema contemporaneamente . Tuttavia, questi processi possono solo condividere le risorse di sistema attraverso l'uso di un sistema di pianificazione che assegna del processore ai processi . Diversi algoritmi sono stati sviluppati per la pianificazione, due più notevole è scheduling Round- Robin e la priorità di pianificazione . Multithreading e Pianificazione
I primi computer erano costruiti i sistemi di processo di esecuzione singoli. Successivamente, gli ingegneri di sistemi contenenti memoria interna accessibile dal processore che memorizzano i programmi multipli in esecuzione allo stesso tempo costruito . Questi sistemi , chiamati multiprogrammato o sistemi di multithreading , costringono il processore di lavorare su più processi attraverso un sistema conosciuto come programmazione . Il tempo pianificazioni processore per ogni processo in esecuzione basato su un algoritmo . Secondo il programma , ogni programma accede al processore in un ordine particolare . Quando pensiamo programmi eseguiti allo stesso tempo , sono davvero prendendo a turno il processore più volte al secondo.
Round Robin Scheduling
Uno dei primi algoritmi di scheduling si chiama l'algoritmo Round Robin . Questo algoritmo elenca i processi in esecuzione e dà ad ogni processo una fetta di tempo del processore , chiamato a quanti, per eseguire comandi o risorse di sistema . Allo scadere il tempo del processo , le scarica processore che di processo e carica il processo successivo , a prescindere se il primo termine del processo o meno. L'algoritmo determina quanto tempo ogni processo ottiene e quale processo può avere un impatto significativo sulle prestazioni del computer .
Priorità di pianificazione
Un'alternativa alla Round Robin programmazione è la programmazione di priorità . Priorità di pianificazione utilizza un algoritmo di priorità di assegnazione di designare processi secondo la loro importanza . Alcuni algoritmi assegnano la priorità a causa della quantità di tempo che il processo ha avuto dal suo ultimo turno al processore. I processi sono spesso permesso di utilizzare il processore fino a quando il loro compito è completa. Questo aiuta a mantenere i processi importanti sul processore e mantiene anche i processi meno importanti da raggiungere mai il processore .
Round Robin Versus Priorità
Ci sono alcune situazioni in cui lavora ogni algoritmo migliore . L'algoritmo Round Robin mantiene tutti i processi in movimento sul processore e non permette un qualsiasi processo di monopolizzare le risorse di sistema . Tuttavia, una scarsa selezione dei quanti può mantenere i processi di ottenere abbastanza tempo per completare tutta l'operazione , e quindi ridurre l'efficienza . Algoritmi di priorità garantire processi importanti ottenere più tempo al computer , ma a volte a scapito di processi minori.