logo
Konspekt_lektsy_KISU_redaktirovannyy_308

23.7. Операційні системи реального часу.

Швидкодія ПЛК або комп'ютера впливає на величину динамічної похибки системи автоматизації і запас її стійкості за наявності зворотного зв'язку. Для поліпшення цих характеристик використовують швидкодіючі модулі введення-виводу і комп'ютер (ПЛК) з високопродуктивним процесором. Це дозволяє поліпшити динамічні характеристики системи, проте більшість операційних систем (ОС) не можуть забезпечити один і той же час виконання завдання при повторних її запусках, тобто час виконання є випадковою величиною. В деяких випадках непередбачуваність часу виконання завдання призводить до відмови системи.

Для усунення цієї проблеми був розроблений клас операційних систем, які забезпечують детермінований (тобто не випадковий) час виконання завдань і час реакції на апаратні переривання. Такі ОС отримали назву операційних систем реального часу (ОС РЧ) і були поділені на ОС жорсткого і м'якого реального часу. Відмітною ознакою ОС РЧ є не час виконання завдань, а гарантованість постійності величини цього часу для одного і того ж завдання.

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

Стандарт POSIX (Portable Operating System Interface for Computer Environments) IEEE 1003.1 дає наступне визначення РЧ: «реальний час в операційних системах — це здатність операційної системи забезпечити необхідний рівень сервісу в певний проміжок часу». Отже, ОС РЧ відрізняються своєю поведінкою, а не внутрішнім принципом побудови. Тому якщо вірогідність появи неприпустимо великих затримок достатньо низка для досягнення необхідного рівня сервісу (наприклад, якщо вона менше допустимої вірогідності відмови системи), то така ОС в конкретному застосуванні може розглядатися як ОС РЧ. Зокрема, відповідно до визначення стандарту POSIX операційна система Windows XP при управлінні повільними (тепловими) процесами може розглядатися як ОС РЧ.

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

Базовими вимогами для забезпечення режиму реального часу є:

Інверсією пріоритетів називають ситуацію, коли потік з високим пріоритетом вимагає надання ресурсу, який вже зайнятий потоком з нижчим пріоритетом. Виходить, що високопріоритетний потік простоює в черзі, тоді як виконується низькопріоритетний (відбувається «інверсія пріоритетів»). Така ситуація можлива, якщо є потік з середнім пріоритетом, який блокує завершення виконання потоку з нижчим пріоритетом, а потік з вищим пріоритетом не може початися, оскільки захоплений необхідний йому ресурс. Основним методом вирішення цієї проблеми в ОС РЧ є спадкоємство пріоритетів, яке полягає в наступному. Якщо низькопріоритетний потік блокує виконання декількох високопріоритетних потоків, то низькопріоритетний потік ігнорує призначений йому спочатку пріоритет і виконується з пріоритетом, який є найвищим в блоці чекаючих його потоків. Після закінчення роботи потік приймає свій первинний пріоритет.

Для забезпечення режиму реального часу в ОС можуть бути реалізовані наступні вимоги:

У системах РЧ зазвичай відсутня віртуальна пам'ять, оскільки цей метод використовує підкачку сторінок з диска, час виконання якої є непередбачуваним.

Найбільш поширеними в ПЛК і комп'ютерах для вирішення завдань автоматизації є операційні системи Windows CE, QNX Neutrino і OS-9.

Багатозадачна операційна система жорсткого реального часу Windows CE.NET корпорації Microsoft (www.microsoft.com) підтримує мікропроцесори з архітектурою ARM, STRONGARM і xScale, MIPS, SH, Х86-сумісні і має наступні властивості:

Ядро цієї ОС принципово відрізняється від ядра ОС для настільних комп'ютерів. У Windows CE.NET об'єднані всі можливості систем реального часу і останні технології Windows. Планування виконується на основі пріоритетів, для усунення інверсії використовується спадкоємство пріоритетів. Не дивлячись на наявність можливості роботи з віртуальною пам'яттю, для забезпечення режиму жорсткого реального часу її відключають.

Windows CE.NET підтримує Microsoft Visual Studio.NET і Microsoft eMbedded Visual C++ з мовами програмування Visual C++, Visual C# і Visual Basic.NET.

QNX Neutrino корпорації QNX Software Systems є операційною системою реального часу і забезпечує багатозадачний режим з пріоритетами. Підтримує мікропроцесори сімейств ARM, STRONGARM, xScale, x86, MIPS, POWERPC, SH-4.

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

Інверсія пріоритетів долається за допомогою розподіленого спадкоємства пріоритетів.

Операційна система OS-9 фірми Microware System є багатозадачною і мультикористувацькою, працює в режимі м'якого реального часу. Використовується у вбудовуваних додатках на платформах ARM, STRONGARM, MIPS, POWERPC, Hitachi SUPERH, x86, Pentium, XScale, Motorola 68K.

ЛЕКЦІЯ 24. ОРС-СЕРВЕР.