График на кръг Робин в C програмиране



Тази статия ще ви предостави подробни и изчерпателни знания за това как да внедрите графика на кръг Робин в програмирането на C.

В тази статия ще научим за алгоритъма за планиране, наречен алгоритъм за планиране на кръг, какво е кръг? Как да напиша програма? И т.н. Нека започнем.

Какво е планирането на Round Robin?

Round Robin Scheduling е алгоритъм за планиране, използван от системата за планиране на използването на процесора. Това е превантивен алгоритъм. Съществува фиксиран интервал от време, свързан с всяка заявка, наречена квант. Планировчикът на задания запазва напредъка на работата, която се изпълнява в момента, и се придвижва към следващото задание, присъстващо в опашката, когато даден процес се изпълнява за даден времеви квант.





График на кръг Робин

как да създадете набор

Никой процес няма да задържи процесора за дълго време. Превключването се нарича контекстен превключвател. Това е може би един от най-добрите алгоритми за планиране. Ефективността на този алгоритъм зависи от квантовата стойност.



КРЪГЪЛ РОБИН АЛГОРИТЪМ ЗА ГРАФИК

  • Първо имаме опашка, където процесите са подредени по ред „първи дошъл първи“.
  • За изпълнение на всеки процес се разпределя квантова стойност.
  • Първият процес се изпълнява до края на квантовата стойност. След това се генерира прекъсване и състоянието се запазва.
  • След това CPU преминава към следващия процес и се следва същия метод.
  • Същите стъпки се повтарят, докато всички процеси приключат.

Помислете за примерния код

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, time_time [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nEnter Общ брой процеси: t') scanf ('% d', & limit) x = limit for (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, време на взрив [i], общо - време на пристигане [i], общо - време на пристигане [i] - време на взрив [i]) time_time = време на изчакване + общо - time_time на пристигане [i] = време на завъртане + общо - време на пристигане [i] брояч = 0} if (i == limit - 1) {i = 0} else if (time_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 }

ИЗХОД:

ОБЯСНЕНИЕ:

В горния код искаме от потребителя да въведе броя на процесите и времето за пристигане и времето за избухване за всеки процес. След това изчисляваме времето на изчакване и времето на обръщане, като използваме алгоритъма на кръговото движение.

Основната част тук е изчисляване на времето за обръщане и времето на изчакване. Времето за обръщане се изчислява чрез добавяне на общото време и изваждане на времето на пристигане.

какво е rmi в java

Времето за изчакване се изчислява чрез изваждане на времето на пристигане и времето на избухване от общото и го добавя t0 времето на изчакване. Ето как се осъществява планирането на кръглите роби.



ПРЕДИМСТВА:

  • Ниски режийни разходи за вземане на решения.
  • За разлика от други алгоритми, той дава еднакъв приоритет на всички процеси.
  • Гладът рядко настъпва в този процес.

НЕДОСТАТЪЦИ:

  • Ефективността на системата намалява, ако квантовата стойност е ниска, тъй като се извършва често превключване.
  • Системата може да спре да реагира, ако квантовата стойност е висока.

С това стигнахме до края на тази статия.

Надявам се, че сте намерили това информативно и полезно, следете за още уроци по подобни теми. Можете също така да проверите нашата програма за обучение to можете да получите задълбочени познания за jQuery заедно с различните му приложения за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.Приложете горния код с различни низове и модификации. Сега имаме добро разбиране на всички ключови понятия, свързани с показалеца.

плитко копие срещу дълбоко копиране на Java

Имате въпрос към нас? Споменете ги в раздела за коментари на този блог и ние ще се свържем с вас.