
- •Операційні системи
- •1.Принципи побудови ос. Теоретичні основи процесу
- •2. Властивості та класифікація процесів. Життєвий цикл процесу.
- •Арі процесів. Функція fork. Функція exit.
- •Сигнали. Функція wait, waitpid. Функція exec.
- •Ресурси ос. Визначення ресурсу. Властивості та класифікація ресурсів.
- •Концепція віртуалізації. Віртуальна машина.
- •Дисципліни розподілу ресурсів які використовуються в ос.
- •Концепція переривань Теорія переривань
- •Блокування. Сигнали. Сигнальна маска. Функція sigaction.
- •Процеси-демони. Поняття про демони. Основні демони unix. Приклад програми демону
- •Засоби, механізми і підсистеми ос. Системи керування процесами. Дворівнева система керування процесами.
- •Засоби, механізми і підсистеми ос. Рівень довгострокового планування. Схема довгострокового рівня планування.
- •Засоби, механізми і підсистеми ос. Рівень короткострокового планування. Схема рівня планування.
- •Структури даних процесів. Стан процесів у unix. Особливості планувальника unix ( Linux).
- •Дескриптори процесів.
- •Взаємодія між процесами у unix.
- •Канали. Fifo (First InFirst Out). Повідомлення (черги повідомлень).
- •Семафори. Задачі синхронізації.
- •Архітектура та основні питання побудови механізмів синхронізації
- •Семафорна техніка синхронізації та упорядкування процесів.
- •Підсистема введення/виведення системи unix. Драйвери пристроїв. Типи драйверів. Базова архітектура драйверів
- •Файлова підсистема ос. Суперблок. Індексні дескриптори. Імена файлів. Каталоги.
- •Побудова підсистем ядра мультипрограмних ос. Організація віртуальної оп. Основні поняття та принципи віртуалізації пам’яті.
- •Принципи керування пам’яттю у unix. Віртуальна та фізична пам’ять. Сегменти. Сторінковий механізм.
- •Адресний простір процесів. Керування пам’яттю процесу.
- •Планування виконання процесі. Обробка переривань таймеру. Відкладений виклик. Аларми. Контекст процесу.
- •Архітектура віртуальної фс. Віртуальні індексні дескриптори. Монтування фс.
- •Архітектура віртуальної фс. Трансляції імен. Доступ до фс. Файлова таблиця.
- •Архітектура віртуальної фс. Блокування доступу до файлу.
Планування виконання процесі. Обробка переривань таймеру. Відкладений виклик. Аларми. Контекст процесу.
Планува́ння викона́ння завда́нь (англ. Scheduling) є однією з ключових концепцій в багатозадачності і багатопроцесорних систем, як в операційних системах загального призначення, так і в операційних системах реального часу. Планування полягає в призначенні пріоритетів процесам в черзі з пріоритетами. Утиліта, що виконує це завдання, називається планувальником (англ.Scheduler).
Найважливішою метою планування завдань є якнайповніше завантаження доступних ресурсів. Для забезпечення загальної продуктивності системи планувальник має опиратися на:
Використання процесора(-ів) — дати завдання процесору, якщо це можливо.
Пропускна здатність — кількість процесів, що виконуються за одиницю часу.
Час на завдання — кількість часу, для повного виконання певного процесу.
Очікування — кількість часу, який процес очікує в черзі готових.
Час відповіді — час, який проходить від подання запиту до першої відповіді на запит.
Справедливість — Рівність процесорного часу для кожної ниті
У середовищах обчислень реального часу, наприклад, на пристроях, призначених для автоматичного управління в промисловості (наприклад, робототехніка), планувальник завдань повинен забезпечити виконання процесів в перебігу заданих часових проміжків (час відгуку); це критично для підтримки коректної роботи системи реального часу.
Типи планувальників в операційних системах
Операційні системи можуть включати до трьох різних типів планувальників: довготривалий планувальник (або планувальник дозволу виконання), середньостроковий планувальник і короткостроковий планувальник (також відомий як диспетчер). Самі назви вже описують відносну частоту, з якою планувальник виконує свої функції.
Архітектура віртуальної фс. Віртуальні індексні дескриптори. Монтування фс.
Фізична адреса формується в такий спосіб. У сегментних регістрах зберігається селектор, який містить індекс дескриптора в таблиці дескрипторів (13 біт), 1 біт, що визначає, до якої таблиці дескрипторів буде здійснюватись звернення (до локальної або до глобальної) і 2 біти запрошуваного рівню привілей. Далі відбувається звернення до відповідної таблиці дескрипторів і до відповідного дескриптора, який містив початкову, 24-бітну адресу сегмента, розмір сегмента та права доступу. Після чого розраховується необхідна фізична адреса, за допомогою складання адреси сегмента та зсуву, який зберігається у 16-розрядному вказівному регістрі.
Перш ніж ОС зможе використовувати файлову систему, вона повинна виконати над цією системою операцію, званумонтуванням (mount). У загальному випадку операція монтування включає наступні кроки.
Перевірку типа вмонтовуваною ФС.
Перевірку цілісності ФС.
Прочитування системних структур даних і ініціалізацію відповідного модуля файлового менеджера (драйвера файлової системи).
В деяких випадках — модифікацію ФС з тим, аби вказати, що вона вже змонтована. При цьому встановлюється так званийпрапор забруднення (dirty flag). Сенс цієї операції буде пояснений і разд. Стійкість ФС до збоїв.
Включення нової файлової системи в загальний простір імен (мал. 11.1). У різних системах це робиться різними способами.
Багато користувачів MS/DR DOS ніколи не стикалися з поняттям монтування. Річ у тому, що ця система (як і багато інших ДОС, наприклад RT-11) виконує спрощену процедуру монтування при кожному зверненні до файлу. Спрощення полягають в пропуску кроків 1 і 2 і відсутності кроку 4 (ФС MS/DR DOS стійка до збоїв). ДОС, як правило, поміщають в простір імен всі доступні блокові пристрої, не виконуючи повної процедури монтування. Якщо якесь з цих пристроїв не містить ФС відомого типа, то система обурюватиметься при зверненнях до такого пристрою, але не видалить його із списку доступних ФС. А інколи навіть не обурюватиметься — спробуйте поставити в дисковод машини під управлінням MS/DR DOS-дискету, що не містить файлової системи (наприклад, створену програмою tar) і в командному рядку набрати DIR А:. Швидше за все, ви побачите декілька екранів сміття, але жодного повідомлення про помилку!
Мал. 11.1. Простір імен ОС з декількома ФС
Якщо ми вмонтовуємо ФС, розміщену на видаленій машині(файловому сервері) то кроки 1 і 2 замінюються на встановлення з'єднання цим сервером. У системах сімейства Ср/м при роботі з файловими серверами Novell Netware монтування серверних файлових систем виробляється командою MAPа з файловими серверами, що підтримують протокол SMB — командою NET USE. Звичайне ім'я файлу в підвмонтовуваній файловій системі має вигляд 'Імя_фс:\імена\каталогов\імя.файла'. При цьому замість роздільників ':' і '/' можуть використовуватися інші символи.