
1. Склад алгоритмів внутрішнього планування
Найважливішим фактором, що впливає на ефективність обчислювальних систем, є втрати часу на організа-
цію мультизадачного режиму, тому до складу алгоритмів внутрішнього планування входять:
- Алгоритм управління кількістю процесів в робочій суміші;
- Алгоритм планування черговості вибору завдань для виконання їх на ЦП;
- Алгоритми вибору величини кванта часу, протягом якого процес, який отримав ЦП, може використовувати його.
Особливою функцією, покладеної на внутрішнє планування, є синхронізація паралельних процесів, проте-
кающих в системі.
АЛГОРИТМ УПРАВЛІННЯ КІЛЬКІСТЮ ПРОЦЕСІВ В РОБОЧОЇ СУМІШІ
Управління служить для підвищення продуктивності системи на основі раціонального використання апаратури
ЕОМ. Для режиму витісняючою мультизадачности кількість процесів, одночасно допускаються в систему, являє
собою обсяг робочої суміші N. Вибір значення N здійснюється з урахуванням величини кванта і тривалості циклу. Введемо сле-
дмуть позначення: qi - величина кванта процесорного часу, що відводиться i-м процесом; Ti - тривалість одного циклу
обробки для i-го процесу; Tз i, Tв i - тривалість переміщення i-го процесу з ОЗУ в ВЗП і назад при його витісненні і
відновленні; Tc i - витрати часу ОС на організацію роботи i-го процесу.
Тоді маємо: Тц i = Тз i + Tв i + qi + Tc i ,
Если Tз i = Tв i = Tп ; Tc i = Tc ; qi = q, i = 1, ..., N, то T = (2Tп + q + Tc) N; N = T / (2Tп + q + Tc )
Неважко розрахувати також ефективність завантаження центрального процесора на одному циклі для одного процесу: величина кванта час процесора - qi; непродуктивні витрати часу - Тн i = Тз i + Tп i + Tc i; показник завантаження процесора корисною роботою роботою
Збільшення кількості завдань, одночасно розв'язуваних системою, пов'язане зі збільшенням значення N
можна здійснити чотирма методами: 1)збільшенням загальної тривалості інтервалу циклу Т; 2)зменшенням витрат часу ОС на організацію мультипрограммирования Тс;3) зменшенням витрат часу на переміщення процесів з ОЗУ в ВЗП і назад при їх витіснення і відновленні Тз і Тв; 4)скороченням тривалості квантів часу, що відводяться для виконання процесів q.
Скорочення тривалості квантів часу qi, що відводяться для виконання процесів, автоматично викликає збіль-
чення тривалості перебування процесів у системі, через що цей спосіб має обмежене присування.
Найбільш продуктивними є методи, що призводять до скорочення витрат часу операційної системи Тс і, в
особливості, витрат часу на переміщення процесів з ОЗУ в ВЗП і назад при їх витіснення і відновленні.
Зменшення значення Тс досягається шляхом створення ефективних системних програм, що мають найменшу довжину програмного коду і найвищу швидкість виконання своїх функцій. У сучасних обчислювальних системах застосовуються всі перераховані способи збільшення ефективності обработки завдань.
АЛГОРИТМИ вибору чергової ОБРОБКИ
Планування черговості обробки здійснюється на основі черги процесів, що знаходяться в стані готовності.Всі ці процеси в мультипрограмних системах конкурують між собою, перш за все, через час центрального
процесора. Протягом кванта часу, виділеного процесу, можливе настання одного або декількох подій: ви-
конання процесу завершено; процес перейшов у стан очікування; центральний процесор знадобився для обслуговування процесу з вищим пріоритетом; завершився виділений процесу квант часу; сталася помилка в системі.
Рішення про порядок вибору процесів з черги здійснюється відповідно до реалізованими в ОС алгоритмами
планування черговості обробки. В даний час найбільш відомими є:
• алгоритм циклічної обробки;
• алгоритм черг зі зворотним зв'язком;
• алгоритм вибору за характером використання попереднього кванта;
• алгоритм вибору з пріоритетом за характером блокування.
Практично всі алгоритми планування черговості обробки мають евристичний характер. Сигналом до початку
роботи цих алгоритмів служать зазначені вище події, що настали у системі:
• якщо попередній процес закінчився, то виконуються дії по його виведення з системи:
• якщо попередній процес перейшов у стан очікування, то він переміщається в чергу блокованих процесів;
• якщо попередній процес перерваний операційною системою через те, що ЦП знадобився для обслуговування іншого процесу з вищим пріоритетом, то перерваний процес міститься в чергу перерваних процесів;
• якщо попередній процес вичерпав виділений йому квант часу, то він надходить в чергу готових процесів;
• якщо алгоритм планування активізований через якого іншого події, то виконуються дії згідно реакції на помилкову ситуацію, що виникла в системі.
Логіка роботи всіх алгоритмів планування черговості обробки практично збігається. Розрізняються вони лише
реалізаціями блоків "Вибір довжини кванта" і "Вибір чергового процесу".
Розглянемо алгоритми реалізації блоку "вибір чергового процесу".
Алгоритм циклічної обробки процесів не використовує жодної інформації про пріоритети оброблюваних
процесів. Всі процеси, що знаходяться в черзі, упорядковуються за часом їх надходження. Що стоїть першим у черзі процес отримує квант часу q центрального процесора. Існує багато різновидів алгоритмів циклічної
обробки, які називають також алгоритмами кругообігу процесів, наприклад, кругообіг зі зміщенням і егоїстичний кругообіг.
Алгоритм черг зі зворотним зв'язком організовує деяку кількість М черг, кожна з яких обслуговується в порядку надходження. Новий процес, що надійшов в систему, потрапляє в чергу № 1. Після закінчення використання чергового кванта часу процес переходить з черги з номером m в чергу з номером m + 1.
Алгоритм вибору за характером використання попереднього кванта розрізняє два типи стану готовності процесів : низькопріоритетною і високопріоритетною готовністю.
Якщо процес повністю використав попередній виділений квант часу ЦП, то йому присвоюється стан
"Низькопріоритетна готовність". Якщо процес використав не весь виділений квант часу ЦП через перехід у стання очікування, то йому присвоюється стан "високопріоритетна готовність". На обслуговування спочатку вибираються процеси, що знаходяться в стані високопріоритетної готовності, а потім, якщо їх немає, процеси, які знаходь. в стані "низькопріоритетної готовності"
АЛГОРИТМИ ВИБОРУ ВЕЛИЧИНИ КВАНТА
Вибір величини кванта є принципово необхідним у режимі поділу часу. Процедура квантування
виконується щоразу, коли ОС вибирає процес з робочої суміші і активізує його. В даний час найбільш
поширеними є:
- Алгоритм рівномірного квантування;
- Алгоритм квантування по пріоритету процесу;
- Алгоритм мінімізації кількості перемикань між процесами.
Алгоритм рівномірного квантування - найпростіший із згаданих вище алгоритмів. Відповідно до цього алго-
ритму кожному процесу, що знаходиться в робочій суміші, виділяється квант часу, тривалість якого може вимірюватися на відрізку часу існування процесу в системі. Тривалості квантів часу всіх процесів рівні між
собою. Алгоритм квантування по пріоритету процесу здійснює регулювання тривалості кванта qi для i-го про-
цесу залежно від його поточного пріоритету pi. Функціональна залежність qi = qi (pi) може мати будь допустимий вид і повинна мати такі основні характеристики: монотонність, позитивна визначеність, обмеженість. Алгоритм квантування з мінімізацією кількості перемикань полягає в тому, що активізується процес займає не тільки свій квант, але і залишки квантів процесів, які перейшли до цього моменту часу в стан сподіваня.