
- •Реферат
- •Список термінів та скорочень
- •Розділ 1. Система автоматичного управління автопілот
- •Підвищення рівня безпеки роботи автопілоту
- •Системи реального часу
- •Операційна система реального часу qnx
- •Розділ 2. Алгоритм програми
- •Опис взаємодії клієнта та сервера
- •Алгоритм серверного застосування
- •Алгоритм клієнтського застосування
- •Розділ 3. Особливості програмної реалізації
- •Вибір мови та середовища розробки
- •Мережева взаємодія на стороні сервера
- •Мережева взаємодія на стороні клієнта
- •Логування
- •Розділ 4 експеримент
- •Апаратне забезпечення
- •Програмне забезпечення
- •Результати експерименту
- •Висновки
- •Список використаних джерел
- •Додаток а інструкція з використання застосування
- •Додаток б тестування програми
Системи реального часу
Реальний час – режим роботи автоматизованої системи обробки інформації і управління, при якому враховуються обмеження на часові характеристики функціонування.
Системи реального часу - це системи, які забезпечують потрібний рівень сервісу за визначений обмежений час. Вони призначені для керування устаткуванням, часто з дуже жорсткими обмеженнями за часом. Прикладом такого застосування може бути програма бортового комп'ютера fly-by-wire (дослівно - що "летить по дроту", тобто що використовує систему управління, в якій органи управління не мають механічного і гідравлічного зв'язку з рульовими площинами) літака, системи управління прискорювачем елементарних часток або промисловим устаткуванням. Подібні системи зобов'язані підтримувати багатопоточність, гарантований час реакції на зовнішню подію, простий доступ до таймера і зовнішніх пристроїв. Правильна, але запізніла реакція системи на зовнішню подію може бути фатальною для них.
Здатність гарантувати час реакції є відмітною ознакою систем реального часу. Потрібно враховувати відмінність між гарантованістю і просто високою продуктивністю і низькими накладними витратами. Далеко не всі алгоритми і технічні рішення, навіть ті, що забезпечують відмінний середній час реакції, годяться для з і операційних систем реального часу. Натомість системи загального призначення використовуються для забезпечення оптимального розподілу всіх ресурсів між всіма процесами.
Прийнято розрізняти системи м'якого (soft) і жорсткого (hard) реального часу. У системах жорсткого реального часу нездатність забезпечити реакцію на які-небудь події в заданий час веде до відмов і неможливості виконання поставленого завдання. На практиці час реакції має бути мінімальним. Системами м'якого реального часу називаються системи, що не потрапляють під визначення "жорсткі", оскільки в літературі чіткого визначення для них доки немає. Системи м'якого реального часу можуть не встигати вирішувати задачу, але це не приводить до відмови системи в цілому. Тобто вони забезпечують не гарантований, а середній час реакції.
В системах реального часу зазвичай використовують такі часові характеристики як латентність і дедлайн. Дедлайн (deadline) – граничний термін завершення певної роботи. Латентність (latency) – затримка реакції системи на зовнішні події [2].
Концепція багатозадачності (псевдопаралелізм) є істотною для системи реального часу з одним процесором, застосування якої мають бути здатні обробляти багаточисельні зовнішні події, що відбуваються практично одночасно. Концепція процесу, що прийшла зі світу UNIX, погано реалізується в багатозадачній системі, оскільки процес має важкий контекст. Виникає поняття потоку (thread), який розуміється як підпроцес.
Операційна система реального часу qnx
QNX – POSIX-сумісна операційна система, яка дозволяє забезпечити на персональному комп’ютері розподілену обробку даних в реальному масштабі часу. В даній ОС реалізована концепція зв'язку між задачами на основі повідомлень (IPC), що посилаються від однієї задачі до іншої, причому задачі ці можуть знаходитися як на тому самому вузлі локальної мережі, так і на різних [1].
ОС QNX має декілька властивостей, які роблять її найбільш ефективною для роботи у реальному часі. Серед них те, що ця ОС є ОС жорсткого реального часу, вона має високу надійність за рахунок мікроядерної архітектури. Наявність розвинутого середовища розробки QNX Momentics спрощує процес розробки і підтримки програмного забезпечення. Добру переносимість програмного забезпечення на платформу QNX із операційних систем Unix, Linux забезпечує сумісність з POSIX [3].