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