Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операцiйнi системи та середовища6.05.07(Антонов...doc
Скачиваний:
11
Добавлен:
04.05.2019
Размер:
801.79 Кб
Скачать

2.3 Система керування процесами

2.3.1 Дворівнева система керування процесами

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

На рівень довготермінового планування виносяться дії, які відбуваються в ОС рідко, але потребують великих системних витрат.

На рівень короткотермінового планування виносяться часті та більш короткі за тривалістю дії з керування процесами. На кожному рівні є власний об’єкт та власні засоби керування ним.

На рівні довготермінового планування об’єктом керування є сукупність процесів, яка становить єдине ціле, об’єднане спільним функціональним призначенням, наприклад, завдання. Під завдання ОС надає віртуальну машину, котра має у своєму складі оперативну пам’ять, в якій зберігається програма під час її виконання, інші види пам’яті, здатні зберігати та забезпечувати доступ до вхідних та вихідних даних, процесор, пристрої введення/виведення. На цьому рівні планується розподіл часу всієї віртуальної машини.

На рівні короткотермінового планування об’єктом керування виступають процеси, які є споживачами центрального процесора для внутрішніх процесів або інших процесорів для зовнішніх процесів. На цьому рівні зреалізовуються системні дії з активізації одного з процесів, які перебувають у стані готовності, при звільнюванні процесора, породжуванні та знищуванні процесів, переведенні процесів зі стану до стану, з розв’язання завдань синхронізації при взаємодії процесів. Особливістю стратегії розподілу процесора на даному рівні (диспетчеризації) є необхідність багаторазового розподілу одного процесора для кожного з процесів на інтервалах їхнього існування з метою досягнення багатозадачності [2].

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

У відповідь на вимогу завершення програми від рівня довготермінового планування система керування процесами переводить процес до стану “Завершення”. Завершення процесу може бути передбаченим, нормальним або аварійним, наприклад, за спроби звернутися до області пам’яті, неприступної для цієї програми. При завершенні процесу зберігається або передається інформація про результати роботи процесу, звільнюються ресурси, розподілені процесові, причому найчастіше вони передаються породжуючому процесові, який і надав їх породженому. ОС підраховує витрати ресурсів на інтервалі існування процесу та фіксує їх; останньою дією системи є знищення дескриптора процесу. У будь-якому стані, окрім активного, процес є пасивним об’єктом, але перехід з активного стану до інших може виконуватись або за ініціативою самого процесу або за перериваннями. Переривання в цьому разі тлумачаться ширше, аніж просто переривання поточної виконуваної програми. При перериванні забезпечується зберігання статусної інформації про перервану програму та використані ресурси й здійснюються необхідні зміни в інформаційних керівних структурах, насамперед у дескрипторі.

Підставою для переведення процесу до станів “Очікування” та “Готовність” є розміщення процесу в черзі з-посеред інших процесів на підставі правил синхронізування процесів. Переведення процесу до активного стану здійснюється короткотерміновим планувачем. Планувач за певним правилом, переважно на підставі пріоритету, обирає з черги процесів, які перебувають у стані “Готовність”, один процес й зактивізовує його. Якщо процес раніш було хоча б одноразово виведено з активного стану, система відновлює його перерваний стан, змодифіковує дескриптор процесу й передає керування на виконання процесу [2].