LINUX.ORG.RU

История изменений

Исправление crypt, (текущая версия) :

Хорошо, тогда я не понял, что значит «в солярке оно сразу в ядре есть». Что значит «сразу»? Т.е. пришел Гарри Потер, махнул палочкой и появлась на свет солярка «сразу с контрактами»? Программерам дали ТЗ и они сели и долго-долго писали.

Теперь пришла очередь линукса. Тоже написали код. Но.

Допустим, контракты в солярисе - это механизм на уровне ядра. Некая БД с доступом через виртуальну ФС. Классно. Солярис тупит, пока загружает ее с диска при запуске, но пофигу. Всеравно хорошо. Эта БД будет использоваться для определения порядка запуска и для зависимостей и восстановления при креше.

А у systemd другой способ определения зависимостей при старте. Для всех сервисов создаются UNIX-сокеты для обмена сообщениями. Это быстро. Потом часть зависимостей определяется автоматически, во время рантайма, когда кто-нибудь кого-нибудь дернет. Эта идея взята из launchd Mac OS X, которая мега быстро грузится, потому что это мега важно для десктопной ОС.

Теперь вторая часть. Как определять зависимости сервисов при self-healing, когда что-то упало? В Солярисе как следствие используется общая БД, которую тыркают маленькие демоны. В Linux инфа о зависимостях лежит в памяти systemd, он ее как-то собрал и как-то ее может отдавать.

Исходная версия crypt, :

Хорошо, тогда я не понял, что значит «в солярке оно сразу в ядре есть». Что значит «сразу»? Т.е. не Пришел Гарри Потер, махнул палочкой и появлась на свет солярка «сразу с контрактами»? Программерам дали ТЗ и они сели и долго-долго писали.

Теперь пришла очередь линукса. Тоже написали код. Но.

Допустим, контракты в солярисе - это механизм на уровне ядра. Некая БД с доступом через виртуальну ФС. Классно. Солярис тупит, пока загружает ее с диска при запуске, но пофигу. Всеравно хорошо. Эта БД будет использоваться для определения порядка запуска и для зависимостей и восстановления при креше.

А у systemd другой способ определения зависимостей при старте. Для всех сервисов создаются UNIX-сокеты для обмена сообщениями. Это быстро. Потом часть зависимостей определяется автоматически, во время рантайма, когда кто-нибудь кого-нибудь дернет. Эта идея взята из launchd Mac OS X, которая мега быстро грузится, потому что это мега важно для десктопной ОС.

Теперь вторая часть. Как определять зависимости сервисов при self-healing, когда что-то упало? В Солярисе как следствие используется общая БД, которую тыркают маленькие демоны. В Linux инфа о зависимостях лежит в памяти systemd, он ее как-то собрал и как-то ее может отдавать.