Короткі характеристики найбільш поширених осрч




Сторінка4/8
Дата конвертації03.11.2017
Розмір0,73 Mb.
1   2   3   4   5   6   7   8

5. Розширення реального часу для Windows NT

Windows NT проектувалася і, в основному, використовується як універсальна ОС. Однак на ринку систем реального часу чітко простежується тенденція використовувати Windows NT і її розширення в спеціалізованих системах. На це існує кілька причин:

Windows NT проектувалася відповідно до сучасних технологій побудови ОС,

програмний інтерфейс додатків (API) для Win32 став де-факто стандартом для програмістів,

графічний користувальницький інтерфейс (GUI) став настільки популярним, що інші ОС намагаються забезпечити схожий інтерфейс,

доступна велика кількість драйверів пристроїв,

доступні багато потужні інтегровані середовища розробки.

Сама по собі Windows NT не підходить для застосування в системах реального часу, оскільки в ній дуже мало пріоритетних рівнів, відсутній механізм успадкування пріоритетів. Для мінімізації часу обробки переривань (ISR) в Windows NT введена концепція відкладеного виклику процедури (DPC - deferred procedure call), пріоритет якої вище, ніж пріоритет для користувача і системних потоків, у той час як всі DPC мають однаковий пріоритет. Це призводить до того, що всі DPC ставляться в чергу FIFO, і DPC з високорівневим перериванням зможе виконатися тільки після того, як всі інші DPC, що стоять в черзі перед нею, будуть виконані. Такі ситуації ведуть до непередбачуваних часи відгуку, що несумісно з вимогами до ОСРВ. Управління пам'яттю в Windows NT засновано на механізмі віртуальної пам'яті. Це тягне за собою захист пам'яті, трансляцію адрес і підкачування, яка неприйнятна в ОСРВ.


5.1 RTX для Windows NT

Розширення реального часу RTX (Real Time Extension) для ОС Windows NT (розроблено корпорацією VenturСom) дозволяє створювати додатки для високошвидкісного керування з детермінованим часом реакції на зовнішні події [RTX].

RTX глибоко інтегроване в ядро Windows NT і для забезпечення необхідних функцій використовує сервіс Windows NT і API WIN32. Ядро реального часу (nucleus) інтегровано у ядро NT (kernel). Кожен процес RTX виконується як драйвер пристрою ядра NT, при цьому процеси не захищені один від одного. Така реалізація приводить до швидкого переключення контексту, але небезпечна з точки зору конфіденційності.

Розширення реального часу додають до Windows NT специфічну для реального часу функціональність.

Забезпечується можливість створювати процеси реального часу, керовані власним планувальником. Цей планувальник працює вже за правилами реального часу і використовує алгоритм витіснення за пріоритетами. Крім того, процеси реального часу мають перевагу перед стандартними процесами Win32, витісняючи їх. Процеси реального часу мають зовсім іншу, порівняно зі стандартними процесами Windows NT, ступінь надійності і специфічну функціональність.

Процеси реального часу і стандартні процеси Win32 мають засоби взаємодії один з одним.

Процеси реального часу мають свій власний програмний інтерфейс RTAPI, що реалізує розвинений набір засобів, характерний для програмних інтерфейсів (API) ОСРВ.

Додаток може використати як стандартні функції Win32, так і специфічні функції API реального часу (RTAPI), що дозволяє виділяти критичні ділянки коду додатків Windows NT і контролювати час та надійність їх виконання.

Є можливість контролю над працездатністю і часом реакції системи. Зависання стандартних програм Windows NT або крах системи не призводять до зависання додатків реального часу.

Надається можливість роботи зі швидкими годинником і таймерами високого дозволу.

Забезпечується можливість прямого доступу до пам'яті та фізичним пристроям.

RTX включає в себе наступні компоненти:

рівень абстракції апаратури HAL (Hardware Abstraction Layer) реального часу (Real-Time HAL). HAL є програмним компонентом найнижчого рівня при взаємодії драйверів ядра з апаратурою. Зокрема, саме на рівні HAL відбувається первинна обробка переривань від таймера,

підсистему реального часу RTSS (Real-Time Subsystem),

