- •Системне програмне забезпечення Конспект лекцій з дисципліни „Системне програмне забезпечення”
- •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.5 Концепція переривань
Реалізація багатозадачного режиму грунтується на використанні переривань. Обслуговувана процесором програма може перериватися через відсутність даних, які треба опрацьовувати в оперативній пам’яті, або ця програма може бути перервана більш пріоритетною програмою тощо [2].
Системні причини переривання першого роду виникають у разі виникнення у процесу, який пербуває в активному стані, потреби в певному ресурсі або відмови від нього, або виконання над ним певної дії. Ці ж причини виникають, коли процес породжує, знищує інший процес або виконує відносно нього певні дії. До такого типу належить і необхідність у перериванні процесом самого себе та внутрішніх переривань. Ці переривання пов’язані з роботою процесора і є синхронними з його операціями: переповнювання, втрата порядку, звертання за помилковою адресою чи до захищених даних тощо.
Системні причини переривання другого роду зумовлено необхідністю здійснення синхронізації поміж паралельними процесами. Породжені ОС та підпорядковані їй процеси, по завершенні або з інших причин продукують сигнал переривання, наприклад при завершенні пересилання масиву даних з твердого диска до оперативної пам’яті процес продукує сигнал переривання. Цей сигнал перериває виконання обслуговуваної процесором програми асинхронно.
При опрацьовуванні кожного переривання ОС необхідно виконувати таку послідовність дій:
1) прийняти запит на переривання;
2) запам’ятати стан перерваного процесу, який визначається насамперед лічильником команд, а також вмістом регістру прапорців, регістрів загального призначення та режимом роботи процесора – користувацьким або супервізора:
3) передати керування програмі, що вона перервала виконувану;
4) опрацювати переривання;
5) відновити роботу перерваної програми.
Як правило, в обчислювальній системі етапи 1...3 зреалізовуються апаратно, а 4 та 5 – блоком програм опрацювання переривань ОС. Переривальні програми зреалізовуються супервізором переривань, наприклад супервізором зовнішніх переривань, супервізором програмних переривань, супервізором введення/виведення.
Кожна переривальна системна програма відповідає певному рівню переривань, який може поєднувати низку запитів переривань. Тому залежно від ситуації ОС має обирати й переривальну програму, і в рівні переривань найбільш пріоритетні запити, що потребують обслуговування.
На рис. 2.5 подано структуру переривальної програми, яка забезпечує вибір запитів у рівні переривань. Циклічне опитування обирає найбільш пріоритетний запит для обслуговування на підставі відносного пріоритету. Відновлення роботи перерваної програми зреалізовується переданням керування системній програмі – диспетчеру, наприклад, коли результатом опрацювання переривання є виведення процесу зі стану “Очікування” у стан “Готовність” або зі стану “Активний” до стану “ Очікування”. Програма диспетчера аналізує стан процесів у системі й передає керування готовому до виконання процесу з найвищим пріоритетом. У разі відсутності процесів у стані готовності центральний процесор переводиться до стану очікування аж до виникнення чергового переривання [2].
Рисунок 2.5 – Структура переривальної програми, котра забезпечує вибір запитів у рівні переривань.