2006 г.
Операционные системы реального времени
И.Б. Бурдонов,
А.С. Косачев,
В.Н. Пономаренко
Препринт Института системного программирования РАН
Назад Оглавление Вперёд
2.10. pSOS
ОСРВ pSOS была разработана корпорацией Integrated Systems. В настоящее время она принадлежит корпорации WindRiver [PSOS], которая ее купила, видимо для того, чтобы она не мешалась на рынке сбыта ОСРВ.
Имя pSOSsystem присвоено операционной системе, имя pSOS+ – ее ядру. pRISM+ – это интегрированная среда разработки для создания приложений.
pSOS+ – это маленькое ядро встраиваемых приложений, представляющее собой некий вариант клиент-серверной архитектуры. Однако оно не имеет протокола взаимодействия, основанного на сообщениях. Для взаимодействия модулей используется программная шина (software bus). Есть возможность выбрать и встроить модули в систему во время компиляции. Такими модулями могут быть файловая система (pHILE+), отладчик (pROBE+), сетевые протоколы (pNA+), библиотека удаленных вызовов процедур (pRPC+) и стандартная библиотека ANSI C (pREPC+). Эти компоненты показаны на
рис. 10.
Рис. 10. Компоненты pSOSsystem.
Вызовы различных приложений осуществляются через программные прерывания.
pSOS+m является многопроцессорной версией ядра pSOS+. Она требует, чтобы один узел был главным, а остальные – подчиненными. К этому ядру добавлены системные вызовы, позволяющие оперировать через границы процессора.
В pSOS+ не используется понятие процесса, вместо этого она оперирует задачами, что соответствует понятию потоков, выполняющихся в одном процессе. Все системные объекты разделяются между всеми потоками. Так как все потоки разделяют один и тот же контекст, время переключения потоков становится очень малым.
pSOSsystem имеет несегментированную модель памяти. Защита памяти может быть обеспечена через библиотеку управления памятью. Код, данные и стеки можно защитить с помощью определения отображений защиты памяти для каждой задачи. При этом ответственность ложится на разработчика приложений, а это является непростой задачей. pSOSsystem предлагает две абстракции для управления памятью – регионы и разделы. Регионы – это куски памяти нефиксированного размера, в то время как разделы – куски фиксированного размера. Управление памятью с помощью разделов обеспечивает быстрое выделение памяти.
Управление прерываниями в pSOSsystem довольно примитивное. Кроме того, отсутствуют мьютексы и механизм наследования приоритетов, что может привести к инверсии приоритетов.
Назад Оглавление Вперёд