PSOS (PSOS)

Перейти к навигации Перейти к поиску
pSOS
Разработчик Software Components Group
Первый выпуск 1982 год
Тип ядра pSOS+

pSOS (Portable Software On Silicon) — операционная система реального времени (ОСРВ), созданная примерно в 1982 году Альфредом Чао и разработанная / продаваемая компанией Software Components Group (SCG). В 1980-х годах завоевал рынок встроенных систем, основанных на архитектуре семейства Motorola 68000, поскольку она была написана на ассемблере 68000 и была сильно оптимизирована под него. Он также был модульным, с ранней поддержкой отладки с учётом ОС, подключаемых драйверов устройств, стеков TCP/IP, языковых библиотек и дисковых подсистем. Позже появилась отладка на уровне исходного кода, поддержка многопроцессорных систем и дополнительные сетевые расширения.

Первый выпуск состоялся примерно в 1982 году. В 1991 году Integrated Systems Inc. (ISI) продолжила разработку pSOS — теперь рестайлингового pSOS+ — для других семейств микропроцессоров, переписав большую её часть на C. Внимание также уделялось поддержке последовательно более интегрированных среда разработки, кульминацией которой является PRISM+.

В июле 1994 года компания Integrated Systems приобрела у Novell модульную многозадачную операционную систему FlexOS в режиме реального времени, которая в некоторой степени повлияла на развитие данной ОС.

В 1995 году компания Integrated Systems предложила пакет pSOSystem / NEST для технологии встроенных систем Novell (NEST).

В феврале 2000 года Integrated Systems Inc. была приобретена Wind River Systems, создателем конкурирующей RTOS VxWorks. Несмотря на первоначальные сообщения о том, что поддержка pSOS будет продолжаться, разработка была остановлена. Wind River объявила о планах «конвергентной» версии VxWorks, которая будет поддерживать системные вызовы pSOS, и что дальнейшие выпуски самой pSOS не будут производиться.

NXP Semiconductors приобрела pSOS для TriMedia у Wind River и продолжала поддерживать эту ОС для ядра TriMedia VLIW.

В марте 2000 года конкурирующая компания Express Logic выпустила свой Evaluation Kit для пользователей pSOS+, предназначенный для обеспечения перехода к её RTOS ThreadX.

В августе 2000 года MapuSoft Technologies Inc. выпустила комплект переноса pSOS OS Changer, который может плавно перемещать программное обеспечение на несколько ОС, таких как Linux, VxWorks и другие. Он включает в себя оптимизацию IDE и API, а также инструмент профилирования для измерения синхронизации API на целевых платах.

В августе 2007 года RoweBots, бывший партнёр SCG и ISI, открыли исходную версию своей совместимой с pSOS+ версии под названием Reliant.

Особенности

[править | править код]

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

Имя pSOSsystem присвоено операционной системе, имя pSOS+ — её ядру. pRISM+ — это интегрированная среда разработки для создания приложений.

pSOS+ — это маленькое ядро встраиваемых приложений, представляющее собой некий вариант клиент-серверной архитектуры. Однако оно не имеет протокола взаимодействия, основанного на сообщениях. Для взаимодействия модулей используется программная шина (software bus). Есть возможность выбрать и встроить модули в систему во время компиляции. Такими модулями могут быть файловая система (pHILE+), отладчик (pROBE+), сетевые протоколы (pNA+), библиотека удалённых вызовов процедур (pRPC+) и стандартная библиотека ANSI C (pREPC+).

Вызовы различных приложений осуществляются через программные прерывания.

pSOS+m является многопроцессорной версией ядра pSOS+. Она требует, чтобы один узел был главным, а остальные — подчинёнными. К этому ядру добавлены системные вызовы, позволяющие оперировать через границы процессора.

В pSOS+ не используется понятие процесса, вместо этого она оперирует задачами, что соответствует понятию потоков, выполняющихся в одном процессе. Все системные объекты разделяются между всеми потоками. Так как все потоки разделяют один и тот же контекст, время переключения потоков становится очень малым.

pSOSsystem имеет несегментированную модель памяти. Защита памяти может быть обеспечена через библиотеку управления памятью. Код, данные и стеки можно защитить с помощью определения отображений защиты памяти для каждой задачи. При этом ответственность ложится на разработчика приложений, а это является непростой задачей. pSOSsystem предлагает две абстракции для управления памятью — регионы и разделы. Регионы — это куски памяти нефиксированного размера, в то время как разделы — куски фиксированного размера. Управление памятью с помощью разделов обеспечивает быстрое выделение памяти.

Управление прерываниями в pSOSsystem довольно примитивное. Кроме того, отсутствуют мьютексы и механизм наследования приоритетов, что может привести к инверсии приоритетов.

Область применения

[править | править код]

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

Назовём системой реального времени (СРВ) аппаратно-программный комплекс, реагирующий в течение предсказуемого времени на непредсказуемый поток внешних событий.

Это определение означает следующее.

Во-первых, система должна успеть отреагировать на событие, произошедшее на объекте, в течение времени, критического для этого события (meet deadline). Критическое время для каждого события определяется объектом и самим событием и, естественно, может быть разным, но время реакции системы должно быть предсказано (вычислено) при создании системы. Отсутствие реакции в течение предсказанного времени считается ошибкой для СРВ.

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

Различают системы реального времени двух типов — системы жёсткого реального времени и системы мягкого реального времени.

Системы жёсткого реального времени не допускают никаких задержек реакции системы ни при каких условиях:

  • в случае опоздания результаты окажутся бесполезными;
  • в случае задержки реакции может произойти катастрофа;
  • стоимость опоздания может оказаться бесконечно велика.

К системам жёсткого реального времени относятся бортовые системы управления, системы аварийной защиты, регистраторы аварийных событий.

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

Примером может служить работа сети. Если система не успеет обработать очередной принятый пакет, это приведёт к вынужденному перерыву на передающей стороне и, например, повторной посылке. Данные при этом не теряются, но производительность сети снижается.

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

Назовём операционной системой реального времени такую систему, которая может быть использована для построения систем жёсткого реального времени.

Это определение выражает отношение к ОСРВ как объекту, содержащему необходимые инструменты, но подразумевает также, что этими инструментами необходимо правильно воспользоваться.

  1. Перейти к:1,0 1,1 Операционные системы реального времени // CIT [2001-2015]. Дата изменения: 01.01.2006. URL: http://citforum.ru/operating_systems/rtos/19.shtml (дата обращения: 12.01.2019).
  2. Перейти↑ Фрагменты реального времени // computerworld [1992-2019]. Дата изменения: 13.03.2000. URL: https://www.osp.ru/cw/2000/10/3681/ (дата обращения: 12.01.2019).
  3. Перейти↑ Express Logic Provides a New Choice for pSOS+® Users // expresslogic [2005]. Дата изменения: 20.03.2000. URL: https://web.archive.org/web/20070928131427/http://www.rtos.com/news/detail/?prid=11 (дата обращения: 12.01.2019).
  4. Перейти↑ Операционные системы реального времени // itWeek [2019]. Дата изменения: 03.09.1999. URL: https://www.itweek.ru/industrial/article/detail.php?ID=50257 (дата обращения: 31.01.2019).
  5. Национальная библиотека им. Н. Э. Баумана https://ru.bmstu.wiki/PSOS_(Portable_Software_On_Silicon)