Domande e risposte sulla pianificazione dei processi del sistema operativo # 1
Question:Cos'è uno scheduler di processo? Indicare le caratteristiche di un buon scheduler di processo?
Cos'è la pianificazione? Quali criteri influenzano le prestazioni dello scheduler?
Answer:La pianificazione può essere definita come un insieme di politiche e meccanismi che controlla l'ordine in cui il lavoro da svolgere è completato. Il programma di pianificazione che è un software di sistema interessato alla pianificazione è chiamato scheduler e l'algoritmo che utilizza è chiamato algoritmo di pianificazione.
Vari criteri o caratteristiche che aiutano nella progettazione di un buon algoritmo di pianificazione sono:
CPU Utilization- Un algoritmo di pianificazione dovrebbe essere progettato in modo che la CPU rimanga occupata il più possibile. Dovrebbe fare un uso efficiente della CPU.
Throughput- Il rendimento è la quantità di lavoro completato in un'unità di tempo. In altre parole, il throughput è i processi eseguiti fino al numero di lavori completati in un'unità di tempo. L'algoritmo di pianificazione deve cercare di massimizzare il numero di lavori elaborati per unità di tempo.
Response time- Il tempo di risposta è il tempo impiegato per iniziare a rispondere alla richiesta. Uno scheduler deve mirare a ridurre al minimo il tempo di risposta per gli utenti interattivi.
Turnaround time- Il tempo di consegna si riferisce al tempo che intercorre tra il momento della presentazione di un lavoro / processo e il momento del suo completamento. Pertanto, anche il tempo necessario per eseguire un processo è un fattore importante.
Waiting time- È il tempo in cui un lavoro attende l'allocazione delle risorse quando più lavori sono in competizione in un sistema di multiprogrammazione. L'obiettivo è ridurre al minimo i tempi di attesa.
Fairness - Un buon programmatore dovrebbe assicurarsi che ogni processo riceva la sua giusta quota di CPU.