CITForum Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети ОС Hardware
2006 г.

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

И.Б. Бурдонов, А.С. Косачев, В.Н. Пономаренко
Препринт Института системного программирования РАН

Назад Оглавление Вперёд

3.6. EMERALDS

EMERALDS (Extensible Microkernel for embedded, ReAL-time, Distributed Systems) [ZS01] – это микроядро реального времени, написанное на языке C++, которое предназначено для малых и средних по размеру встраиваемых систем. Система EMERALDS является научной разработкой Мичиганского университета (University of Michigan).

EMERALDS обеспечивает обработку многопоточных процессов. Процесс в EMERALDS является пассивной сущностью, характеризующейся защищенным адресным пространством, в котором выполняются потоки. Каждый поток имеет приоритет, присвоенный ему пользователем; на основе приоритетов ядро осуществляет планирование потоков. В ядре также обеспечивается системный вызов, позволяющий изменить приоритет потока во время выполнения. Для обеспечения эффективной защиты памяти ядро отображается в адресное пространство каждого процесса. При таком отображении переключение из приложения в ядро вызывает прерывание (TRAP), которое переключает центральный процессор из приложения в режим ядра, и совершается переход на соответствующий адрес внутри того же адресного пространства.

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

Назад Оглавление Вперёд

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети ОС Hardware

CITForum © 1997–2025