
- •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: динамічна зміна пріоритету та кванту часу.
57. Особливості планування потоків у ос Windows.
Ядро Windows XP розв'язує під час планування дві основні задачі :
• облік відносних пріоритетів, присвоєних кожному потокові;
• мінімізацію часу відгуку інтерактивних застосувань.
Базовою одиницею планування є потік. Під час планування ядро не розрізняє потоки різних процесів, воно має справу з пріоритетами потоків, готових до вико нання в певний момент часу.
Під час планування ядро працює з мінімальними версіями потоків (блоками KTHREAD). У них зберігається така інформація, як загальний час виконання по току, його базовий і поточний пріоритет, диспетчерський стан потоку (готовність, очікування, виконання тощо).
58. Планування потоків у ос Windows: пріоритети.
Для визначення порядку виконання потоків диспетчер ядра використовує систему пріоритетів. Кожному потокові присвоюють пріоритет, заданий числом у діапазоні від 1 до 31 (що більше число, то вище пріоритет). Пріоритети реального часу - 16-31; їх резервує система для дій, час виконання яких є критичним чинником. Динамічні пріоритети — 1-15; вони можуть бути присвоєні потокам застосувань користувача.
Ядро системи може надати потоку будь-який динамічний пріоритет. Win32 АРІ не дає можливості зробити це з цілковитою точністю, у ньому використову ють дворівневу систему, яка зачіпає як процес, так і його потоки: спочатку процесу присвоюють клас пріоритету, а потім потокам цього процесу — відносний пріоритет, який відраховують від класу пріоритету процесу (називаного ще базовим пріоритетом). Під час виконання відносний пріоритет може змінюватися.
Розрізняють такі класи пріоритету процесів: реального часу (real-time, приблизь но відповідає пріоритету потоку 24); високий (high, 13); нормальний (normal, 8); невикористовуваний (idle, 4). Відносні пріоритети потоку бувають такі: найвищий (+2 до базового); вище за нормальний (+1 до базового); нормальний (дорівнює базовому); нижче за нормальний (-1 від базового); найнижчий (-2 від базового). Є два додаткових модифікатори відносного пріоритету: критичний за часом (time-critical) і невикористовуваний (idle). Перший модифікатор тимчасово задає для потоку пріоритет 15 (найвищий динамічний пріоритет), другий аналогічним чином задає пріоритет 1.
59. Планування потоків у ос Windows: вибір кванту часу.
Важливою характеристикою системи є довжина кванта часу. Розрізняють короткі й довгі кванти, для яких можна задати змінну та фіксовану довжину. У Windows XP інтерактивно можна задавати таку довжину кванта (вибирають Settings (Параметри) у групі Performance (Бьістродействие) на вкладці Advanced (Дополнительно) вікна властивостей My Computer (Свойства системьі)):
• короткі кванти змінної довжини (вкладка Advanced (Дополнительно), перемикач Programs (Программ) у групі властивостей Processor Scheduling (Распределениє времени процесора)). Можлива довжина кванта — 10 або ЗО мс, при цьому застосування, з яким починає працювати користувач, автоматично переходить до використання довших квантів. Ця установка надає перевагу інтерактивним процесам;
• довгі кванти фіксованої довжини (вкладка Advanced (Дополнительно), перемикач Background services (Служб, работающих в фоновом режиме) у групі властивостей Processor Scheduling (Распределение времени процесора)). Довжина кванта фіксована й дорівнює 120 мс. Ця установка надає перевагу фоновим процесам.