Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ / lkspoukr.doc
Скачиваний:
69
Добавлен:
07.02.2016
Размер:
772.1 Кб
Скачать

3.3.5 Мережна ос реального часу qnx

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

QNX є мережна, багатокористувацька (багатотермінальна), мультизадачна й маштабуєма ОС. З погляду користувальницького інтерфейсу і API вона дуже схожа на UNIX. Однак QNX — це не версія UNIX, хоча чомусь багато хто так вважає. Вона була розроблена, що називається «із нуля», канадською фірмою QNX Software Systems Limited у 1989 році за замовленням Міністерства оборони США. Причому ця система побудована на зовсім інших архітектурних принципах, відмінних від принципів, використаних при створенні ОС UNIX.

QNX була першої комерційний ОС, побудованої на принципах мікроядра й обміну повідомленнями. Система реалізована у виді сукупності незалежних (але взаємодіючих через обмін повідомленнями) процесів різного рівня (менеджери й драйвери), кожний з який реалізує визначений вид сервісу. Ці ідеї дозволили домогтися декількох найважливіших переваг:

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

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

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

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

- компактна графічна підсистема Photon, побудована на тих же принципах модульності, що і сама ОС, дозволяє одержати повнофункціональний GUI (розширений Motif), що працює разом із POSIX-сумісної ОС усього в 4 Мбайт пам'яті, починаючи з i80386 процесора.

В систему QNX втілені принципи, обов'язкова реалізація яких дозволять створювати ОСРЧ.

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

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

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

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

GUI (graphic user interface) — графічний інтерфейс користувача.

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

Соседние файлы в папке СПЗ