Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
роздрук.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
61.58 Кб
Скачать

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) може мати будь допустимий вид і повинна мати такі основні характеристики: монотонність, позитивна визначеність, обмеженість. Алгоритм квантування з мінімізацією кількості перемикань полягає в тому, що активізується процес займає не тільки свій квант, але і залишки квантів процесів, які перейшли до цього моменту часу в стан сподіваня.