- •Системне програмне забезпечення Конспект лекцій з дисципліни „Системне програмне забезпечення”
- •2 Концептуальні основи ос.....................................................................................16
- •2.4 Концепція віртуалізації....................................................................................28
- •2.5 Концепція переривань.....................................................................................30
- •5 Операційна система unix....................................................................................57
- •1 Операційні системи та середовища
- •Основні означення та терміни
- •Сучасні системи програмування
- •Віртуальний адресний простір
- •Операційні системи для персональних комп’ютерів
- •1.5 Принципи побудови ос
- •1.5.1 Модульність
- •1.5.2 Функціональна вибірковість
- •1.5.3 Генерованость ос
- •1.5.4 Функціональна надлишковість
- •1.5.5 Незалежність програм від зовнішніх пристроїв
- •1.5.7 Відкритість та нарощуваність ос
- •1.5.9 Забезпечення безпеки обчислень
- •1.5.10 Принципи проектування ос
- •2 Концептуальні основи ос
- •2.1 Процеси
- •2.1.1 Означення процесу та граф його існування
- •2.1.2 Класифікування процесів
- •2.2 Ресурс
- •2.2.1 Означення ресурсу
- •2.2.2 Властивості та класифікування ресурсів
- •2.3 Система керування процесами
- •2.3.1 Дворівнева система керування процесами
- •2.3.2 Дисципліни розподілу процесів
- •2.4 Концепція віртуалізації
- •2.5 Концепція переривань
- •3 Захищений режим 32-розрядних процесорів
- •3.1 Основні поняття захищеного режиму
- •3.2 Сегментний механізм віртуалізації пам’яті
- •3.3 Сторінковий механізм віртуалізації пам’яті
- •4 Архітектура операційних системWindows
- •4.1 Архітектура ос Windows 98se
- •4.1.1 Драйвери пристроїв
- •4.1.2 Диспетчер віртуальних машин
- •4.1.3 Встановлювані файлові системи
- •4.1.4 Диспетчер конфігурування
- •4.1.5 Диспетчер драйверів wdm
- •4.1.6 Ядро Windows 98se
- •4.1.8 Оболонка ос
- •4.1.9 Стандартні програми Windows 98se та додатки
- •4.2 Мережна підтримка ос Windows 98se
- •4.2.1 Взаємодія відкритих систем
- •4.2.2 Мережна архітектура Windows 98se
- •4.3 Апаратна підтримка захисту ос
- •4.4 Особливості розподілу оперативної пам’яті в ос Windows nt
- •4.5 Архітектура Windows 2000
- •5 Операційна система unix
- •5.1 Загальна характеристика ос сімейства unix
- •5.2 Архітектура операційної системи unix
- •5.3 Функціонування ос unix
- •5.3.1 Ядро системи
- •5.3.2 Файлова підсистема
- •5.3.3 Підсистема керування процесами та пам’яттю
- •5.3.4 Підсистема введення/виведення
- •5.3.5 Користувачі ос unix
- •5.4 Поняття процесу в ос unix
- •5.4.1 Компоненти процесу
- •5.4.2 Ідентифікатор процесу
- •5.4.2.1 Ідентифікатор батьківського процесу
- •5.4.2.2 Ідентифікатор користувача та групи
- •5.4.3 Стани процесу в unix
- •5.4.4 Керування процесами
- •5.5 Права доступу ос unix
- •5.5.1 Поняття прав доступу користувача
- •5.5.2 Основні біти доступу
- •5.5.3 Додаткові біти доступу
- •5.5.4 Сполучення бітів доступу
- •5.6 Мережні можливості ос unix
- •Список рекомендованої літератури:
2.3 Система керування процесами
2.3.1 Дворівнева система керування процесами
Більшість сучасних ОС використовують дворівневу систему керування процесами. Відповідно є два види планувальників процесів, які виконують функції довготермінового та короткотермінового планування з використанням центрального процесора для розвинення на ньому множини процесів. Планувальники разом з певними інформаційними структурами становлять в ОС систему керування процесами, яку зазвичай називають супервізором завдань.
На рівень довготермінового планування виносяться дії, які відбуваються в ОС рідко, але потребують великих системних витрат.
На рівень короткотермінового планування виносяться часті та більш короткі за тривалістю дії з керування процесами. На кожному рівні є власний об’єкт та власні засоби керування ним.
На рівні довготермінового планування об’єктом керування є сукупність процесів, яка становить єдине ціле, об’єднане спільним функціональним призначенням, наприклад, завдання. Під завдання ОС надає віртуальну машину, котра має у своєму складі оперативну пам’ять, в якій зберігається програма під час її виконання, інші види пам’яті, здатні зберігати та забезпечувати доступ до вхідних та вихідних даних, процесор, пристрої введення/виведення. На цьому рівні планується розподіл часу всієї віртуальної машини.
На рівні короткотермінового планування об’єктом керування виступають процеси, які є споживачами центрального процесора для внутрішніх процесів або інших процесорів для зовнішніх процесів. На цьому рівні зреалізовуються системні дії з активізації одного з процесів, які перебувають у стані готовності, при звільнюванні процесора, породжуванні та знищуванні процесів, переведенні процесів зі стану до стану, з розв’язання завдань синхронізації при взаємодії процесів. Особливістю стратегії розподілу процесора на даному рівні (диспетчеризації) є необхідність багаторазового розподілу одного процесора для кожного з процесів на інтервалах їхнього існування з метою досягнення багатозадачності [2].
Породження процесу зумовлено діяльністю системи керування процесами у відповідь на заявку, сформовану на етапі довготермінового планування. Вважається, що система породила процес, якщо вона визначила ім’я процесу чи програми, яку треба виконати, забезпечила доступ до ресурсів, які надаються програмі перед виконанням, в тому числі забезпечила передавання програмі необхідних параметрів, та побудувала спеціальну структуру даних, у якій буде відбиватися інформація про стани процесу та розподіл ресурсів для цього процесу. Така структура називається дескриптором процеса. Дескриптор процесу вписується у відповідну чергу процесів згідно з пріоритетом завдання. Після цього здійснюється виклик зазначенного модуля програми.
У відповідь на вимогу завершення програми від рівня довготермінового планування система керування процесами переводить процес до стану “Завершення”. Завершення процесу може бути передбаченим, нормальним або аварійним, наприклад, за спроби звернутися до області пам’яті, неприступної для цієї програми. При завершенні процесу зберігається або передається інформація про результати роботи процесу, звільнюються ресурси, розподілені процесові, причому найчастіше вони передаються породжуючому процесові, який і надав їх породженому. ОС підраховує витрати ресурсів на інтервалі існування процесу та фіксує їх; останньою дією системи є знищення дескриптора процесу. У будь-якому стані, окрім активного, процес є пасивним об’єктом, але перехід з активного стану до інших може виконуватись або за ініціативою самого процесу або за перериваннями. Переривання в цьому разі тлумачаться ширше, аніж просто переривання поточної виконуваної програми. При перериванні забезпечується зберігання статусної інформації про перервану програму та використані ресурси й здійснюються необхідні зміни в інформаційних керівних структурах, насамперед у дескрипторі.
Підставою для переведення процесу до станів “Очікування” та “Готовність” є розміщення процесу в черзі з-посеред інших процесів на підставі правил синхронізування процесів. Переведення процесу до активного стану здійснюється короткотерміновим планувачем. Планувач за певним правилом, переважно на підставі пріоритету, обирає з черги процесів, які перебувають у стані “Готовність”, один процес й зактивізовує його. Якщо процес раніш було хоча б одноразово виведено з активного стану, система відновлює його перерваний стан, змодифіковує дескриптор процесу й передає керування на виконання процесу [2].