Компонент диспетчера ядра (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) (микроконтроллеры).
Дмитрий Ковригин,
Ведущий специалист фирмы Эврика
И.Б.
Бурдонов, А.С.
Косачев, В.Н.
Пономаренко