
- •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: динамічна зміна пріоритету та кванту часу.
44.Планування завантаження процесорів за „найменшим часом, що залишився”.
Принцип SRT (“за найменшим часом, що залишається”)
Аналог SIF, але з переключенням. Завжди виконується процес, який має мінімальний за оцінками час до завершення, причому з врахуванням нових процесів, що надходять. Треба, щоб враховувався час на обслуговування, що минув, а це приводить до збільшення накладних витрат.
45.Планування процесорів із використанням багаторівневих черг зі зворотними зв’язками.
Алгоритм багаторівневих черг зі зворотним зв'язком (multilevelfeedbackqueues) є найуніверсальнішим алгоритмом планування (за допомогою налаштування параметрів його можна звести майже до будь-якого іншого алгоритму), але при цьому одним із найскладніших у реалізації.
З погляду організації структур даних цей алгоритм схожий на звичайний алгоритм багаторівневих черг: є кілька черг готових потоків із різним пріоритетом, при цьому потоки черги із нижчим пріоритетом виконуються, тільки коли всі черги верхнього рівня порожні.
Відмінності між двома алгоритмами полягають у тому, що:
• потокам дозволено переходити з рівня на рівень (із черги в чергу);
• потоки в одній черзі об'єднуються не за пріоритетом, а за довжиною інтервалу використання процесора, потоки із коротшим інтервалом перебувають у черзі з більшим пріоритетом.
Усередині всіх черг, крім найнижчої, використовують кругове планування (у найнижчій
працює FIFO-алгоритм). Різні черги відповідають різній довжині кванта часу — що вищий пріоритет, то коротший квант (звичайно довжина кванта для сусідніх черг зменшується удвічі). Якщо потік вичерпав свій квант часу, він переміщається у хвіст черги із нижчим пріоритетом (і з довшим квантом). У результаті потоки з коротшими інтервалами (наприклад, обмежені введенням-виведенням) залишаються з високим пріоритетом, а потоки з довшими інтервалами подовжують свій квант часу (рис. 4.4). Можна також автоматично переміщати потоки, які давно не отримували керування, із черги нижнього рівня на рівень вище.
Рис. 4.4. Багаторівневі черги зі зворотним зв'язком
46. Витісняючі та невитісняючі алгоритми планування процесів.
Існує два основні типи процедур планування процесів — витісняючі (preemptive) та невитісняючі (non-preemptive — cooperative).
Non-preemptivemultitasking — невитісняюча багатозадачність — це спосіб планування
процесів, при якому активний процес виконується до того часу, доки він сам, за власною ініціативою, не віддасть керування планувальнику ОС для того, щоби той вибрав з черги інший, готовий до виконання процес.
Preemptivemultitasking — витісняючи багатозадачність — це такий спосіб, при якому рішення про переключання процесора з виконання одного процесу на виконання іншого процесу приймається планувальником ОС, а не самою активною задачею.
Типи багатозадачності — це більш широкі поняття ніж типи пріоритетності. Пріоритети задач можуть використовуватись або не використовуватись, як при витісняючих так і невитісняючих способах планування.
Основна відмінність між preemptive та non-preemptive — це ступінь централізації механізму планування задач.
47. Рівні планування процесів.
Процеси отримують можливість виконувати конкретну роботу, коли в їх розпорядження надаються фізичні процесори. Розподіл процесорів по процесам – це складна задача, яку вирішують операційні системи. Визначення того, коли слід виділяти процесори і яким саме процесам - називається плануванням.
Планування на верхньому рівні або планування завдань. Засоби цього рівня визначають, яким завданням буде дозволено активно конкурувати за захоплення ресурсів системи. Цей вид планування іноді називають також плануванням допуску, оскільки на цьому рівні визначається, які завдання будуть допущені в систему.
Планування на проміжному рівні. Засоби цього рівня визначають, яким процесам буде дозволено змагатись за захоплення ЦП. Планувальник проміжного рівня оперативно реагує на біжучі зміни системного навантаження, короткочасно припиняючи і знову активізуючи процеси, що забезпечує рівномірну роботу системи й допомагає досягненню певних глобальних цільових характеристик швидкості. Таким чином, планувальник проміжного рівня виконує функції буферу між засобами допуску завдань в систему та засобами надання ЦП для виконання цих завдань.
Планування на нижньому рівні. Засоби цього рівня визначають, якому з процесів, що готові до виконання, буде надаватись ЦП, який звільнився. Вони (ці засоби) фактично надають ЦП такому процесу (тобто виконують диспетчерські функції). Планування на нижньому рівні виконується так званим диспетчером, який працює з великою частотою й тому завжди повинен розташовуватись в основній пам’яті.
Планування повинно:
1) бути справедливим, тобто однаково відноситись до всіх процесів.
2) забезпечувати максимальну пропускну здатність системи.
3) забезпечувати максимальній кількості користувачів допустимий час відповіді.
4) забезпечувати передбачуваність, мінімальні накладні витрати, збалансоване використання ресурсів.
5) виключати нескінчене відкладання процесів;
6) враховувати пріоритети;
7) і т.д.
Багато з цих вимог вступають в протиріччя одне до одного, що робить планування вельми складною проблемою.