Представлен многоплатформенный системный менеджер System XVI, частично совместимый с systemd
Для сборки System XVI применяется система kBuild, также используемая в VirtualBox. Из зависимостей требуется установка пакетов procps и libkqueue. Код проекта распространяется под лицензией BSD. Разработка находится на начальной стадии и пока ограничивается синтетическими тестами. Автором проекта является Дэвид Маккэй (David Mackay), принимающий участие в разработке проектов Illumos и Tox.
Из проблем systemd, побудивших к созданию нового системного менеджера, отмечается монолитная архитектура, основанная на использовании компонентов, методы интеграции которых затрудняют разработку сторонних альтернативных реализаций. Несмотря на то, что реализация PID 1 в systemd является достаточно компактной, а функциональность systemd обеспечивается 69 исполняемыми файлами, systemd остаётся завязанным на достаточно сложную логику разбора файлов конфигурации, обработку вызовов DBus и транзакционную систему разрешения зависимостей.
Основные концепции разработки System XVI:
- Ориентация на предоставление стабильных, простых и не меняющихся интерфейсов взаимодействия;
- Разделение функциональности - каждый компонент реализует минимальный набор возможностей, позволяя строить сложные системы на основе сочетания простых элементов в соответствии с традиционным подходом Unix-систем;
- Заменяемость компонентов - любой компонент может быть легко заменён на стороннюю реализацию;
- Живучесть - крах компонентов не должен негативно влиять на систему и после перезапуска компоненты должны полностью восстановить прежнее состояние.
Организация управления сервисами в System XVI напоминает Solaris SMF с заимствованием некоторых идей из daemontools и BSD rc.d. Для контроля за сервисами применяется репозиторий сервисов (хэш-таблица с информацией об экземплярах запущенных сервисов и их свойствах) и используются модули перезапуска сервисов. Взаимодействие компонентов System XVI осуществляется при помощи классического TI-RPC/SunRPC, без применения DBus. Для обработки зависимостей и расчёта порядка запуска сервисов применяется отдельный процесс svcorder, похожий на rcorder из BSD-систем. Для установки, настройки и активации сервисов предлагается утилита svccfg.
Источник: http://www.opennet.ru/opennews/art.shtml?num=42958
|
0 | Tweet | Нравится |
|