
- •Операційні системи
- •1.Принципи побудови ос. Теоретичні основи процесу
- •2. Властивості та класифікація процесів. Життєвий цикл процесу.
- •Арі процесів. Функція fork. Функція exit.
- •Сигнали. Функція wait, waitpid. Функція exec.
- •Ресурси ос. Визначення ресурсу. Властивості та класифікація ресурсів.
- •Концепція віртуалізації. Віртуальна машина.
- •Дисципліни розподілу ресурсів які використовуються в ос.
- •Концепція переривань Теорія переривань
- •Блокування. Сигнали. Сигнальна маска. Функція sigaction.
- •Процеси-демони. Поняття про демони. Основні демони unix. Приклад програми демону
- •Засоби, механізми і підсистеми ос. Системи керування процесами. Дворівнева система керування процесами.
- •Засоби, механізми і підсистеми ос. Рівень довгострокового планування. Схема довгострокового рівня планування.
- •Засоби, механізми і підсистеми ос. Рівень короткострокового планування. Схема рівня планування.
- •Структури даних процесів. Стан процесів у unix. Особливості планувальника unix ( Linux).
- •Дескриптори процесів.
- •Взаємодія між процесами у unix.
- •Канали. Fifo (First InFirst Out). Повідомлення (черги повідомлень).
- •Семафори. Задачі синхронізації.
- •Архітектура та основні питання побудови механізмів синхронізації
- •Семафорна техніка синхронізації та упорядкування процесів.
- •Підсистема введення/виведення системи unix. Драйвери пристроїв. Типи драйверів. Базова архітектура драйверів
- •Файлова підсистема ос. Суперблок. Індексні дескриптори. Імена файлів. Каталоги.
- •Побудова підсистем ядра мультипрограмних ос. Організація віртуальної оп. Основні поняття та принципи віртуалізації пам’яті.
- •Принципи керування пам’яттю у unix. Віртуальна та фізична пам’ять. Сегменти. Сторінковий механізм.
- •Адресний простір процесів. Керування пам’яттю процесу.
- •Планування виконання процесі. Обробка переривань таймеру. Відкладений виклик. Аларми. Контекст процесу.
- •Архітектура віртуальної фс. Віртуальні індексні дескриптори. Монтування фс.
- •Архітектура віртуальної фс. Трансляції імен. Доступ до фс. Файлова таблиця.
- •Архітектура віртуальної фс. Блокування доступу до файлу.
Концепція переривань Теорія переривань
Реалізація багатозадачного режиму грунтується на використанні переривань. Обслуговувана процесором програма може перериватися через відсутність даних, які треба опрацьовувати в оперативній пам’яті, або ця програма може бути перервана більш пріоритетною програмою тощо.
Системні причини переривання першого роду виникають у разі виникнення у процесу, який перебуває в активному стані, потреби в певному ресурсі або відмови від нього, або виконання над ним певної дії. Ці ж причини виникають, коли процес породжує, знищує інший процес або виконує відносно нього певні дії. До такого типу належить і необхідність у перериванні процесом самого себе та внутрішніх переривань. Ці переривання пов’язані з роботою процесора і є синхронними з його операціями: переповнювання, втрата порядку, звертання за помилковою адресою чи до захищених даних тощо.
Системні причини переривання другого роду зумовлено необхідністю здійснення синхронізації поміж паралельними процесами. Породжені ОС та підпорядковані їй процеси, по завершенні або з інших причин продукують сигнал переривання, наприклад при завершенні пересилання масиву даних з твердого диска до оперативної пам’яті процес продукує сигнал переривання. Цей сигнал перериває виконання обслуговуваної процесором програми асинхронно.
При опрацьовуванні кожного переривання ОС необхідно виконувати таку послідовність дій:
1) прийняти запит на переривання;
2) запам’ятати стан перерваного процесу, який визначається насамперед лічильником команд, а також вмістом регістру прапорців, регістрів загального призначення та режимом роботи процесора – користувацьким або супервізора:
3) передати керування програмі, що вона перервала виконувану;
4) опрацювати переривання;
5) відновити роботу перерваної програми.
Як правило, в обчислювальній системі етапи 1...3 зреалізовуються апаратно, а 4 та 5 – блоком програм опрацювання переривань ОС. Переривальні програми зреалізовуються супервізором переривань, наприклад супервізором зовнішніх переривань, супервізором програмних переривань, супервізором введення/виведення.
Кожна переривальна системна програма відповідає певному рівню переривань, який може поєднувати низку запитів переривань. Тому залежно від ситуації ОС має обирати й переривальну програму, і в рівні переривань найбільш пріоритетні запити, що потребують обслуговування.
Структуру переривальної програми, яка забезпечує вибір запитів у рівні переривань. Циклічне опитування обирає найбільш пріоритетний запит для обслуговування на підставі відносного пріоритету. Відновлення роботи перерваної програми зреалізовується переданням керування системній програмі – диспетчеру, наприклад, коли результатом опрацювання переривання є виведення процесу зі стану “Очікування” у стан “Готовність” або зі стану “Активний” до стану “Очікування”. Програма диспетчера аналізує стан процесів у системі й передає керування готовому до виконання процесу з найвищим пріоритетом. У разі відсутності процесів у стані готовності центральний процесор переводиться до стану очікування аж до виникнення чергового переривання.
Структура переривальної програми, котра забезпечує вибір запитів у рівні переривань.