- •1. Основні ознаки розподілених програмних систем.
- •2. Характеристики розподілених систем, що впливають на продуктивність обчислень.
- •3. Характеристики розподілених систем, що впливають на надійність обчислень.
- •4. Характеристики розподілених систем, що впливають на економію ресурсів.
- •6. Недоліки розподілених систем, що пов’язані з їх використанням.
- •7. У чому полягає складність розробки розподілених систем?
- •8. Основні види архітектур розподілених систем.
- •9. Особливості архітектури клієнт/сервер.
- •10. Види архітектур клієнт/сервер та галузі їх застосування.
- •11. Особливості застосування архітектури Клієнт / сервер на Основі тонкого клієнта.
- •12. Особливості застосування архітектури Клієнт / сервер на Основі Товстого клієнта.
- •13. Особлівості багаторівневої архітектури Клієнт / сервер.
- •14. Характеристики архітектури розподіленіх об'єктів.
- •15. Основні Переваги архітектури розподіленіх об'єктів.
- •16. Основні недолікі архітектури розподіленіх об'єктів.
- •17. Характеристика систем реального часу.
- •18. Класифікація систем реального часу за типами вхідніх сігналів.
- •19. Особливості проектування систем реального часу.
- •20. Засоба підвіщення продуктівності систем реального часу.
- •21. Моделі систем реального часу.
- •22. Вимоги до засобів програмування систем реального часу.
- •23. Керуючі компоненти систем реального часу.
- •24. Компоненти, що підвищують надійність систем реального часу.
- •25. Особливості керування процесами в системах реального часу.
- •26. Види інтерфейсів користувача та їх особливості.
- •27. Переваги та недоліки графічного інтерфейсу користувача.
- •28. Особливості проектування інтерфейсу користувача.
- •29. Основні засади проектування інтерфейсу користувача.
- •31 Основні види взаємодії користувача і програми та сфери їх застосування.
- •32 Недоліки та переваги основних видів взаємодії користувача з програмою.
- •33 Способи подання інформації користувачу.
- •34 Основні правила використання кольору в інтерфейсах користувача.
- •35 Засоби інтерфейсу спрямовані на підтримку користувача.
- •36 Основні види документації для користувачів програмних систем.
- •37 Основні складові надійності програмних систем.
- •38 Обґрунтування потреби у високонадійних програмних системах.
- •39 Поняття критичної системи.
- •40 Основні типи критичних систем.
- •41. Основні джерела відмов та підходи до проектування критичних систем.
- •42. Основні підходи для підвищення безвідмовності систем.
- •43. Рівні безпечності програмних систем.
- •44. Способи підвищення безпечності програмних систем.
- •45. Типи пошкоджень систем, що викликаються зовнішніми чинниками.
- •46. Засоби підвищення захищеності програмних систем.
- •47 Основні підходи до проектування надійного програмного забезпечення.
- •48 Основні вимоги до розробки безвідмовного програмного забезпечення.
- •49. Конструкції мов програмування, що потенційно можуть призвести помилок.
- •50. Методи програмування, що потенційно можуть призвести до помилок.
- •51. Укривання даних, як спосіб підвищення надійності програмування.
- •52. Технологічні заходи мінімізації числа відмов у програмних системах.
- •53. У проблемі безвідмовності виділяють чотири аспекти.
- •54. Існує два підходи, що використовуються для розробки пз, стійкого до збоїв.
- •55. Обробка виключень в мовах програмування як засіб підвищення надійності.
- •56.Основні типи виявлення збоїв у програмних системах.
- •57. Способи локалізації помилок та пошкоджень даних в програмах.
- •58. Види стійких до відмов архітектур.
- •59. Основні підходи до створення стійкого до відмов програмного забезпечення.
- •60. Шляхи досягнення відмінностей між різними версіями програмного забезпечення. Досягти відмінності між різними версіями пз можна також такими способами:
23. Керуючі компоненти систем реального часу.
Керуюча програма (диспетчер) системи реального часу є аналогом операційної системи комп'ютера. Вона управляє процесами й розподілом ресурсів в системах реального часу, запускає і зупиняє відповідні процеси для обробки вхідних сигналів і розподіляє ресурси пам'яті і процесора. Проте зазвичай в керуючих програмах відсутні більш складні засоби, властиві операційним системам, наприклад засоби управління файлами.
В роботі [17] представлений повний огляд коштів, необхідних керуючим програмами систем реального часу. Дана тема обговорюється в монографії [80], де також коротко розглянуті комерційні розробки керуючих програм для систем реального часу. Незважаючи на те що на ринку програмних продуктів існує декілька керуючих програм систем реального часу, їх часто проектують самостійно як частини систем через спеціальних вимог, що пред'являються до конкретних систем реального часу.
Компоненти керуючої програми (рис. 13.4) залежать від розмірів і складності проектованої системи реального часу. Зазвичай керуючі програми, за винятком найпростіших, складаються з наступних компонентів.
Годинник реального часу періодично надають інформацію для планування процесів.
Обробник переривань управляє аперіодичними запитами до сервісів.
Планувальник переглядає список процесів, які призначені на виконання, і вибирає один з них.
Адміністратор ресурсів, отримавши процес, запланований на виконання, виділяє необхідні ресурси пам'яті і процесора.
Диспетчер запускає на виконання якої-небудь процес.
Керуючі програми систем, що надають сервіси на постійній основі, наприклад телекомунікаційних або моніторингових систем з високими вимогами до надійності, можуть мати ще кілька компонентів.
Конфігуратор відповідає за динамічне переконфігуруванні апаратних засобів [205]. Не припиняючи роботу системи, з неї можна витягти апаратні модулі і змінити систему за допомогою додавання нових апаратних засобів.
Менеджер несправностей відповідає за виявлення апаратних і програмних несправностей і застосовує відповідні дії щодо їх виправлення. Питання відмовостійкості та відновлення систем розглядаються в главі 18.
Вхідні сигнали, оброблювані системою реального часу, зазвичай мають кілька рівнів пріоритетів. Для одних сигналів, наприклад пов'язаних з винятковими ситуаціями, важливо, щоб їх обробка завершувалася протягом певного інтервалу часу. Якщо процес з більш високим пріоритетом запитує сервіс, то виконання інших процесів має бути призупинено. Внаслідок цього адміністратор системи повинен уміти керувати принаймні двома рівнями пріоритетів системних процесів.
Рівень переривань є найвищим рівнем пріоритетів. Він присвоюється тим процесам, на які необхідно швидко відреагувати. Прикладом такого процесу може бути процес годин реального часу.
Тактовий рівень пріоритетів присвоюється періодичним процесам.
Ще один рівень пріоритетів може бути у фонових процесів, на виконання яких не накладаються жорсткі часові обмеження, (наприклад, процес самотестування). Ці процеси виконуються тоді, коли є вільні ресурси процесора.
Усередині кожного рівня пріоритетів різним класам процесів можна призначити інші пріоритети. Наприклад, може бути кілька рівнів переривань. Щоб уникнути втрати даних переривання від більш швидкого пристрою повинно витісняти обробку переривань від більш повільного пристрою.
