Так как любая современная ОС является многозадачной и, соответственно, в любой момент времени может выполняться несколько процессов, то необходимо обеспечивать приемлемое время реакции для каждого из них. В связи с этим рассмотрим основные механизмы реального времени: планирование задач, межзадачное взаимодействие.
Планирование задач. В ОС общего назначения каждому процессу выделяется квант времени на владение ресурсами процессора, который вырабатывается процессом полностью. В ОС РВ принят другой подход. Выполнение любого процесса может быть прервано до окончания выделенного ему кванта времени. Это происходит, если в очередь поступает процесс с б`ольшим приоритетом.
Планировщик процессов запускается всегда, если какой-либо процесс изменил свое состояние после получения сообщения или в результате аппаратного прерывания.
К механизмам межзадачного взаимодействия относятся семафоры, разделяемая память, сообщения и др., позволяющие синхронизировать процессы и обеспечивать быстрый обмен информацией между ними.
Другие особенности:
· Возможность переключения процессов во время выполнения системной фазы ядра.
· Возможность блокировки страниц в оперативной памяти, что позволяет ускорить переключение контекстов и запуск процессов.
· Средства ускорения работы с диском (например, кэширование дисков), что позволяет повысить быстродействие за счет хранения в ОП часто используемых дисковых блоков.
Архитектура микроядра. Современные ОС РВ имеют микроядерную архитектуру. В микроядро включены только основные функции: управление памятью и процессами, обработка прерываний, обработка системных вызовов, сообщений. Драйверы, файловая система и другие функции вынесены за пределы ядра. Это позволяет значительно сократить время реакции на события.
Модульный принцип. Масштабируемость. Разные функциональные компоненты ОС РВ реализованы в виде отдельных модулей. Такие ОС являются масштабируемыми и расширяемыми. Исходя из требований задачи, можно создавать как миниатюрные ОС, так и крупномасштабные сетевые многопользовательские системы. Существует возможность добавления драйверов для нестандартных устройств ввода/вывода.
Аппаратная поддержка. Операционные системы реального времени работают на различных платформах (Intel, Motorola, Siemens…). ОС РВ с аппаратной платформой, на которой она реализована, называется целевой системой. На сегодняшний день потребность в памяти составляет около 20 Мб, однако разработчики стараются уменьшить этот размер.
Работа в вычислительных сетях.ОС РВ поддерживают работу во всех современных типах вычислительных сетей. Свойства сетей:
· Являются средствами взаимодействия УВК и промышленных контроллеров.
· Имеют прозрачный доступ к узлам сети.
· Отвечают требованиям надежности и отказоустойчивости.
· Содержат программные средства защиты от несанкционированного доступа.
Соответствие стандартам. ОС РВ обладают следующими возможностями:
· Удовлетворяют общепринятым международным стандартам и соглашениям, что обеспечивает мобильность приложений.
· Поддерживают стандартные протоколы для создания сетевых конфигураций.
· Имеют дружественный пользователю интерфейс общения.
· Осуществляют поддержку стандартных систем управления базами данных.
Средства разработки. Приложения реального времени разрабатываются на инструментальном компьютере. Разработка и отладка приложений для ОС РВ осуществляется в среде распространенных ОС общего назначения. Некоторые ОС РВ имеют «резидентные» средства разработки, исполняемые в среде самой ОС РВ.
Архитектура ОС_РВ
В своем развитии ОСРВ строились на основе следующих архитектур
Монолитная архитектура. ОС определяется как набор модулей, взаимодействующих между собой внутри ядра системы и предоставляющих прикладному ПО входные интерфейсы для обращений к аппаратуре. Основной недостаток этого принципа построения ОС заключается в плохой предсказуемости её поведения, вызванной сложным взаимодействием модулей между собой.
Уровневая (слоевая) архитектура. Прикладное ПО имеет возможность получить доступ к аппаратуре не только через ядро системы и её сервисы, но и напрямую. По сравнению с монолитной такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Главным недостатком таких систем является отсутствие многозадачности.
· Архитектура «клиент-сервер». Основной её принцип заключается в вынесении сервисов ОС в виде серверов на уровень пользователя и выполнении микроядром функций диспетчера сообщений между клиентскими пользовательскими программами и серверами — системными сервисами. Преимущества такой архитектуры:
1. Повышенная надёжность, так как каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки;
2. Улучшенная масштабируемость, поскольку ненужные сервисы могут быть исключены из системы без ущерба к её работоспособности;
3. Повышенная отказоустойчивость, так как «зависший» сервис может быть перезапущен без перезагрузки системы.