Il ruolo del dispatcher è di:
* Seleziona un processo: Dal pool di processi pronti per essere eseguiti.
* Switch di contesto: Salvare lo stato del processo attualmente in esecuzione (registri, puntatori di memoria, ecc.) E caricare lo stato del processo selezionato. Ciò consente alla CPU di passare perfettamente tra i processi.
* Avvia esecuzione: Inizia l'esecuzione del processo selezionato.
L'algoritmo utilizzato per la selezione del processo successivo (l'algoritmo di invio) influisce significativamente sulle prestazioni complessive del sistema. Algoritmi diversi danno la priorità a diversi aspetti, come:
* Tempo di consegna: Il tempo totale che un processo spende nel sistema (dalla presentazione al completamento).
* Tempo di attesa: Il tempo che un processo spende in attesa in coda pronta.
* Tempo di risposta: Il tempo necessario per un processo per iniziare a rispondere all'input dell'utente.
* throughput: Il numero di processi completati per unità di tempo.
Gli algoritmi di spedizione comuni includono:
* First-Come, primo servito (FCFS): I processi vengono eseguiti nell'ordine in cui arrivano. Semplice ma può portare a lunghi tempi di attesa.
* Primo lavoro più breve (SJF): Il processo con il tempo di esecuzione stimato più breve viene eseguito in seguito. Riduce al minimo i tempi di attesa medi ma richiede il tempo di esecuzione in anticipo.
* Pianificazione prioritaria: I processi sono assegnati priorità e il processo di priorità più elevato viene eseguito in seguito. Può portare alla fame per processi a bassa priorità.
* Round Robin: Ogni processo ottiene una piccola fetta di tempo (quantum) da eseguire prima di essere preventiva e spostata sul retro della coda pronta. Fornisce equità ma la dimensione quantistica influisce sulle prestazioni.
* Pianificazione della coda multilivello: I processi sono divisi in code in base alle proprietà (ad esempio, interattivo vs. batch). Ogni coda ha il proprio algoritmo di pianificazione.
* Pianificazione della coda di feedback multilivello: Simile alla coda multilivello ma consente ai processi di spostarsi tra le code in base al loro comportamento (ad esempio, un processo che utilizza la sua fetta di tempo potrebbe essere spostato in una coda a basso priorità).
In sostanza, la spedizione di processo è il legame critico tra i processi pronti e la CPU, garantendo che la CPU sia utilizzata in modo efficiente ed equo. La scelta dell'algoritmo influenza direttamente la reattività generale e l'efficienza del sistema operativo.
software © www.354353.com