- •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: динамічна зміна пріоритету та кванту часу.
48. Задачі, що вирішуються на кожному з рівнів планування процесів.
1) Вибір моменту часу для заміни процесу, що виконується.
2) Вибір процесу на виконання з черги готових процесів.
3) Переключення контекстів „старих” і „нових” процесів.
та розв’язуються програмними засобами, а в значній мірі апаратно.
49. Основні вимоги до планування процесів.
Можливість паралельного виконання потоків залежить від кількості доступних процесорів. Якщо процесор один, паралельне виконання неможливе принципово (у кожен момент часу може виконуватися тільки один потік). Якщо кількість процесорів N>1, паралельне виконання може бути реалізоване тільки для N по токів (по одному потокові на процесор).
Якщо потоків у системі більше, ніж доступних процесорів, ОС повинна розв'язувати задачу планування (scheduling). Головна мета планування для однопроцесорної системи полягає у такій організації виконання кількох потоків на одному процесорі, за якої у користувача системи виникало б враження, що вони викону ються одночасно.
Це означення може бути розширене на багатопроцесорні системи у разі виникнення задачі планування, коли кількість потоків перевищує кількість доступ них процесорів.
50.Планування процесів з переключенням та без переключення.
Якщо після надання ЦП в розпорядження деякого процесу, відібрати ЦП у нього не можна, то має місце дисципліна планування без переключення. Інакше має місце дисципліна з переключенням.
Планування з переключенням необхідно в системах, в яких процеси високого пріоритету вимагають негайної уваги.
Наприклад: Якщо в системах реального часу пропаде хоча б один важливий сигнал переривання, це може привести до катастрофічних наслідків.
В системах без переключення, коротким завданням треба більше чекати через виконання тривалих завдань, але для всіх завдань створюються ніби-то рівні умови. Час відповіді тут легше передбачити, оскільки завдання високого пріоритету, що надходять, не можуть відтіснити завдання, що вже чекають.
51.Особливості процесів в ос unix.
Найбільш важлива інформація про процес зберігається в двох місцях:
- в таблиці процесів;
- в таблиці користувача (контекст процесу).
Перша – завжди знаходиться в пам’яті і містить на кожний процес по одному елементу, в якому відображається точний стан процесу:
– розташування процесу (адреса в пам’яті або адреса свопінгу);
– розмір;
– ідентифікатори процесу;
– ідентифікатори користувача що запустив процес.
Менш актуальна інформація про процес зберігається в таблиці користувача. Така таблиця існує для кожного активного процесу і тільки до неї можуть безпосередньо звертатись програми ядра. При всіх ситуаціях, що виникають при виконанні процесу, відбувається звертання до його таблиці. Створення процесу включає ініціалізацію відповідного контексту та сегмента таблиці процесів а також формування даних та тексту цього процесу. Зміна стану (виконання, очікування, повернення в пам’ять та інше) та отримання стану від паралельного процесу – все це фіксується в таблиці процесів.
52.Недоліки традиційної багатопотоковості в Linux.
Основи підтримки багатопотоковості в ядрі Linux не зазнали принципових змін від появи системного виклику clone(). За цей час Linux із експериментальної системи перетворився на систему промислового рівня, в якій виконують корпоративні застосування в цілодобовоу режимі з великим навантаженням.
Таке використання системи висунуло до реалізації багатопотоковості вимого високої надійності та масштабованості. Стало очевидно, що реалізація , заснована на системному виклику clone(), цим вимогам не відповідає. Потрібне було повне перероблення засобів реалізації багатопотоковості в ядрі.
Керування потоками є частиною стандарту POSIX з 1996 року, відповідний програмний інтерфейс дістав назву потоки POSIX.
53.Особливості нової реалізації багатопотоковості в Linux.
Нова реалізація багатопотоковості у ядрі системи має такі особливості.
• Підвищилася продуктивність операції створення і завершення потоків. Знято обмеження на загальну кількість потоків у системі. Система залишається ста більною за умов одночасного створення і завершення сотень тисяч потоків (за наявності достатнього обсягу оперативної пам'яті)
• Усі потоки процесу тепер повертають один і той самий ідентифікатор (pid), крім того, зв'язок ≪предок-нащадок≫між ними не підтримується (у створеного потоку зберігається той самий предок, що й у потоку-творця). Як процес у системі реєструють тільки початковий потік застосування.
• Реалізацію виклику сlone() розширено таким чином, щоб зробити непотрібним потік-менеджер.
