Как я написал PID 1 для контейнеров на чистом ассемблере: x86-64 и ARM64

#Есть #Tini #Linux #Заодно #Debian
Как я написал 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 внутри контейнера? Читать далее

У меня была довольно странная идея: написать минимальный PID 1 для контейнеров целиком на ассемблере.

Не потому, что контейнерному миру срочно нужен ещё один init. Есть Tini, есть docker run --init, и для большинства production-сценариев я бы по-прежнему начал именно с них.

Мне скорее хотелось разобрать задачу до самого нижнего уровня: без libc, без runtime, напрямую через Linux syscalls. Заодно проверить, насколько сильно будет отличаться одна и та же реализация на x86-64 и ARM64.

В итоге из небольшого эксперимента получился mini-init-asm: PID 1, который запускает приложение в отдельной process group, передаёт сигналы всей группе, собирает zombie-процессы и умеет корректно завершать контейнер с exit code приложения.

Похожие статьи

Доля Alphabet в SpaceX за 10 лет выросла до $94 млрд Ferra.ru
Ferra.ru

Доля Alphabet в SpaceX за 10 лет выросла до $94 млрд

Alphabet, материнская компания Google, раскрыла размер своей доли в SpaceX. На конец июня компании принадлежали 551,2 млн акций, которые при цене $170,86 оценивались в $94,2 млрд.

Ferra.ru
Google на час «похоронила» главу OpenAI из‑за правки в Википедии Ferra.ru
Ferra.ru

Google на час «похоронила» главу OpenAI из‑за правки в Википедии

13 августа в поисковой выдаче Google появилась информация о смерти Сэма Альтмана, генерального директора OpenAI. В «информационной карточке» значилось, что он умер 12 августа 2026 года. Как вы можете ...

Ferra.ru
TechCrunch
TechCrunch

Anthropic shares more details about how Claude’s new watermarks will work

How will the watermarking actually work? Can it be hidden with editing? And how does this affect code?

TechCrunch
Адвокат рассказала о судьбе литовских фур, брошенных в Белоруссии Life.ru
Life.ru

Адвокат рассказала о судьбе литовских фур, брошенных в Белоруссии

Около сотни литовских фур могут так и остаться в Белоруссии, однако истечение срока их хранения на спецстоянках само по себе не лишит владельцев прав на автомобили. Об этом РИА «Новости» рассказала ад...

Life.ru
Hacker News
Hacker News

Voltair (YC W26) Is Hiring a Test Flight Engineer

Article URL: https://www.ycombinator.com/companies/voltair/jobs/sSOD2Ox-flight-test-engineer Comments URL: https://news.ycombinator.com/item?id=49313047 Points: 0 # Comments: 0

Hacker News
Hacker News
Hacker News

AI Isn't Outthinking Mathematicians. It's Out-Remembering Them

Article URL: https://davidepiffer.com/p/ai-isnt-outthinking-mathematicians Comments URL: https://news.ycombinator.com/item?id=49312845 Points: 74 # Comments: 55

Hacker News