програмний інтерфейс розширень реального часу RTAPI (Real-Time Application Programming Interface). HAL реального часу підміняє стандартний HAL Windows NT.

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

Робота з перериваннями Real-Time HAL. Перехоплюючи апаратні переривання, Real-Time HAL розрізняє переривання, пов'язані з обробникам реального часу і обробникам Windows NT. Переривання, які повинні оброблятися драйверами Windows NT, відправляються за стандартною ланцюжку. При цьому Real-Time HAL стежить за тим, щоб переривання не маскувалися драйверами Windows NT більш ніж на 5 мкс, виключаючи можливість пропуску критичного події.

Швидкі годинник і таймерні служби. Для вимірювання часових інтервалів або для генерації переривань Real-Time HAL дозволяє працювати з тикер, дозвіл якого 1 мкс. Системний таймер синхронізований з тикер, і може працювати з періодом 100 мкс або швидше, забезпечуючи роботу як стандартних таймерних сервісів, так і додаткових, що входять до складу підсистеми реального часу.

Підтримка підсистеми реального часу (RTSS). Крім перерахованих вище функцій (переривання і таймери), Real-Time HAL містить підтримку функціонування всієї підсистеми реального часу. Так, на основі переривань від таймера будується диспетчер процесів реального часу. Real-Time HAL відповідає також за виконання функцій вводу-виводу підсистеми реального часу і ін

Програмний інтерфейс реального часу RTAPI є розширенням Win32 і містить, перш за все, набір функцій, необхідних для керування пристроями. RTAPI реалізований у двох видах - як підмножина викликів підсистеми реального часу (RTSS) і як динамічна бібліотека (DLL), яка може викликатися з Win32-додатків. RTAPI містить наступні групи функцій:

управління процесами і потоками - надає Win32-сумісний інтерфейс для управління, створення, зміни пріоритетів, профілювання і завершення потоків реального часу,

управління об'єктами RTSS - надає можливості уніфікованого управління об'єктами RTSS (створення, закриття, доступ). Об'єктами RTSS є: таймери, обробники прерії-жень і виняткових ситуацій (startup, shutdown, blue screen), потоки, процеси, семафори, мьютекс (mutex), колективна пам'ять, поштові скриньки, консольний і файловий ввід-висновок, регістри.

Взаємодія між процесами. У RTAPI використовуються семафори, мьютекс і колективна пам'ять для взаємодії як потоків реального часу між собою, так і для їх взаємодії з процесами WIN32.

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

Доступ до фізичної пам'яті: програма користувача отримує можливість доступу до даних по фізичних адресами пам'яті.

Управління переривань дозволяє призначати і забороняти обробники переривань, дозволяти і забороняти переривання.

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

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



5.2 INtime

Система INtime є розширенням реального часу Windows, яке було розроблене корпорацією Radisys Corporation, а в даний час підтримується корпорацією TenAsys [INTIME].

INtime комбінує можливості ОСРВ жорсткого реального часу зі стандартними ОС Windows, включаючи Windows XP, Windows XP Embedded, Windows 2000, Windows NT і Windows NT Embedded, не вимагаючи додаткової апаратури. INtime спеціально розроблена під архітектуру процесора x86. Програми реального часу і не реального часу виконуються на різних віртуальних машинах на одному комп'ютері (див. рис.4).

INtime, на відміну від RTX, слабо пов'язана з NT. Архітектура INtime заснована на механізмі апаратного обслуговування завдань (hardware tasking), яке забезпечується процесором Intel. Виходить, що два ядра виконуються на одній апаратурі. Оскільки вони поділяють одну апаратуру, потрібні були деякі модифікації NT HAL. Такий підхід дозволяє захистити і відокремити середовище виконання і область пам'яті від Windows. Всередині INtime кожен процес програми має своє власний адресний простір. Крім того, ядро і програми виконуються на різних рівнях пріоритетних, що дозволяє захистити їх один від одного.



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

Рис.4. Структура INtime.



1   2   3   4   5   6   7   8


База даних захищена авторським правом ©uchika.in.ua 2016
звернутися до адміністрації

    Головна сторінка