Apaļā Robina plānošana C programmēšanā



Šis raksts sniegs jums detalizētas un visaptverošas zināšanas par to, kā īstenot apaļo robinu plānošanu C programmēšanā.

Šajā rakstā mēs uzzināsim par plānošanas algoritmu, ko sauc par apļa plānošanas algoritmu, kas ir apaļais robins? Kā uzrakstīt programmu? Utt. Sāksim.

Kas ir apļa robina plānošana?

Round Robin Scheduling ir plānošanas algoritms, ko sistēma izmanto CPU izmantošanas plānošanai. Šis ir preventīvs algoritms. Katram pieprasījumam, kas tiek saukts par kvantu, ir noteikta laika daļa. Darbu plānotājs saglabā pašreiz izpildītā darba gaitu un pāriet uz nākamo rindā esošo darbu, kad noteikts laiks tiek izpildīts konkrēts process.





Apaļā Robina plānošana

Neviens process ilgi neaiztur CPU. Pārslēgšanos sauc par konteksta slēdzi. Tas, iespējams, ir viens no labākajiem plānošanas algoritmiem. Šī algoritma efektivitāte ir atkarīga no kvantu vērtības.



metodes pārslodze un metodes ignorēšana Java

APSTRĀDES ROBINA PLĀNOŠANAS ALGORĪMS

  • Mums vispirms ir rinda, kurā procesi tiek sakārtoti rindas kārtībā.
  • Katra procesa izpildei tiek piešķirta kvantu vērtība.
  • Pirmais process tiek izpildīts līdz kvantu vērtības beigām. Pēc tam tiek ģenerēts pārtraukums un stāvoklis tiek saglabāts.
  • Pēc tam centrālais procesors pāriet uz nākamo procesu, un tiek izmantota tā pati metode.
  • Tās pašas darbības tiek atkārtotas, līdz visi procesi ir beigušies.

Apsveriet koda piemēru

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, saabšanas_ laiks [10], sērijas laiks [10], temp [10] pludiņa vidējais_gaidīšanas laiks, vidējais_apgādes_laiks printf ('nEnter Kopējais procesu skaits: t') scanf ('% d', & limit) x = ierobežojums (i = 0 i0) {temp [i] = temp [i] - laika_kvantums kopā = kopā + laika_kvantums} ja (temp [i] == 0 && skaitītājs == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, sērijas laiks [i], kopā - ierašanās_ laiks [i], kopā - ierašanās_ laiks [i] - sērijas laiks [i]) gaidīšanas laiks = gaidīšanas laiks + kopējais - ierašanās_ laiks [i] - sērijas laiks [i] pagrieziena laiks = pagrieziena laiks + kopā - ierašanās_ laiks [i] skaitītājs = 0} ja (i == ierobežojums - 1) {i = 0} cits ja (ierašanās_ laiks [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 }

REZULTĀTS:

Paskaidrojums:

Iepriekš minētajā kodā mēs lūdzam lietotāju ievadīt procesu skaitu un ierašanās laiku un katra procesa pārsprāgt. Pēc tam mēs aprēķinām gaidīšanas laiku un pagrieziena laiku, izmantojot apļa algoritmu.

Šeit galvenā daļa ir pagrieziena un gaidīšanas laika aprēķināšana. Apgriešanās laiku aprēķina, saskaitot kopējo aizņemto laiku un atņemot ierašanās laiku.

kā izveidot pārdošanas spēka lietotni

Gaidīšanas laiku aprēķina, no kopējā atņemot ierašanās laiku un pārsprāgt laiku un saskaitot to t0 gaidīšanas laiku. Šādi notiek apļa plānošana.



Priekšrocības:

  • Zema pieskaitāmā summa lēmumu pieņemšanai.
  • Atšķirībā no citiem algoritmiem tas visiem procesiem piešķir vienādu prioritāti.
  • Bads šajā procesā notiek reti.

TRŪKUMI:

  • Sistēmas efektivitāte tiek samazināta, ja kvantu vērtība ir zema, jo notiek bieža pārslēgšanās.
  • Ja kvantu vērtība ir augsta, sistēma var nereaģēt.

Ar to mēs esam nonākuši pie šī raksta beigām.

Es ceru, ka jūs atradāt šo informatīvo un noderīgo. Sekojiet līdzi vairāk pamācībām par līdzīgām tēmām. Jūs varat arī apskatīt mūsu apmācības programmu to varat iegūt padziļinātas zināšanas par jQuery kopā ar dažādiem tā lietojumiem tiešsaistes apmācībai tiešsaistē ar diennakts atbalstu un piekļuvi mūža garumā.Ievietojiet iepriekš minēto kodu ar dažādām virknēm un modifikācijām. Tagad mums ir laba izpratne par visiem galvenajiem jēdzieniem, kas saistīti ar rādītāju.

Vai mums ir jautājums? Pieminiet tos šī emuāra komentāru sadaļā, un mēs ar jums sazināsimies.