Смекни!
smekni.com

Короткі характеристики найбільш поширених ОСРЧ (стр. 4 из 9)

ОС ChorusOS підтримує на одній апаратній платформі широкий набір телекомунікаційних протоколів, успадкованих додатків, додатків режиму реального часу і Java-технології.

ОС ChorusOS моделює три сорти додатків:

POSIX-процеси становлять більшість додатків ChorusOS; ці програми мають доступ до чисто POSIX API, декільком POSIX-подібним розширеним API і невеликого числа обмежених системних викликів мікроядра,

Актори ChorusOS - ці програми виконуються над мікроядром і обмежуються API мікроядра, актори включають драйвери, події підсистем і протокольні стеки,

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

Архітектура ОС ChorusOS є багатошаровою, заснованої на компонентах (component-based). Мікроядро містить мінімальний набір компонентів, необхідних для функціонування ОС

kern - реалізує інтерфейс мікроядра і містить актор KERN, допоміжну бібліотеку і заголовні файли,

менеджер приватних даних (pd) реалізує інтерфейс між підсистемами мікроядра,

менеджер постійної пам'яті (pmm) реалізує інтерфейс постійної пам'яті,

core executive забезпечує істотну частину підтримки реального часу.

Компонент диспетчера ядра (core executive) забезпечує наступну функціональність

підтримка численних незалежних додатків,

підтримка користувацьких і системних додатків,

підтримка актора - одиниці модулярізаціі додатків,

підтримка одиниці виконання - потоку,

операції управління потоками,

управління Local Access Point (LAP),

сервіси управління винятковими ситуаціями,

мінімальний сервіс управління переривань.

У core executive відсутній управління такими сутностями, як синхронізація, планування, час, пам'ять. Політики керування цими поняттями забезпечуються додатковими компонентами, які вибираються користувачем в залежності від вимог апаратних і програмних засобів. Core executive завжди присутній у виконуваному примірнику ОС ChorusOS, інші компоненти конфігуруються і додаються по необхідності. Розмір резидентної частина ядра складає 10Kb.

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

Необов'язкові компоненти ОС ChorusOS 5.0 розбиваються відповідно до функціональністю:

Управління діяльністю (Actor management) включає підтримку розширення режиму користувача, динамічні бібліотеки, управління стиснутими файлами;

Планування (Scheduling) включає планування в стилі FIFO (first-in-first-out), різностильних планування (multi-class scheduling), циклічне планування (round-robin), планування в режимі реального часу;

Управління пам'яттю включає, крім розподілу пам'яті, підтримки апаратного захисту і підкачки, ще й статистику мікроядра, події системи Solaris, метрики операційної системи;

Працездатність (High Availability) включає гарячий рестарт, сторожовий таймер (Watchdog timer), чорний ящик, дамп системи;

Синхронізація потоків включає семафори, набори прапорів подій, мьютекс, монопольні блокування, що забезпечують відсутність інверсії пріоритетів;

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

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

Інструментальна підтримка включає системну журналізацію, реєстрацію помилок, підтримку профілювання і контрольних точок, моніторинг системи, налагодження системи, дамп ядра;

Підтримка мови C включає командний інтерпретатор на цільовому комп'ютері, віддалений shell;

Підтримка файлової системи включає іменовані канали, NFS-клієнт, NFS-сервер, файлові системи MS-DOS, PDE, / proc, UFS, ISO9000;

Управління введенням / виводом включає підтримку драйверів деяких пристроїв;

Мережева підтримка включає підтримку деяких мережевих протоколів.

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

ОС ChorusOS 5.0 лежить в основі операційного середовища Solaris і підтримує такі цільові платформи:

UltraSPARC II (CP1500 і CP20x0),

Intel x86, Pentium,

Motorola PowerPC 750 і сімейство процесорів 74x0 (mpc7xx),

Motorola PowerQUICC I (mpc8xx) і PowerQUICC II (mpc8260) (мікроконтролери).

Рис.3. Архітектура ChorusOS.

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 мкс, виключаючи можливість пропуску критичного події.