Differenza chiave – Utilità di pianificazione vs Dispatcher
Scheduler e Dispatcher sono associati alla pianificazione dei processi di un sistema operativo. La differenza fondamentale tra scheduler e dispatcher è che lo scheduler seleziona un processo tra diversi processi da eseguire mentre il dispatcher alloca la CPU per il processo selezionato dallo scheduler.
In un sistema informatico sono in esecuzione diversi processi. La pianificazione è il processo del sistema operativo per decidere quale processo deve essere assegnato alla CPU per l'esecuzione di più processi.
Cos'è lo Scheduler?
Ci sono tre tipi di scheduler in un sistema operativo. Sono lo scheduler a lungo termine, lo scheduler a breve termine e lo scheduler a medio termine. Lo scheduler a lungo termine è anche noto come job scheduler. Nel sistema informatico sono presenti numerosi processi in attesa di esecuzione. Questi processi vengono inseriti nella memoria secondaria o nella coda dei lavori per essere eseguiti in seguito. L'obiettivo dello scheduler a lungo termine è selezionare un processo dalla coda dei lavori e portare quel processo nella coda pronta nella memoria principale.
Lo scheduler a breve termine è anche conosciuto come lo scheduler della CPU. Il compito dello scheduler a breve termine è selezionare un processo nella coda pronta che dovrebbe essere allocato alla CPU. Lo scheduler a breve termine dovrebbe selezionare un processo dalla coda pronta mentre il processo precedente va in stato di attesa. Dovrebbe essere veloce altrimenti il tempo della CPU sarà sprecato.
Figura 01: pianificazione del processo
Il processo di esecuzione potrebbe richiedere un'operazione di I/O. Quindi, il processo passa allo stato di attesa. Si dice che questo processo sia sospeso. Per il massimo utilizzo della CPU, dovrebbe essere eseguito qualche altro processo. Il processo sospeso viene ritrasferito nella memoria secondaria. Dopo qualche tempo, il processo trasferito può tornare alla memoria principale e continuare l'esecuzione dal punto in cui è stato terminato. Il trasferimento del processo sospeso alla memoria secondaria viene chiamato swapping. Il ripristino del processo nella memoria principale è noto come swapping. Questo scambio in entrata e in uscita viene eseguito dallo scheduler medio.
Cos'è Dispatcher?
Quando lo scheduler a breve termine seleziona dalla coda di pronto, il dispatcher esegue il compito di allocare il processo selezionato alla CPU. Un processo in esecuzione passa allo stato di attesa per l'operazione IO, ecc. Quindi la CPU viene assegnata a un altro processo. Questo passaggio della CPU da un processo all' altro è chiamato cambio di contesto. Un dispatcher esegue varie attività tra cui il cambio di contesto, l'impostazione dei registri utente e la mappatura della memoria. Questi sono necessari affinché il processo esegua e trasferisca il controllo della CPU a quel processo. Durante l'invio, il processo passa dallo stato pronto allo stato in esecuzione.
A volte, il dispatcher è considerato parte dello scheduler a breve termine, quindi l'intera unità viene chiamata scheduler a breve termine. In questo scenario, il compito dello scheduler a breve termine è selezionare un processo dalla coda pronta e anche allocare la CPU per quel processo.
Qual è la relazione tra lo scheduler e il Dispatcher?
Il dispatcher assegna alla CPU il processo selezionato dallo scheduler a breve termine
Qual è la differenza tra Scheduler e Dispatcher?
Programmatore vs Dispatcher |
|
Uno scheduler è un software di sistema speciale che gestisce la pianificazione del processo selezionando il processo da eseguire. | Il dispatcher è il modulo che fornisce il controllo della CPU al processo selezionato dallo scheduler a breve termine. |
Tipi | |
Ci sono tre tipi di programmatori conosciuti come;
|
Non esiste una categorizzazione per un dispatcher. |
Compiti principali | |
Lo scheduler a lungo termine seleziona il processo dalla coda dei lavori e lo porta nella coda dei lavori pronti. Lo scheduler a breve termine seleziona un processo nella coda pronta. Lo scheduler medio esegue lo swap in, lo swap out del processo. |
Il dispatcher assegna la CPU al processo selezionato dallo scheduler a breve termine. |
Riepilogo – Scheduler vs Dispatcher
Scheduler e Dispatcher vengono utilizzati nella pianificazione dei processi di un sistema operativo. La differenza tra scheduler e dispatcher è che lo scheduler seleziona un processo tra diversi processi da eseguire mentre il dispatcher alloca la CPU per il processo selezionato dallo scheduler.