Kerek Robin ütemezése a C programozásban



Ez a cikk részletes és átfogó ismereteket nyújt Önnek arról, hogyan lehet végrehajtani a kör Robin ütemezését a C programozásban.

Ebben a cikkben megismerjük az ütemezési algoritmust, az úgynevezett körvonalas ütemezési algoritmust, mi az a kör-robin? Hogyan írjunk programot? Stb. Kezdjük.

Mi az a kör Robin ütemezése?

A Round Robin Scheduling egy ütemezési algoritmus, amelyet a rendszer a CPU kihasználtságának ütemezésére használ. Ez egy megelőző algoritmus. Minden kvantum nevű kéréshez van rögzített időszelet. A munkaütemező elmenti a jelenleg végrehajtott munka előrehaladását, és áttér a sorban lévő következő feladatra, amikor egy adott folyamat egy adott idő kvantumra fut.





Kerek Robin ütemezése

mi az absztrakció a c ++ - ban

Egyetlen folyamat sem fogja sokáig tartani a CPU-t. A kapcsolást kontextuskapcsolónak nevezzük. Valószínűleg ez az egyik legjobb ütemezési algoritmus. Ezen algoritmus hatékonysága a kvantumértéktől függ.



KEREK ROBIN ÜTEMEZÉS ALGORITMUS

  • Először van egy sorunk, ahol a folyamatok sorrendben kerülnek rendezésre.
  • Az egyes folyamatok végrehajtásához kvantumértéket rendelünk.
  • Az első folyamatot a kvantumérték végéig hajtják végre. Ezt követően egy megszakítás jön létre, és az állapot mentésre kerül.
  • Ezután a CPU a következő folyamatra lép, és ugyanezt a módszert követi.
  • Ugyanazokat a lépéseket ismételjük, amíg az összes folyamat véget nem ér.

Tekintsük a példakódot

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, érkezési_idő [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nAdja meg a folyamatok összes számát: t') scanf ('% d', & limit) x = határérték (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && számláló == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, sorozatidő [i], összesen - érkezési idő [i], összesen - érkezési idő [i] - sorozat - idő [i]) várakozási idő = várakozási idő + összes - érkezési_ idő [i] - sorozat - idő [i] átfutási idő = átfutási idő + összes - érkezési_idő [i] számláló = 0} ha (i == korlát - 1) {i = 0} más, ha (érkezési_idő [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 }

KIMENET:

MAGYARÁZAT:

A fenti kódban arra kérjük a felhasználót, hogy adja meg az egyes folyamatok számát, érkezési idejét és tört sorozat idejét. Ezután a körbefutó algoritmus segítségével kiszámoljuk a várakozási időt és a fordulási időt.

A fő rész itt a fordulási idő és a várakozási idő kiszámítása. A megfordulási időt a teljes teljes idő összeadásával és az érkezési idő levonásával számítják ki.

mi a különbség az absztrakt osztály és az interfész között

A várakozási időt úgy számítják ki, hogy levonják az érkezési és a sorozatidőt az összesből, és hozzáadják t0 a várakozási időt. Így történik a körmérkőzés ütemezése.



ELŐNYÖK:

  • Alacsony rezsi a döntéshozatalhoz.
  • Más algoritmusokkal ellentétben minden folyamatnak azonos prioritást biztosít.
  • Az éhezés ritkán fordul elő ebben a folyamatban.

HÁTRÁNYOK:

  • A rendszer hatékonysága csökken, ha a kvantumérték alacsony, mivel gyakori váltás történik.
  • A rendszer nem reagálhat, ha a kvantumérték magas.

Ezzel a cikk végére értünk.

Remélem, hogy ezt informatívnak és hasznosnak találta, kövesse nyomon további hasonló témájú oktatóanyagokat. Megtekintheti edzésprogramunkat to alapos ismereteket szerezhet a jQuery-ről, annak különféle alkalmazásaival együtt élő online képzéshez 24/7 támogatással és egész életen át elérhető hozzáféréssel.Végezze el a fenti kódot különböző karakterláncokkal és módosításokkal. Most már jól értjük a mutatóval kapcsolatos összes kulcsfontosságú fogalmat.

mi a big data hadoop

Van egy kérdésünk? Említse meg őket ennek a blognak a megjegyzés rovatában, és mi kapcsolatba lépünk Önnel.