У меня была довольно странная идея: написать минимальный PID 1 для контейнеров целиком на ассемблере.
Не потому, что контейнерному миру срочно нужен ещё один init. Есть Tini, есть docker run --init, и для большинства production-сценариев я бы по-прежнему начал именно с них.
Мне скорее хотелось разобрать задачу до самого нижнего уровня: без libc, без runtime, напрямую через Linux syscalls. Заодно проверить, насколько сильно будет отличаться одна и та же реализация на x86-64 и ARM64.
В итоге из небольшого эксперимента получился mini-init-asmЧитать полностью »



