Round Robin Scheduling nella programmazione C.



Questo articolo ti fornirà una conoscenza dettagliata e completa di come implementare la programmazione Round Robin nella programmazione C.

In questo articolo, impareremo l'algoritmo di pianificazione chiamato algoritmo di pianificazione round-robin, cos'è il round-robin? Come scrivere un programma? Ecc. Cominciamo.

Cos'è il Round Robin Scheduling?

Round Robin Scheduling è un algoritmo di pianificazione utilizzato dal sistema per pianificare l'utilizzo della CPU. Questo è un algoritmo preventivo. Esiste un intervallo di tempo fisso associato a ciascuna richiesta chiamato quantum. Il programma di pianificazione dei lavori salva l'avanzamento del lavoro attualmente in esecuzione e passa al lavoro successivo presente nella coda quando un particolare processo viene eseguito per un dato quantum di tempo.





Round Robin Scheduling

burattino vs chef vs docker

Nessun processo manterrà la CPU per molto tempo. Il passaggio è chiamato cambio di contesto. È probabilmente uno dei migliori algoritmi di pianificazione. L'efficienza di questo algoritmo dipende dal valore quantistico.



ALGORITMO DI SCHEDULAZIONE ROUND ROBIN

  • Per prima cosa abbiamo una coda in cui i processi sono organizzati in ordine di primo arrivato, primo servito.
  • Viene assegnato un valore quantistico per eseguire ogni processo.
  • Il primo processo viene eseguito fino alla fine del valore quantistico. Successivamente, viene generato un interrupt e lo stato viene salvato.
  • La CPU passa quindi al processo successivo e viene seguito lo stesso metodo.
  • Gli stessi passaggi vengono ripetuti fino al termine di tutti i processi.

Considera il codice di esempio

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, arrival_time [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nEnter numero totale di processi: t') scanf ('% d', & limit) x = limite per (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && counter == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, burst_time [i], total - arrival_time [i], total - arrival_time [i] - burst_time [i]) wait_time = wait_time + total - arrival_time [i] - burst_time [i] turnaround_time = turnaround_time + total - arrival_time [i] counter = 0} if (i == limit - 1) {i = 0} else if (arrival_time [i + 1]<= total) { i++ } else { i = 0 } } average_wait_time = wait_time * 1.0 / limit average_turnaround_time = turnaround_time * 1.0 / limit printf('nnAverage Waiting Time:t%f', average_wait_time) printf('nAvg Turnaround Time:t%fn', average_turnaround_time) return 0 }

PRODUZIONE:

SPIEGAZIONE:

Nel codice sopra, chiediamo all'utente di inserire il numero di processi e l'ora di arrivo e il tempo di burst per ogni processo. Quindi calcoliamo il tempo di attesa e il tempo di turn around utilizzando l'algoritmo round-robin.

La parte principale qui è calcolare il tempo di rotazione e il tempo di attesa. Il tempo di svolta viene calcolato sommando il tempo totale impiegato e sottraendo l'orario di arrivo.

relazione tra java e javascript

Il tempo di attesa viene calcolato sottraendo il tempo di arrivo e il tempo di burst dal totale e sommandolo al tempo di attesa. Ecco come avviene la programmazione round-robin.



VANTAGGI:

  • Spese generali basse per il processo decisionale.
  • A differenza di altri algoritmi, dà uguale priorità a tutti i processi.
  • La fame si verifica raramente in questo processo.

SVANTAGGI:

  • L'efficienza del sistema diminuisce se il valore quantistico è basso poiché si verificano frequenti cambi.
  • Il sistema potrebbe non rispondere se il valore quantistico è alto.

Con questo, arriviamo alla fine di questo articolo.

Spero che tu l'abbia trovato utile e informativo, resta sintonizzato per ulteriori tutorial su argomenti simili. Puoi anche controllare il nostro programma di formazione tPer ottenere una conoscenza approfondita di jQuery e delle sue varie applicazioni, puoi farlo per la formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.Implementa il codice precedente con stringhe e modifiche diverse. Ora abbiamo una buona comprensione di tutti i concetti chiave relativi al puntatore.

cosa significa append in java

Hai domande per noi? Menzionateli nella sezione commenti di questo blog e vi risponderemo.