среда, 20 апреля 2016 г.

Из чего состоит Systemd

Однажды на просторах интернета нашел картинку на которой изображено устройство systemd. Мне она показалась интересной и я попробовал в ней разобраться. Вот эта картинка:

Как видим systemd состоит из нескольких уровней. На уровне ядра systemd работает с контрольными группами (cgroups). А также с autofs и kdbus.
Если подниматься по рисунку снизу вверх, то выше мы увидим библиотеки используемые systemd.
Еще выше - systemd Core (ядро systemd). На этом уровне systemd состоит из менеджера и собственно systemd. Также на этом уровне используются так называемые юниты.
Юниты (UNITS) - это такое понятие (скорее, наверное, логическое), которое разделяет все те вещи которыми может управлять systemd на функциональные блоки. Например юниты служб, сокетов, файловых систем, устройств и т.д.
В systemd используется такое понятие как Цели (targets). Все они представлены на рисунке в разделе systemd Targets
В разделе systemd Daemons мы видим из каких демонов состоит systemd, а в самом верху рисунка перечислены утилиты по использованию, управлению и настройке systemd.
Некоторые из этих утилит доступны из командной строки непосредственно по названию (systemctl, journalctl, loginctl), а некоторые - с использованием суффикса systemd (systemd-analyze, systemd-notify).
Кроме того есть еще ряд утилит, которые не представлены на рисунке, но существуют, например systemd-cat, systemd-path, systemd-run и др. Если в консоли linux ввести команду sys и два раза нажать клавишу Tab, то можно увидеть список всех утилит, в том числе тех, которых нет на рисунке.
Отсутствие многих утилит на рисунке видимо связано с тем что все они не поместились, либо, вероятно эти новые утилиты были добавлены впоследствии, после того как был создан systemd и нарисован данный рисунок.

Комментариев нет:

Отправить комментарий