logo
ТППС / Магистры / ТППС-лаб

Лабораторна робота № 5

Тема: Проектування систем реального часу

Ціль - познайомитися з технологією проектування систем реального часу і з деякими загальними архітектурами таких систем.

Короткі теоретичні відомості:

У цей час комп'ютери застосовуються для керування широким спектром різноманітних систем, починаючи від простих домашніх пристроїв і закінчуючи великими промисловими комплексами. Ці комп'ютери безпосередньо взаємодіють із апаратними пристроями. Програмне забезпечення таких систем (керуючий комп'ютер плюс керовані об'єкти) являє собою вбудовану систему реального часу, завдання якої - реагувати на події, які генеруються обладнанням, тобто у відповідь на ці події виробляти керуючі сигнали. Таке ПЗ вбудовуєтьсяв великі апаратні системи і повинне забезпечувати реакцію на події, що відбуваються в оточенні системи, у режиміреального часу.

Системи реального часу відрізняються від інших типів програмних систем. Їхнє коректне функціонування залежить від здатності системи реагувати на події через заданий (як правило, короткий) інтервал часу.

Система реального часу - це програмна система, правильне функціонування якої залежить від результатів її роботи і від періоду часу, протягом якого отриманий результат. “М'яка” система реального часу - це система, у якій операції віддаляються,якщо протягом певного інтервалу часу не виданий результат. “Тверда" система реального часу - це система, операції якої стаютьнекоректними, тобто виробляється сигнал про помилку, якщо протягом певного інтервалу часу результат не виданий.

Систему реального часу можна розглядати як систему “стимул-відгук”. При одержанні певного вхідного стимулу (вхідного сигналу) система генерує пов'язаний з ним відгук (відповідна дія або відповідний сигнал). Отже, поведінка системи реального часу можна визначити за допомогою списку вхідних сигналів, одержуваних системою, пов'язаних з ними відповідних сигналів (відгуків) і інтервалу часу, протягом якого система повинна відреагувати на вхідний сигнал.

Вхідні сигнали діляться на два класи.

  1. Періодичні сигналивідбуваються через визначені інтервали часу. Наприклад, система перевіряє датчик кожні 50 мілісекунд, і вживає дії (реагує) залежно від значень, отриманих від датчика (стимулу).

  2. Аперіодичні сигналивідбуваються нерегулярно. Зазвичай вони “повідомляють про себе” за допомогою механізму переривань. Прикладами аперіодичного сигналу може бути переривання, яке виробляється по завершенню передачі вхід/вихід і розміщення даних у буфері обміну.

У системах реального часу періодичні вхідні сигнали зазвичай генеруються сенсорами (датчиками), взаємодіючими із системою. Вони надають інформацію про стан зовнішнього оточення системи. Системні відгуки (відповідні сигнали) направляються групі виконавчих механізмів, керуючих апаратними пристроями, які потім впливають на оточення системи. Аперіодичні вхідні сигнали можуть генеруватися і сенсорами, і виконавчими механізмами. Як правило, аперіодичні сигнали означають виняткові ситуації, наприклад помилки в роботі апаратури. На рис. 8.1 показана модель “сенсор-система-виконавчий механізм” для вбудованої системи реального часу.

Рис. 8.1. Загальна модель системи реального часу

Системи реального часу повинні реагувати на вхідні сигнали, що відбуваються в різні моменти часу. Отже, архітектуру такої системи необхідно організувати так, щоб керування переходило до відповідного до оброблювача якнайшвидше після одержання вхідного сигналу. У послідовних програмах такий механізм передачі керування неможливий. Тому зазвичай системи реального часу проектують як множину паралельних взаємодіючих процесів. Частина системи - керуюча програма, часто називана диспетчером, - управляє всіма процесами.

Більшість моделей “стимул-відгук” систем реального часу зводяться до узагальненої архітектурної моделі, що полягає із трьох типів процесів (рис. 8.2). Для кожного типу сенсора є процес керування сенсором; обчислювальний процес визначає необхідний відповідний сигнал на отриманий системою вхідний сигнал; процеси керування виконавчими механізмами управляють діями цих механізмів. Така модель дозволяє швидко зібрати дані із усіх наявних сенсорів (до того, як відбудеться наступне введення даних), обробити їх і одержати відповідний сигнал від відповідного виконавчого механізму.

Рис. 8.2. Процеси керування сенсорами і виконавчими механізмами