TGViewer
Новости Linux Новости Linux @linux_potok · 2.8K subscribers
Post #29014 438
Как я написал PID 1 для контейнеров на чистом ассемблере: x86-64 и ARM64

Не потому, что контейнерному миру срочно нужен ещё один init. Есть Tini, есть docker run --init, и для большинства production-сценариев я бы по-прежнему начал именно с них.
Мне скорее хотелось разобрать задачу до самого нижнего уровня: без libc, без runtime, напрямую через Linux syscalls. Заодно проверить, насколько сильно будет отличаться одна и та же реализация на x86-64 и ARM64.
В итоге из небольшого эксперимента получился mini-init-asm: PID 1, который запускает приложение в отдельной process group, передаёт сигналы всей группе, собирает zombie-процессы и умеет корректно завершать контейнер с exit code приложения.
Позже туда добавились subreaper mode и простой restart-on-crash. А сам проект в итоге доехал сначала до Debian unstable, а затем и до testing.
Но началось всё с вопроса: что вообще должен уметь нормальный PID 1 внутри контейнера?


Читать полностью

#habr
@linux_potok
  • 👌 2
  • 👍 1
  • 🤡 1
More from @linux_potok
  1. Oct 7, 2026Выпущен FEX 2610 с поддержкой AVX-VNNI и улучшениями дискового кэша Сегодня выпущен FEX 26…
  2. Oct 7, 2026Lightwell от IBM и Red Hat устранил более 400 ранее неизвестных уязвимостей Java Через чет…
  3. Oct 7, 2026Релиз Chrome 155 c включением режима HTTPS-First и поддержки формата JPEG XL Компания Goog…
  4. Oct 7, 2026Post #31153
  5. Oct 7, 2026Более полумиллиона учетных данных, утекших на GitHub, остаются действующими Truffle Securi…
  6. Oct 7, 2026Браузер Blanc с минималистичной плавающей панелью Доступен новый web-браузер Blanc, предла…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →