Старт операционной системы: примеры
EFI: примеры
(должок за прошлый раз)
- Архитектура: ядро, ФС с программами
systemd
Виды активности (не только «запуск служб»):
Юнит — единичный управляемый объект (systemd.unit)
Создание/удаление устройств (udev, юниты типа .device)
Управление областями выгрузки .swap
Монтирование ФС (в т. ч. по запросу к файлу) .mount, .automount
Собственно службы .service
Ограничение/группировка процессов нескольких юнитов .slice
[Unit] Description=Limited resources Slice DefaultDependencies=no Before=slices.target [Slice] CPUShares=512 MemoryLimit=2G
Параметрические юниты (экземпляры, @)
Контрольные точки: .target
- Зависимости (между юнитами любых типов)
прямые строгие (Requires=)
прямые нестрогие (Wants=)
порядковые (Before=, After=)
- полностью ортогональны прямым
- есть и другие формы
- Активация по событию
Активация по смене состояния файловых объектов .path
Активация по сокету/FIFO .socket
- передача службе слушающего сокета
передача службе соединения (Accept=yes)
порождает экземпляр параметрического юнита
Активация по времени .timer
- Активация по D-Bus
Type=dbus BusName=org.freedesktop.ModemManager1
- Журналирование: stderr
Изоляция и группировка: cgroups
- каждый юнит, обладающий процессами, инкапсулируется в control group
на лекции показали ман-страницу не про то, надо было man 7 cgroups
- Старт/стоп/статус/рестарт/релоад
- строго заданная семантика действий над юнитами
- строго заданная форма представления информации о юнитах
- Пользовательские службы
- Снапшоты (снимки текущего состояния системы — совокупности активных юнитов)
See also
systemd.automount systemd.netdev systemd.preset systemd.special systemd.device systemd.journal-fields systemd.network systemd.resource-control systemd.swap systemd.directives systemd.kill systemd.scope systemd.target systemd.environment-generator systemd.link systemd.service systemd.exec systemd.mount systemd.path systemd.slice systemd.timer systemd.generator systemd.socket systemd.unit
Все маны по systemd и около перечислены здесь: systemd.index — 243 страницы! (на момент проведения лекции)
DBus
TODO
- Принципы
- Примеры использования
- Примеры использования на системном уровне