Differenza tra Scheduler e Dispatcher

Differenza chiave - Scheduler vs Dispatcher
 

Scheduler e Dispatcher sono associati alla pianificazione dei processi di un sistema operativo. Il differenza fondamentale tra scheduler e dispatcher è quello lo schedulatore seleziona un processo tra diversi processi da eseguire mentre il dispatcher assegna la CPU per il processo selezionato dallo schedulatore.

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 diversi processi.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è Scheduler
3. Cos'è il Dispatcher
4. Relazione tra l'Utilità di pianificazione e il Dispatcher
5. Confronto affiancato - Scheduler vs Dispatcher in forma tabulare
6. Sommario

Cos'è Scheduler?

Esistono 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 scheduler di lavoro. Nel sistema informatico, c'è un numero di processi in attesa di esecuzione. Questi processi sono collocati nella memoria secondaria o nella coda dei lavori da eseguire in seguito. L'obiettivo dello scheduler a lungo termine è selezionare i processi dalla coda dei lavori e portare tale processo nella coda pronta nella memoria principale.

Lo scheduler a breve termine è anche conosciuto come Programmatore 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 scegliere un processo dalla coda pronta mentre il processo precedente passa allo 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 un altro processo. Il processo sospeso viene trasferito nella memoria secondaria. Dopo qualche tempo, il processo trasferito può tornare alla memoria principale e continuare l'esecuzione da dove è stato terminato. Viene chiamato il trasferimento del processo sospeso alla memoria secondaria scambio su. Il processo di ritorno alla memoria principale è noto come scambiare. Questo scambio in entrata e in uscita è fatto dal scheduler medio.

Cos'è il Dispatcher?

Quando lo scheduler a breve termine viene selezionato dalla coda pronta, il dispatcher esegue l'attività di allocazione del processo selezionato alla CPU. Un processo in corso passa allo stato di attesa per operazioni IO, ecc. Quindi la CPU viene assegnata ad un altro processo. Questo passaggio di CPU da un processo all'altro è chiamato commutazione di contesto. Un dispatcher svolge varie attività tra cui cambio di contesto, impostazione dei registri utente e mappatura della memoria. Questi sono necessari al processo per eseguire e trasferire il controllo della CPU a quel processo. Al momento della spedizione, il processo passa dallo stato pronto allo stato di esecuzione.

A volte, il dispatcher viene considerato come parte dello scheduler a breve termine, quindi l'intera unità viene definita come lo scheduler a breve termine. In questo scenario, l'attività 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 il processo selezionato dallo scheduler a breve termine alla CPU.

Qual è la differenza tra Scheduler e Dispatcher?

Scheduler vs Dispatcher

Uno scheduler è un software di sistema speciale che gestisce la pianificazione dei processi selezionando il processo da eseguire. Il dispatcher è il modulo che assegna il controllo della CPU al processo selezionato dallo scheduler a breve termine.
 tipi
Ci sono tre tipi di scheduler conosciuti come;

  • scheduler a lungo termine,
  • scheduler a breve termine
  • scheduler a medio termine.
Non esiste una categorizzazione per un dispatcher.
Compiti principali
Il scheduler a lungo termine  seleziona il processo dalla coda del lavoro e lo porta alla coda pronta.

Il scheduler a breve termine seleziona un processo nella coda pronta.

Il scheduler medio effettua lo swap in, swap out del processo.

Il dispatcher assegna la CPU al processo selezionato dallo scheduler a breve termine.

Sommario - Scheduler vs Dispatcher

Scheduler e Dispatcher vengono utilizzati nella pianificazione dei processi di un sistema operativo. La differenza tra lo scheduler e il dispatcher è che lo scheduler seleziona un processo tra diversi processi da eseguire mentre il dispatcher assegna la CPU per il processo selezionato dallo scheduler.

Riferimento:

1.Kiran Kumar. "Cpu Scheduling OS." LinkedIn SlideShare, 16 luglio 2014. Disponibile qui  
2. "Che cos'è la programmazione della CPU?" Pianificazione della CPU nel sistema operativo | Studytonight. Disponibile qui  
3. "Scheduling (Computing)." Wikipedia, Wikimedia Foundation, 31 marzo 2018. Disponibile qui