Смекни!
smekni.com

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

Швидкі годинник і таймерні служби. Для вимірювання часових інтервалів або для генерації переривань 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.

5.2.1 Microsoft Windows Embedded

Операційні системи Microsoft Windows Embedded для вбудованих систем мають два різновиди відповідно до версіями ОС Windows - NT і XP [MSEmb]. Версії систем Embedded корпорації Microsoft складаються з численних конфігурованих частин, які дозволяють легко маніпулювати набором встановленого програмного забезпечення.

Windows NT Embedded використовує технічні ресурси Windows NT і дозволяє розробляти додатки, які можуть бути легко інтегровані в існуючу інформаційну інфраструктуру.

Набір засобів розробки - Target Designer і Component Designer - дозволяє OEM (original equipment manufacturer) виробникам конфігурувати та створювати операційну систему для конкретної апаратної платформи. Windows NT Embedded володіє специфічними компонентами для створення вбудованих систем, які дозволяють працювати в системах без відеоадаптера, здійснювати завантаження і роботу накопичувачів в режимі "тільки читання", виконувати віддалене адміністрування і надають додаткові засоби обробки помилок і відновлення. Windows NT Embedded дає можливість створювати пристрої, з якими працювати так само просто, як і зі стандартними ПК на основі Windows, та управляти цими новими пристроями на основі існуючих професійних продуктів, таких як Microsoft Systems Management Сервер, HP OpenView, IBM Tivoli, CA Unicenter TNG, та ін

Розробник вбудованих систем застосовує для конфігурування ОС Target Designer, використовуючи готовий двійковий код Windows NT, додаткові компоненти для вбудовування і додаткові додатки. У разі необхідності, для створення нових компонентів, що не входять до складу продукту (наприклад, драйверів пристроїв, додатків та ін), може використовуватися Component Designer. Новостворені нові компоненти можуть бути імпортовані в Target Designer і включені до складу цільової ОС. Після конфігурування ОС з допомогою Target Designer відбувається перевірка взаємозв'язків компонентів і будується образ системи, готовий до завантаження і виконання на цільовій системі.

Windows XP Embedded налічує до 10000 окремих компонентів, а в Windows NT Embedded їх було трохи більше 300. Основною відмінною рисою Windows XP Embedded є чітке розмежування компонентів системи, що дозволяє розробникам вбудованого набору функцій при створенні образу системи включати тільки необхідні файли і максимально скоротити розмір результуючої системи. Цими компонентами служать окремі частини системи Windows XP Professional.

Компоненти Windows XP Embedded представлені сервісами, додатками, бібліотеками і драйверами - розробнику потрібно настроїти необхідний набір функцій і зібрати з компонентів необхідну конфігурацію в образ середовища виконання (runtime image). Всі опції конфігурації зібрані воєдино в базу даних компонентів. Розробник має до неї доступ і може її редагувати за допомогою спеціального інструменту - Component Database Manager.

Для кожного компонента в процесі створення визначається ряд параметрів:

платформа, на якій буде виконуватися даний компонент (визначає порядок компіляції та складання);

опис і схема підключення компонента;

список асоційованих ресурсів, таких як файли і ключі реєстру;

залежно компонента від інших компонентів (наприклад, від DirectX або NET runtime);

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

приналежність до групи для спрощення звернення відразу до декількох компонентів як до цілого.

Сама база даних управляється СУБД MS SQL Server і може бути розташована як локально, на комп'ютері розробника, так і на сервері.

6. TinyOS

Розробка операційної системи TinyOS [HSW00] пов'язана з появою нової концепції бездротового зв'язку - Motes. Motes (у перекладі з англійської - порошинки, смітинки) - це реалізація ідеї "smart-dust" ("розпорошеної розумності"), запропонованої оборонним агентством Darpa (Defense Advanced Research Projects Agency), зокрема, для відстеження пересувань противника.

Motes розроблені в Каліфорнійському університеті в Берклі спільно з Intel, і в даний час ведуться випробування цих самоорганізуються мереж, побудованих на основі відкритих технологій Intel Mote та програмного забезпечення TinyOS, TinyDB.

Розумні сенсори Motes, розподілені в просторі, можуть самостійно зв'язуватися один з одним, утворюючи розподілену бездротову інформаційну мережу. "Порошинка розуму" складається з 8-бітового мікроконтролера сімейства Amtel AVR, прийомопередаюче інтегрального модуля TR1000 і двох мікросхем середнього ступеня інтеграції - енергонезалежної пам'яті і додаткового завантажувального мікроконтролера, що дозволяє по радіоканалу оновлювати ПО центрального процесора - AVR.

"Smart-dust" створювалася для динамічних, що змінюються як в просторі, так і в часі мереж - для тієї області, в якій абсолютно незастосовні ні традиційні алгоритми управління, ні відпрацьовані принципи маршрутизації, ні архітектурні рішення, що лежать в основі традиційного системного ПЗ. Прагнення конструкторів зробити її якомога компактнішою (у перспективі - 1 мм 3) тягне за собою низку істотних обмежень, в першу чергу енергетичних. Обмежені обчислювальні ресурси і динамічний характер мережі призводять до того, що функціональність "пилинки" треба час від часу змінювати, що може бути досягнуто тільки одним способом - передачею по радіоканалу потрібного ПЗ. З іншого боку, енергетична дорожнеча передачі інформації вимагає надкомпактний подання переданого коду, в іншому випадку "пилинки" просто не будуть працювати з-за швидкого виснаження крихітних автономних джерел живлення.

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