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-сумісні і має наступні властивості:
допускає одночасне виконання до 32 процесів;
має 256 рівнів пріоритетів;
підтримує витісняючу багатозадачність;
забезпечує карусельне виконання ланцюжків з однаковим пріоритетом;
підтримує вкладені переривання;
має середній час обробки переривання 2,8 мкс (на Pentium 166 Мгц), підтримує вкладені переривання;
забезпечує час обробки потоку переривань (Interrupt Service Thread, IST), рівний 17,9 мкс (на Pentium 166 Мгц);
у мінімальній конфігурації може бути встановлена при об'ємі ОЗУ 200Кб.
Ядро цієї ОС принципово відрізняється від ядра ОС для настільних комп'ютерів. У 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. ОРС-СЕРВЕР.
- 15.1. Джерела перешкод 174
- Різновиди архітектури.
- 1.1. Різновиди архітектури.
- 1.2. Вимоги до архітектури.
- 1.1.2. Проста система
- 1.3. Розподілені системи автоматизації.
- 1.4. Багаторівнева архітектура
- 2.2. Основні поняття технології Інтернет.
- 2.3. Принципи управління через Інтернет.
- 2.1. Проблеми і їх вирішення
- 2.2. Основні поняття технології Інтернет
- 2.3. Принципи управління через Інтернет
- 3.2. Властивості відкритих систем
- 3.3. Засоби досягнення відкритості
- 3.4. Переваги і недоліки
- 4.2. Основні поняття промислових мереж.
- 4.3. Модель osi
- 5.1. Принципи побудови
- 5.2. Узгодження лінії з передавачем і приймачем
- 5.3. Топологія мережі на основі інтерфейсу rs-485
- 5.4. Усунення стану невизначеності лінії
- 5.5. Крізні струми.
- 5.6. Інтерфейси rs-232 і rs-422
- 6.1. Основні властивості can.
- 6.2. Фізичний рівень Саn.
- 6.3. Типова структура трансівера Саn.
- 6.4. Канальний рівень Саn.
- 7.2. Фізичний рівень
- 7.3. Канальний рівень Profibus dp
- 7.4. Резервування
- 7.5. Опис пристроїв
- 8.2. Фізичний рівень
- 8.3. Канальний рівень
- 8.4. Прикладний рівень.
- 9.2. Фізичний рівень
- 9.3. Канальний рівень
- 10.1. Проблеми бездротових мереж|сітей|
- 10.2 Залежність щільності потужності від відстані.
- 10.3 Вплив інтерференції хвиль.
- 10.4 Джерела перешкод.
- 10.5 Деякі особливості бездротових каналів.
- 11.2 Методи розширення спектру і модуляції несучої.
- 11.3 Методи зменшення кількості помилок в каналі.
- 11.4 Передача повідомлень|сполучень| без підтвердження про отримання|здобуття|.
- 12.2. Стандарт ZigBee|
- 12.3. Модель передачі даних.
- 13.1. Фізичний і канальний рівні.
- 13.2. Архітектура мережі|сіті| Wi-Fi|.
- 13.3. Порівняння бездротових мереж|сітей|
- 13.1. Фізичний і канальний рівні.
- 13.2. Архітектура мережі|сіті| Wi-Fi|.
- 13.3. Порівняння бездротових мереж|сітей|
- 14.1. Повторювачі інтерфейсу
- 14.2. Перетворювачі інтерфейсу
- 14.3. Адресовані перетворювачі інтерфейсу
- 14.4. Інше мережеве|мережне| устаткування|обладнання|
- 14.5. Кабелі для промислових мереж|сітей|
- 15.1. Джерела перешкод
- 15.2. Характеристики перешкод
- 15.3. Перешкоди з|із| мережі|сіті| електропостачання
- 15.4. Електромагнітні перешкоди
- 16.1. Визначення
- 16.2. Цілі заземлення
- 16.4. Види заземлень
- 16.1. Визначення
- 16.2. Цілі заземлення
- 16.3. Заземлювальні провідники
- 3.2.6. Модель «землі|грунту|»
- 16.4. Види заземлень
- 17.2. Похибка методу вимірювань.
- 17.3. Похибка програмного забезпечення
- 17.4. Достовірність вимірювань.
- 18.2. Архітектура.
- 18.3. Характеристики плк.
- 18.4. Пристрої збору даних.
- 19.2. Комп'ютер для спілкування з|із| оператором
- 19.3. Промислові комп'ютери
- 20.1. Введення аналогових сигналів
- 20.2. Структура модулів вводу.
- 20.3. Модулі вводу струму і напруги
- 20.1. Введення аналогових сигналів
- 20.2. Структура модулів вводу.
- 20.3. Модулі вводу струму і напруги
- 21.2. Введення дискретних сигналів
- 21.3. Виведення дискретних сигналів
- 22.1. Типовий модуль вводу частотних сигналів.
- 22.2. Модулі управління рухом.
- 22.1. Типовий модуль вводу частотних сигналів.
- 22.2. Модулі управління рухом.
- 23.2. Графічне програмування
- 23.3. Графічний інтерфейс.
- 23.4. Відкритість програмного забезпечення.
- 23.5. Зв'язок з фізичними пристроями.
- 23.6. Бази даних.
- 23.7. Операційні системи реального часу.
- 24.1. Огляд стандарту орс.
- 24.1. Огляд стандарту орс.
- 24.2. Орс da-сервер
- 25.1. Специфікація opc ua.
- 25.1. Специфікація opc ua.
- 25.2. Орс da-сервер в середовищі ms Excel.
- 25.3 Застосування|вживання| орс-сервера| з|із| matlab| і Lab| view
- 26.1. Мова релейноконтактних схем ld.
- 26.2. Список інструкцій il.
- 26.3. Структурований текст st.
- 26.4. Діаграми функціональних блоків fbd.
- 26.5. Функціональні блоки стандартів мек 61499 і мек 61804.
- 26.6. Послідовні функціональні схеми sfc.
- 26.7. Програмне забезпечення.
- 27.1. Функції scada.
- 27.2. Властивості scada.
- 27.3. Програмне забезпечення.
- 27.1. Функції scada.
- 27.2. Властивості scada.
- 27.3. Програмне забезпечення.