Domanda di: Dott. Sebastian Martinelli | Ultimo aggiornamento: 19 marzo 2023 Valutazione: 4.1/5
(73 voti)
Nel dettaglio lo scheduler si occupa di far avanzare un processo interrompendone temporaneamente un altro, realizzando così una commutazione di contesto all'interno del ciclo del processore.
La schedulazione utilizza il livello di pianificazione stabilito per produrre beni a partire da componenti o materie prime. È basata sul tempo e deve soddisfare la domanda stabilita a livello di pianificazione. Queste tabelle temporali possono essere specifiche per reparto, per prodotto e per processo.
Più tecnicamente il SO deve decidere a quale, fra i processi in memoria primaria e ready to run (processi in Ready Queue) assegnare la CPU. Questa operazione è appunto detta Scheduling della CPU, e viene fatta da un modulo del SO detto scheduler che è esso stesso un processo.
È il programma che legge ed interpreta le istruzioni di controllo relative a: • creazione e gestione dei processi; • gestione di I/O; • gestione della memoria secondaria; • gestione della memoria centrale; • accesso al file system; • Comunicazione su rete; • protezione.
Gli algoritmi di scheduling si possono classificare in due categorie: senza prelazione (non pre-emptive): la CPU rimane allocata al processo running finchè esso non si sospende volontariamente (ad esempio, per I/O), o non termina. con prelazione (pre-emptive ): il processo running può essere prelazionato, cioè: il S.O.