2006 г.
Операционные системы реального времени
И.Б. Бурдонов,
А.С. Косачев,
В.Н. Пономаренко
Препринт Института системного программирования РАН
Назад Оглавление Вперёд
2.4. ChorusOS
Операционная система ChorusOS – это масштабируемая встраиваемая ОС, широко применяемая в телекоммуникационной индустрии. В настоящее время этот бренд развивается и распространяется корпорацией Sun Microsystems [CHORUSOS]. Для компоновки и развертывания ОС ChorusOS на конкретных телекоммуникационных платформах Sun Microsystems предлагает использовать среду разработки Sun Embedded Workshop. Корпорация Sun Microsystems представляет ОС ChorusOS как встраиваемую основу для Sun’овской сети, управляемой сервисами (Sun's Service-Driven Network). В сочетании с широким набором сервисов, полной интеграцией ПО и аппаратуры, удобным администрированием и поддержкой Java-технологии, которая посвящена нуждам телекоммуникации, ОС ChorusOS дает возможность эффективно развертывать новые возможности и приложения, поддерживая надежность и функциональность современных сетей.
ОС ChorusOS поддерживает на одной аппаратной платформе широкий набор телекоммуникационных протоколов, унаследованных приложений, приложений режима реального времени и Java-технологии.
ОС ChorusOS моделирует три сорта приложений:
- POSIX-процессы составляют большинство приложений ChorusOS; эти приложения имеют доступ к чисто POSIX API, нескольким POSIX-подобным расширенным API и небольшому числу ограниченных системных вызовов микроядра,
- Акторы ChorusOS – эти приложения выполняются над микроядром и ограничиваются API микроядра, акторы включают драйверы, события подсистем и протокольные стеки,
- Унаследованные приложения ChorusOS поддерживаются для совместимости с приложениями, разработанными для более ранних версий ChorusOS.
Архитектура ОС ChorusOS является многослойной, основанной на компонентах (component-based). Микроядро содержит минимальный набор компонентов, необходимых для функционирования ОС
- kern – реализует интерфейс микроядра и содержит актор KERN, вспомогательную библиотеку и заголовочные файлы,
- менеджер приватных данных (pd) реализует интерфейс между подсистемами микроядра,
- менеджер постоянной памяти (pmm) реализует интерфейс постоянной памяти,
- core executive обеспечивает существенную часть поддержки реального времени.
Компонент диспетчера ядра (core executive) обеспечивает следующую функциональность
- поддержка многочисленных независимых приложений,
- поддержка пользовательских и системных приложений,
- поддержка актора – единицы модуляризации приложений,
- поддержка единицы исполнения – потока,
- операции управления потоками,
- управление Local Access Point (LAP),
- сервисы управления исключительными ситуациями,
- минимальный сервис управления прерываниями.
В core executive отсутствует управление такими сущностями, как синхронизация, планирование, время, память. Политики управления этими понятиями обеспечиваются дополнительными компонентами, которые выбираются пользователем в зависимости от требований аппаратных и программных средств. Core executive всегда присутствует в исполняемом экземпляре ОС ChorusOS, остальные компоненты конфигурируются и добавляются по необходимости. Размер резидентной часть ядра составляет 10Kb.
Понятие “актор” в ChorusOS определяется как единица загрузки для приложения. Оно также служит единицей инкапсуляции для того, чтобы сопоставить все системные ресурсы, используемые приложением, и потоки, выполняющиеся внутри актора. Примерами таких ресурсов являются потоки, регионы памяти и конечные точки взаимодействия.
Необязательные компоненты ОС ChorusOS 5.0 разбиваются в соответствии с функциональностью:
- Управление деятельностью (Actor management) включает поддержку расширения режима пользователя, динамические библиотеки, управление сжатыми файлами;
- Планирование (Scheduling) включает планирование в стиле FIFO (first-in-first-out), разностильное планирование (multi-class scheduling), циклическое планирование (round-robin), планирование в режиме реального времени;
- Управление памятью включает, кроме распределения памяти, поддержки аппаратной защиты и подкачки, еще и статистику микроядра, события системы Solaris, метрики операционной системы;
- Работоспособность (High Availability) включает горячий рестарт, сторожевой таймер (Watchdog timer), черный ящик, дамп системы;
- Синхронизация потоков включает семафоры, наборы флагов событий, мьютексы, монопольные блокировки, обеспечивающие отсутствие инверсии приоритетов;
- Управление временем включает периодические таймеры, потоковый виртуальный таймер, дата и время, датчик реального времени, переменные окружения;
- Взаимодействие потоков включает независимое от местонахождения взаимодействие, поддержку удаленного взаимодействия, механизм взаимодействия через почтовые ящики, синхронизацию между потоками, приватные данные потока, а также такие средства взаимодействия системы POSIX, как семафоры, сокеты, потоки, таймеры, очереди сообщений, объекты разделяемой памяти, сигналы реального времени;
- Инструментальная поддержка включает системную журнализацию, регистрацию ошибок, поддержку профилирования и контрольных точек, мониторинг системы, отладку системы, дамп ядра;
- Поддержка языка C включает командный интерпретатор на целевом компьютере, удаленный shell;
- Поддержка файловой системы включает именованные каналы, NFS-клиент, NFS-сервер, файловые системы MS-DOS, PDE, /proc, UFS, ISO9000;
- Управление вводом/выводом включает поддержку драйверов некоторых устройств;
- Сетевая поддержка включает поддержку некоторых сетевых протоколов.
Выделение управления памятью в отдельный необязательный компонент позволяет легко адаптировать систему к разным аппаратным платформам.
ОС ChorusOS 5.0 лежит в основе операционной среды Solaris и поддерживает следующие целевые платформы:
- UltraSPARC II (CP1500 и CP20x0),
- Intel x86, Pentium,
- Motorola PowerPC 750 и семейство процессоров 74x0 (mpc7xx),
- Motorola PowerQUICC I (mpc8xx) и PowerQUICC II (mpc8260) (микроконтроллеры).
Рис. 3. Архитектура ChorusOS.
Назад Оглавление Вперёд
|
|