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


RTEMS - часть 2


Поддержка в RTEMS мультипроцессорных систем позволяет использовать ее для управления как однородными, так и неоднородными системами Ядро RTEMS автоматически учитывает различия в архитектуре используемых процессоров, выполняя в случае необходимости перестановку байтов и другие процедуры. Это позволяет осуществлять переход на другое семейство процессоров без значительных изменений системы.

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

В ОСРВ RTEMS реализуются следующие виды межпроцессорного взаимодействия:

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

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

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

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




Начало  Назад  Вперед



Книжный магазин