- •1.Основні складові системного програмного забезпечення.
- •2.Охарактеризуйте узагальнену структуру програмного забезпечення обчислювальних систем.
- •3.Типова структура системного програмного забезпечення.
- •4.Основні функції операційної системи.
- •5.Охарактеризуйте основні типи операційних систем.
- •1. За призначенням.
- •4. За способом побудови
- •6.Основні концепції побудови операційних систем.
- •7.Класифікація ос, за призначенням.
- •8.Класифікація ос, за режимом обробки задач.
- •9.Класифікація ос, за способами побудови.
- •10.Охарактеризуйте підсистему керування ресурсами
- •11.Охарактеризуйте підсистему керування введенням-виведенням.
- •12. Охарактеризуйте підсистему керування файлами та файлові системи.
- •17. Багаторівневі операційні системи
- •18. Операційні системи з мікроядром
- •19.Концепція віртуальних машин в побудові операційних систем
- •20.Засоби апаратної підтримки операційних систем
- •21.Інтерфейс прикладного програмування
- •22.Варіанти реалізації інтерфейсу прикладного програмування
- •23.Особливості базової архітектури ос unix.
- •24.Призначення ядра ос Linux та його особливості.
- •25.Концепція модулів ядра в ос Linux.
- •26.Основні компоненти архітектури ос Windows.
- •27. Призначення рівня абстрагування від апаратури в ос Windows.
- •28. Основні компоненти підсистеми виконання в ос Windows.
- •29.Об’єктна модель архітектури ос Windows.
- •30. Розкрийте поняття „обчислювальний процес”.
- •31. Основні стани обчислювального процесу.
- •32. Умови переходу обчислювального процесу із стану в стан.
- •33. Призначення та основні функції блоку керування процесами (pcb).
- •34. Потоки („нитки”), призначення та застосування.
- •35. Поняття „переривання” та їх призначення.
- •36. Основні групи „переривань” та події, що їх викликають.
- •37.Обробка „переривань” та механізм перемикання контексту „переривань”.
- •38.Механізми, що використовуються для планування процесорів.
- •39.Інтервальний таймер, призначення та застосування у плануванні процесорів.
- •40.Пріоритети, призначення та застосування у плануванні процесорів.
- •41.Планування процесорів за принципом fifo.
- •42.Циклічне планування завантаження процесорів.
- •43.Планування завантаження процесорів за принципом „найкоротше завдання-перший”.
- •44.Планування завантаження процесорів за „найменшим часом, що залишився”.
- •45.Планування процесорів із використанням багаторівневих черг зі зворотними зв’язками.
- •46. Витісняючі та невитісняючі алгоритми планування процесів.
- •47. Рівні планування процесів.
- •48. Задачі, що вирішуються на кожному з рівнів планування процесів.
- •49. Основні вимоги до планування процесів.
- •50.Планування процесів з переключенням та без переключення.
- •51.Особливості процесів в ос unix.
- •52.Недоліки традиційної багатопотоковості в Linux.
- •54.Особливості планування потоків у ос Windows.
- •55.Створення потоків у ос Windows
- •56.Особливості планування потоків у ос Windows.
- •57.Планування потоків у ос Windows: пріоритети.
- •58.Планування потоків у ос Windows: вибір кванту часу.
- •59.Планування потоків у ос Windows: динамічна зміна пріоритету та кванту часу.
17. Багаторівневі операційні системи
Компоненти багаторівневих ОС утворюють ієрархію рівнів (шарів, layers), кожен з яких спирається на функції попереднього рівня. Найнижчий рівень безпосередньо взаємодіє з апаратним забезпеченням, на найвищому рівні реалізуються системні виклики.
У традиційних багаторівневих ОС передача керування з верхнього рівня на нижній реалізується як системний виклик. Верхній рівень повинен мати права на виконання цього виклику, перевірка цих прав виконується за підтримки апаратного забезпечення. Прикладом такої системи є ОС Multics, розроблена в 60-ті роки. Практичне застосування цього підходу сьогодні обмежене через низьку продуктивність.
18. Операційні системи з мікроядром
Один із напрямів розвитку сучасних ОС полягає в тому, що у привілейованому режимі реалізована невелика частка функцій ядра, які є мікроядром (microkernel). Інші функції ОС виконуються процесами режиму користувача (серверними процесами, серверами). Сервери можуть відповідати за підтримку файлової системи, за роботу із процесами, пам’яттю тощо.
Перевагами мікроядрового підходу є:
- невеликі розміри мікроядра, що спрощує його розробку й налагодження;
- висока надійність системи, внаслідок того що сервери працюють у режимі користувача й у них немає прямого доступу до апаратного забезпечення;
- більша гнучкість і розширюваність системи (непотрібні компоненти не займають місця в пам’яті, розширення функціональності системи зводиться до додавання в неї нового сервера);
- можливість адаптації до умов мережі (спосіб обміну даними між клієнтом і сервером не залежить від того, зв’язані вони мережею чи перебувають на одному комп’ютері).
Головним недоліком мікроядрового підходу є зниження продуктивності. Замість двох перемикань режиму процесора у разі системного виклику відбувається чотири (два — під час обміну між клієнтом і мікроядром, два – між сервером та мікроядром).
19.Концепція віртуальних машин в побудові операційних систем
У системах віртуальних машин програмним шляхом створюють копії апаратного забезпечення (відбувається його емуляція). Ці копії (віртуальні машини) працюють паралельно, на кожній із них функціонує програмне забезпечення, з яким взаємодіють прикладні програми і користувачі.
Ядро системи, яке називалося монітором віртуальних машин (VM Monitor, MBМ), виконувалося на фізичній машині, безпосередньо взаємодіючи з її апаратним забезпеченням. Монітор реалізовував набір віртуальних машин (ВМ). Кожна ВМ була точною копією апаратного забезпечення, на ній могла бути запущена будь-яка ОС, розроблена для цієї архітектури. Найчастіше на ВМ встановлювали спеціальну однокористувацьку ОС CMS (підсистема діалогової обробки, ПДО). На різних ВМ могли одночасно функціонувати різні ОС.
Коли програма, написана для ПДО, виконувала системний виклик, його перехоплювала копія ПДО, запущена на відповідній віртуальній машині. Потім ПДО виконувала відповідні апаратні інструкції, наприклад інструкції введення-виведення для читання диска. Ці інструкції перехоплював МВМ і перетворював їх на апаратні інструкції фізичної машини.
20.Засоби апаратної підтримки операційних систем
Сучасні апаратні архітектури комп’ютерів реалізують базові засоби підтримки операційних систем. До них належать:
система переривань
привілейований режим процесора
засоби перемикання задач
підтримка керування пам’яттю (механізми трансляції адрес, захист пам’яті)
системний таймер
захист пристроїв введення-виведення
базова система введення-виведення (BIOS).
