- •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. Шляхи досягнення відмінностей між різними версіями програмного забезпечення. Досягти відмінності між різними версіями пз можна також такими способами:
25. Особливості керування процесами в системах реального часу.
Управління процесами - це вибір процесу на виконання, виділення для нього ресурсів пам'яті і процесора і запуск процесу.
Періодичними називаються процеси, які повинні виконуватися через фіксований зумовлений проміжок часу (наприклад, при зборі даних або управлінні виконавчими механізмами). Керуюча програма системи реального часу для визначення моменту запуску процесу використовує свої годинники реального часу. У більшості систем реального часу є декілька класів періодичних процесів з різними періодами (інтервалами часу між виконанням процесів) і тривалістю виконання. Керуюча програма повинна бути здатна в будь-який момент часу вибрати процес, призначений на виконання.
Годинник реального часу конфігуруються так, щоб періодично подавати тактовий сигнал, період між сигналами становить зазвичай кілька мілісекунд. Сигнал годин ініціює процес на рівні переривань, який запускає планувальник процесів для керування періодичними процесами. Процес на рівні переривань зазвичай сам не керує періодичними процесами, оскільки обробка переривань повинна завершуватися якнайшвидше.
Дії, що виконуються керуючою програмою при управлінні періодичними процесами, показані на рис. 13.5. Планувальник переглядає список періодичних процесів і вибирає з нього на виконання один процес. Вибір залежить від пріоритету процесу, періоду процесу, передбачуваної тривалості виконання і кінцевих термінів завершення процесу. Іноді за один період між тактовими сигналами годин необхідно виконати два процеси з різними тривалостями виконання. У такій ситуації один процес необхідно призупинити на час, відповідне його тривалості.
Рис. 13.5. Действия управляющей программы при запуске процесса
Якщо керуючою програмою зареєстровано переривання, це означає, що до одного з сервісів зроблений запит. Механізм переривань передає управління зумовленою комірці пам'яті, в якій міститься команда перемикання на програму обслуговування переривань. Ця програма повинна бути простою, короткою і швидко виконуватися. Під час обслуговування переривань всі інші переривання системою ігноруються. Щоб зменшити ймовірність втрати даних, час перебування системи в такому стані має бути мінімальним.
Програма, що виконує сервісну функцію, повинна перекрити доступ наступним перериваннях, щоб не перервати саму себе. Вона повинна виявити причину переривання і ініціювати процес з високим пріоритетом для обробки сигналу, що викликав переривання. У деяких системах високошвидкісного збору даних обробник переривань зберігає для подальшої обробки дані, які в момент отримання переривання знаходилися в буфері. Після обробки переривання керування знову переходить до керуючої програмою.
У будь-який момент часу може бути кілька призначених на виконання процесів з різними рівнями пріоритетів. Планувальник встановлює порядок виконання процесів. Ефективне планування відіграє важливу роль, якщо необхідно відповідати вимогам, які пред'являються до системи реального часу. Існує дві основні стратегії планування процесів.
Невитисняючих планування. Один процес планується на виконання, він запускається і виконується до кінця або блокується з якихось причин, наприклад при очікуванні введення даних. При такому плануванні можуть виникнути проблеми, пов'язані з тим, що в разі декількох процесів з різними пріоритетами процес з високим пріоритетом повинен чекати завершення процесу з низьким пріоритетом.
Витісняють планування. Виконання процесу може бути припинено, якщо до сервісу надійшли запити від процесів з більш високим пріоритетом. Процес з більш високим пріоритетом має перевагу перед процесом з більш низьким рівнем пріоритету, і тому йому виділяється процесор.
У рамках цих стратегій розроблено безліч різних алгоритмів планування. До них відноситься циклічне планування, при якому кожен процес виконується по черзі, і планування по швидкості, коли при першому виконанні отримують більш високий пріоритет процеси з коротким періодом виконання [64]. Кожен з алгоритмів планування має певні переваги і недоліки, проте тут ми їх розглядати не будемо.
Інформація про призначений на виконання процесі передається адміністратору ресурсів. Він виділяє для вибраного процесу необхідну пам'ять, а в багатопроцесорної системі - ще й процесор. Потім процес поміщається в "список призначень", тобто в список процесів, призначених на виконання. Коли процесор завершує виконання будь-якого процесу і стає вільним, викликається диспетчер. Він переглядає наявний список, вибирає процес, який можна виконувати на вільному процесорі, і запускає його на виконання.
