Преимущества и особенности системы QNX
Начало созданию операционных систем семейства QNX было положено в 1980-х в Канаде. Отличительной особенностью их является наличие микроядра, поддерживающего работу пользовательских приложений, работающих по принципу клиент-сервер. Для этих сервисов ядро выполняет функцию диспетчера, передающего системные сообщения между клиентом и сервером. Данный принцип организации с использованием по сути автономных модулей обеспечивает надёжность операционной системы, а также легкость её масштабирования.
Основное ядро операционной системы QNX Neutrino относительно невелико и отлаживалось десятилетиями. В этом ещё один источник стабильной работы системы. Надёжность в сочетании с удобством встраивания приложений делают данную ОС предпочтительной для систем автоматического управления на самых ответственных участках.
Важной особенностью QNX является способность гибко регулировать перераспределение времени между разделами системы. Каждый из них получает некоторую долю от общего "бюджета" времени. Если один из разделов не доиспользует свою квоту, неизрасходованное время передаётся другим процессам. Механизм адаптивного распределения времени в полной мере задействуется только при больших нагрузках на систему.
Благодаря вышесказанному ОС QNX отличается повышенной эффективностью, не допуская простоя процессора - загружая его поддержкой других разделов системы. В свою очередь, это позволяет использовать менее производительные и, соответственно, менее дорогие процессоры. Гибкое распределение нагрузки между разделами системы с учётом их потребностей гарантирует быструю реакцию систем автоматического управления на базе QNX Neutrino на происходящие события. В частности, это проявляется относительно небольшими задержками при обработке прерываний.
Ещё одним источником гибкости QNX является возможность использования критических управляющих потоков. Такие процессы выполняются немедленно, будучи запущенными. Важно, что данный механизм может быть активирован и для раздела, успевшего уже исчерпать свой резерв времени. Т.е. при необходимости можно запустить поток, лишённый стандартного бюджета, результатом чего оказывается минимальная латентность реагирования, что необходимо для ОС жесткого реального времени.
Раздел получает критический бюджет времени, измеряемый в миллисекундах (а не в процентных долях от стандартного бюджета времени). Как только критический бюджет времени исчерпан, поток продолжает функционировать, уже не будучи привилегированным.
Дата публикации: 24.04.2013, 00:58