Алгоритъм за кръгово планиране с пример

⚡ Умно обобщение

Планирането по кръгов процес (Round-Robin Scheduling) е най-старият и най-прост превантивен алгоритъм за процесора, при който всеки готов процес се изпълнява за фиксиран времеви интервал в циклична опашка, осигурявайки справедливо изпълнение без гладуване за многозадачност.

  • 🔄 Определение: Всяка готова задача се изпълнява на свой ред за фиксиран времеви интервал.
  • Квант на времето: Процесорът превключва процесите след фиксиран интервал, наречен квантът на времето.
  • Справедливост: Всеки процес получава еднакво процесорно време, като се избягва гладуване.
  • 🧮 Превантивно: Предварително изпреварен процес се премества в края на опашката.
  • Предимства: Справедливо разпределение, липса на ефект на конвой, предвидимо време за реакция.
  • ⚠️ Недостатъци: Производителността зависи от кванта на времето и добавя разходи за превключване на контекста.

Алгоритъм за кръгово планиране

Какво е Round-Robin Scheduling?

Името на този алгоритъм идва от кръговия принцип, при който всеки човек получава равен дял от нещо на свой ред. Това е най-старият и прост алгоритъм за планиране, който се използва най-вече за многозадачност.

При кръговото планиране (Round-robin) всяка готова задача се изпълнява само на свой ред в циклична опашка за ограничен времеви интервал. Този алгоритъм предлага и изпълнение на процеси без гладуване.

Характеристики на Round-Robin Scheduling

Ето важните характеристики на Round-Robin Scheduling:

  • Кръговият алгоритъм е превантивен алгоритъм.
  • Процесорът се прехвърля към следващия процес след фиксиран интервал от време, който се нарича времеви квант/времеви срез.
  • Процесът, който е изтеглен, се добавя в края на опашката.
  • Кръговият модел е хибриден модел, който се управлява от часовник.
  • Времевият интервал трябва да е минимален и се определя за конкретна задача, която трябва да бъде обработена. Той обаче може да се различава от операционна система до операционна система.
  • Това е алгоритъм в реално време, който реагира на събитие в рамките на определен период от време.
  • Кръговият алгоритм е един от най-старите, най-справедливите и най-лесните алгоритми.
  • Това е широко използван метод за планиране в традиционните операционни системи.

Пример за кръгово планиране

Разгледайте следните три процеса:

Опашка за обработка Време на избухване
P1 4
P2 3
P3 5

График по кръгов режим

Стъпка 1) Изпълнението започва с процес P1, който има време на избухване 4. Тук всеки процес се изпълнява за 2 секунди. P2 и P3 все още са в опашката за чакане.

График по кръгов режим

Стъпка 2) В момент = 2, P1 се добавя в края на опашката и P2 започва да се изпълнява.

График по кръгов режим

Стъпка 3) В момент = 4, P2 се изпреварва и се добавя в края на опашката. P3 започва изпълнението.

График по кръгов режим

Стъпка 4) В момент = 6, P3 се изпреварва и се добавя в края на опашката. P1 започва изпълнението.

График по кръгов режим

Стъпка 5) В момент = 8, P1 има време за пакетно изпълнение 4. Изпълнението е завършено. P2 започва изпълнение.

График по кръгов режим

Стъпка 6) P2 има време за изпълнение от 3. Вече е изпълнен за 2 интервала. В момент = 9, P2 завършва изпълнението. След това P3 започва изпълнение, докато не завърши.

График по кръгов режим

Стъпка 7) Нека изчислим средното време на чакане за горния пример.

Wait time
P1 = 0 + 4 = 4
P2 = 2 + 4 = 6
P3 = 4 + 3 = 7

Предимства на кръговото планиране

Ето са плюсовете/ползите от метода на кръгово планиране:

  • Не се сблъсква с проблемите на глада или ефекта на конвоя.
  • Всички задачи получават справедливо разпределение на процесора.
  • Той обработва всички процеси без никакъв приоритет.
  • Ако знаете общия брой процеси в опашката за изпълнение, тогава можете също да приемете най-лошото време за реакция за същия процес.
  • Този метод на планиране не зависи от времето за пакетно изпълнение. Ето защо е лесно приложим в системата.
  • След като даден процес се изпълни за определен набор от периоди, процесът се изпреварва и друг процес се изпълнява за този даден период от време.
  • Позволява на операционната система да използва метода за превключване на контекста, за да запазва състоянията на предварително зададените процеси.
  • Дава най-добра производителност по отношение на средно време за реакция.

Недостатъци на кръговия график

Ето недостатъците/минусите на използването на кръгово-робинно планиране:

  • Ако времето за нарязване на операционната система е ниско, производителността на процесора ще бъде намалена.
  • Този метод отделя повече време за превключване на контекста.
  • Неговото представяне силно зависи от времето.
  • Не могат да се задават приоритети за процесите.
  • Кръговото планиране не дава специален приоритет на по-важните задачи.
  • Това намалява разбираемостта.
  • По-ниският квант на времето води до по-високи разходи за превключване на контекста в системата.
  • Намирането на правилния квант на времето е доста трудна задача в тази система.

Латентност в най-лошия случай

Този термин се използва за максималното време, необходимо за изпълнение на всички задачи.

  • dt = Означава времето за откриване, когато задача е добавена в списъка
  • st = Означава време за превключване от една задача към друга
  • et = Означава времето за изпълнение на задачата

Формула:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR
tISR = sum of all execution times

Въпроси и Отговори

Времевият квант, или времевият срез, е фиксираното процесорно време, през което всеки процес се изпълнява, преди да бъде превзет. Твърде големият се държи като FCFS; твърде малкият добавя големи режийни разходи за превключване на контекста.

FCFS изпълнява всеки процес до завършване по реда на пристигане и не е превантивен. Round Robin е превантивен: той дава на всеки процес фиксиран времеви интервал и преминава през опашката, подобрявайки времето за реакция и предотвратявайки блокирането на други от дълги задачи.

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

Изкуственият интелект и машинното обучение могат да предвиждат поведението на процесите и моделите на натоварване, за да настройват решенията за планиране в реално време. Вместо фиксирана политика, системата може динамично да адаптира приоритетите и времевите интервали, подобрявайки използването на процесора, пропускателната способност и времето за реакция.

Да. Моделите с изкуствен интелект могат да анализират минали времена на импулси и натоварване на системата, за да предложат оптимален времеви квант и да го коригират при промяна на условията. Това балансира разходите за превключване на контекста спрямо времето за реакция по-добре от една фиксирана стойност.

Обобщете тази публикация с: