OC QNX — реальное время, реальные возможности…


altОперационная система ЭВМ представляет собой совокупность программ, выполняющих две основные функции:

1. управление ресурсами системы, обеспечение (в случае необходимости) их распределения между несколькими пользователями и контроль за выделением ресурсов для одновременного выполнения многих задач;

2. предоставление набора услуг, обеспечивающего пользователю интерфейс, который отвечает его потребностям лучше, чем интерфейс физической машины; этим интерфейсом является интерфейс «виртуальной машины», который предоставляет набор средств для управления потоками информации, а также для реализации прикладного программного обеспечения.

Для первых цифровых вычислительных машин не существовало операционных систем. Пользователь получал ЭВМ и возможность полностью распоряжаться ее ресурсами на строго определенное время. Прямое взаимодействие с машиной (пошаговое выполнение команд, непосредственное изменение состояния ячеек памяти) было главным средством отладки программ.

Сегодня мы живем в эпоху изобилия разнообразных операционных систем. Перед пользователем теперь стоят задачи другого плана: как разобраться в этом изобилии, насколько одна ОС лучше другой, по каким критериям проводить сравнение и, в конечном итоге, что же пользователь хочет получить от той или иной системы.

Сейчас речь уже не идет об одиночных компьютерах, используемых для составления служебных записок и подсчета зарплаты для подразделения из нескольких человек. Современный этап в развитии информатики отмечен бурным прогрессом в области микропроцессоров, созданием распределенных информационных систем и персональных автоматизированных рабочих мест, внедрением компьютеров в сложные производственные и административные процессы.

Любой пользователь, в первую очередь, оценивает те возможности, которые система может ему предоставить, и насколько она может облегчить его участь при разработке прикладной системы. «На каких аппаратных платформах и с какой скоростью она работает ? Какое периферийное hardware поддерживает ? Какие возможности предоставляет для организации сетей ? Обеспечивает ли совместимость с какими-либо другими операционными системами ? Какие в ней есть инструментальные средства для разработки прикладных систем ?» — вот далеко не полный список вопросов, ответы на которые хочет получить пользователь при знакомстве с новой ОС.

Опытный программист, поработавший с различными операционными системами скажет, что идеальных систем не бывает, любая система в той или иной степени однобока. Возможно, он прав, однако, существует ОС, которая может удовлетворить запросы даже самого взыскательного пользователя.

В начале 80-х в университете Waterloo (Ontario, Canada) в результате исследований, проводимых в одном из отделов, была разработана новая операционная система, позволяющая организовать работу в реальном масштабе времени. Изначально, двое ее авторов были приверженцами различных платформ: Intel и Motorola, и благодаря этому, первая версия этой системы одинаково хорошо работала на обеих платформах. Когда они решили выйти с этой системой на рынок, за основу, все же был взят Intel. Первая версия системы (названная тогда

QUNIX) была выпущена в 1981 году. Это произошло еще до того, как IBM создала свой PC, и возможно, поэтому, событию не было уделено достаточно внимания среди широкого круга пользователей. Однако, это событие не прошло незамеченным для промышленных и военных структур. Фирма Quantum Software Systems Ltd. (с марта 1993 года — QNX Software Systems Ltd.), организованная авторами новой ОС, начала разработку коммерческого варианта операционной системы QNX. Она выступила родоначальником многих современных технологий программирования. Когда UNIX вышел на арену со своей технологией макроядра, концепции микроядра с IPC (Inter Process Communications) на основе передачи сообщений, заложенные в QNX в 1980 году, уже не были новинкой.

При поддержке монолитных ОС возникает ряд проблем, связанных с тем, что все функции макроядра работают в едином адресном пространстве. Во первых — это опасность возникновения конфликта между различными частями ядра, во вторых — сложность подключения к ядру новых драйверов. Преимущество микроядерной архитектуры заключается в том, что каждый компонент системы представляет собой самостоятельный процесс, запуск или остановка которого не отражается на работоспособности остальных процессов. Основная идея, заложенная в технологию микроядра, будь то операционная система или графический интерфейс, заключается в том, чтобы конструировать необходимую среду верхнего уровня, из которой можно легко получить доступ ко всем функциональным возможностям уровня аппаратного обеспечения. При такой структуре ядро служит стартовой точкой для создания системы. Искусство разработки микроядра заключается в выборе примитивов, которые должны в нем находиться для обеспечения необходимого и достаточного сервиса.

Процессы

В QNX размер ядра составляет около 10 Кбайт и обеспечивает поддержку 14 основных системных вызовов для предоставления сервиса по четырем направлениям:

1. IPC.

2. Диспетчеризация процессов.

3. Обработка прерываний.

4. Перенаправление сообщений по сети.

QNX поддерживает три основных типа IPC: сообщения, proxies и сигналы.

IPC на основе передачи сообщений базируется на трех основных примитивах Send(), Receive() и Reply(). Например, процесс A посылает сообщение процессу B с помощью функции Send(), принимающий процесс (B) находится в состоянии ожидания при помощи функции Receive(). После приема сообщения, процесс B, с помощью функции Reply(), отвечает процессу A, который находится в состоянии ожидания ответа. После чего посылающий процесс (A) разблокируется и продолжает работу. Такой механизм взаимных блокировок позволяет легко синхронизировать выполнение взаимодействующих процессов. Весь остальной сервис, предоставляемый в плане взаимодействия процессов (конвееры, очереди сообщений и т.п.), основывается на этом механизме. QNX копирует сообщения непосредственно из адресного пространства передающего процесса в адресное пространство принимающего, без создания дополнительных буферов. Поэтому “доставка” сообщений выполняется, практически, со скоростью, которую может позволить аппаратное обеспечение.

  • Related Posts

    Операционная система реального времени QNX

    Операционная система QNX является уникальным программным изобретением, которое может удовлетворить практически все требования пользователя. Так, она достаточно быстра в работе, совместима с аппаратными платформами и другими ОС, с ее помощью…

    Выделенный сервер: это залог успеха вашей работы

    Хостинг веб-порталов на выделенном сервере кому-то может показаться дороже в сравнении с онлайновым хостингом. Между тем, он выгоднее. Виртуальный хостинг, независимо от качества администрирования, не бывает надежным и стабильным стопроцентно.…

    You Missed

    Коммерческие выставки: техническая сторона без прикрас

    • От Redactor
    • 30 апреля, 2026
    • 8 views

    Выбор надежных сервисов для CPA-арбитража: роль народных рейтингов и мнения специалистов

    • От Redactor
    • 28 апреля, 2026
    • 14 views

    Особенности разработки корпоративных сайтов: этапы, основные задачи и важность SEO

    • От Redactor
    • 26 апреля, 2026
    • 15 views

    Новые рендеры Sony Xperia 1 VIII раскрывают обновлённый дизайн и характеристики

    • От Redactor
    • 20 апреля, 2026
    • 13 views

    В Саратовской области сбиты украинские беспилотники

    • От Redactor
    • 20 апреля, 2026
    • 10 views

    Обзор Samsung Galaxy S26 Ultra: эволюция без революции

    • От Redactor
    • 20 апреля, 2026
    • 9 views