У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


shortest remaining time, слідуюче завдання потребує менш всього часу для свого закінчення ).

Дисципліна обслуговування RR (мал.10.)допускає що кожна задача одержує процесорний час порціями ( говорять: квантами часу q ). Після закінчення кванта часу q задача знімається з процесора і він передається наступній задачі. Знята задача ставиться в кінець черги задач, готових до виконання. Для оптимальної роботи системи необхідно правильно вибрати закон, по якому кванти часу виділяються задачам.

Рис.10. Дисципліна обслуговування RR

Перший прийшов – перший обслуговується (FCFS).

FCFS являється найбільш простою стратегією планування процесів і заключається в тому, що процесор передається тому процесу, який раніше за всіх його запросив. Середній час очікування для стратегії FCFS часто великий і залежить від порядку надходження процесів в чергу готових процесів. Стратегії FCFS належить так званий „ефект конвоя”. В цьому випадку коли у комп’ютері є один великий процес і декілька малих, то всі процеси збираються на початку черги готових процесів, а потім в чергу до обладнання. Таким чином „ефект конвоя” приводить до зниження загруженості, як процесора так і периферійного обладнання.

Планування з використанням багаторівневої черги.

При використанні цієї дисципліни диспетчеризації інтерактивні і пакетні процеси мають різні вимоги до короткострокового планувальника по відношенню до час відліку. Стратегія багаторівневої черги розділяє чергу готових процесів на декілька черг. В кожній з яких знаходяться процеси з однаковими властивостями і кожен з яких може плануватися індивідуальною стратегією. Наприклад, стратегія RR для інтерактивних процесів і FCFS для пакетних процесів.

Взаємодія черг здійснюється за наступними правилами: жоден з процесів з більш низьким пріоритетом не може бути запущений поки не виконаються процеси в усіх чергах з більш високим пріоритетом. Робота процеса із черги з більш низьким пріоритетом може бути призупинена, якщо в одній з черг з більш високим пріоритетом.

Пріоритетна багаточергова дисципліна обслуговування.

Вона використовує обслуговування з абсолютним і відносним пріорітетом. При обслуговуванні з абсолютним пріорітетом пріорітет визначається номером черги. І першим обслуговується запит з найвищим пріорітетом (з черги з меншим пріорітетом запити з черги і-1 буде переривати обробку запиту із черги і ).

Використання багаторівневої черги з оберненими зв’язками.

Звичайна багаторівнева черга не допускає переміщення процесів між чергами. Тут організовується п черг. Всі нові запити поступають в кінець першої черги. Перший запит з і-тої поступає на обслуговування лише тоді, коли всі черги від першої до і-1 – порожні. На обслуговування виділяється один квант часу (tk). Якщо за цей час обслуговування запит завершився повністю, то він покидає систему. В протилежному випадку необслужений запит поступає в кінець і+1 – черги. Після обслуговування запиту з і-тої черги система вибирає для обслуговування запит із непорожньої черги з наймолодшим номером. Таким запитом може бути наступний запит з черги і або із черги і+1. Новий запит поступає в першу чергу, тобто і=1. В такій ситуації після закінчення часу tk виділеного для обслуговування запиту з черги і буде почате обслуговування запиту першої черги. Дана система найшвидше обслуговує всі короткі по часу обслуговування запити.

Дана стратегія є універсальною і поєднує в собі властивості всіх розглянутих раніше. (мал..3)

Обслуговування не завершене

Обслужений запит

Новий запит

Квант обслуговування

Мал.11. Багаторівнева черга з оберненими зв’язками

Диспетчеризація без перерозподілу процесорного часу, або невиштовхуюча багатозадачність ( поп- preemptive, multitasking ) - це такий спосіб диспетчеризації процесів, при якому активний процес виконується до тих пір, поки він сам, що називається " по власній ініціативі ", не віддасть управління диспетчеру задач для вибору із черги другого, готового для виконання процесу або треда. Дисципліни обслуговування FCFS, SJN, SRT відносяться до не виштовхуючих.

Диспетчеризація з перерозподілом процесорного часу між задачами, або виштовхувана багатозадачність ( preemptive, multitasking ) - це такий спосіб, при якому рішення про переключення процесора з виконання одного процесу на виконання другого приймається диспетчером задач, а не самою активною задачею.

5. Переривання

Переривання - це примусова передача керування від виконуваної програми до системи (а через неї - до відповідної програми обробки переривання), що виникає при визначеній події. Переривання являють собою механізм, що дозволяє координувати стабільне функціонування окремих пристроїв обчислювальної системи і реагувати на особливі стани, що виникають при роботі процесора.

Механізм переривань реалізується апаратно-програмними засобами. Структури систем переривання (у залежності від апаратної архітектури) можуть бути різними, але усі вони мають одну загальну особливість - переривання неодмінне спричиняє зміну порядку виконання команд процесором.

Механізм обробки переривань незалежно від архітектури обчислювальної системи включає наступні елементи:

1 Встановлення факту переривання (прийом сигналу на переривання) і ідентифікація переривання (в ОС іноді здійснюється повторно, на кроці 4).

2. Запам'ятовування стану перерваного процесу. Стан процесу визначається насамперед значенням лічильника команд (адресою наступної команди, що, наприклад, у і80х86 визначається регістрами CS і IР - покажчиком команди), вмістом регістрів процесора і може включати також специфікацію режиму (наприклад, режим користувацький чи привілейований) і іншу інформацію.

3. Керування апаратно передається підпрограмі обробки переривання. У найпростішому випадку в лічильник команд заноситься початкова адреса підпрограми обробки переривань, а у відповідні регістри - інформація зі слова стану. У більш розвитих процесорах, наприклад у тім же і80286 і наступних 32-бітових мікропроцесорах, починаючи з і80386, здійснюється досить складна процедура визначення початкової адреси відповідної підпрограми обробки переривання і не менш складна процедура ініціалізації робочих регістрів процесора.

4. Збереження інформації про перервану програму, що не вдалося врятувати на кроці 2 за допомогою дій апаратури. У деяких обчислювальних системах передбачається


Сторінки: 1 2 3 4 5 6 7 8 9