В тази статия ще научим за алгоритъма за планиране, наречен алгоритъм за планиране на кръг, какво е кръг? Как да напиша програма? И т.н. Нека започнем.
- Какво е планирането на Round Robin?
- Алгоритъм за планиране на кръг Робин
- Код
- Предимства и недостатъци
Какво е планирането на 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
Имате въпрос към нас? Споменете ги в раздела за коментари на този блог и ние ще се свържем с вас.