Hacker News Digest

Тег: #binary

Постов: 2

How programs get run: ELF binaries (2015) (lwn.net)

Статья объясняет, как Linux выполняет ELF-бинарные файлы — основной формат программ в современных Linux-системах. Поддержка ELF реализована в файле fs/binfmt_elf.c, где основная функция load_elf_binary() занимает более 400 строк кода — вчетверо больше, чем поддержка старого формата a.out. ELF-файл содержит заголовок ELF и таблицу заголовков программы, из которой ядро извлекает три ключевых типа записей: PT_LOAD (описывающие области памяти программы), PT_INTERP (определяющий компоновщик) и PT_GNU_STACK (указывающий, должен ли стек быть исполняемым).

Процесс загрузки начинается с проверки формата файла и чтения его заголовков. Затем функция вызывает flush_old_exec(), которая очищает состояние ядра, унаследованное от предыдущей программы, убивает другие потоки процесса и очищает обработку сигналов. Это обеспечивает чистый запуск новой программы с одним потоком. Интересно, что BSS-секция (для неинициализированных данных) в ELF-файле хранится только как размер, так как ядро заполняет её нулями при загрузке.

by st_goliath • 25 октября 2025 г. в 21:03 • 121 points

ОригиналHN

#elf#linux#binary#kernel#programming

Комментарии (7)

  • Пользователи обсуждают, что в детстве изучение формата ELF привело к интересу к Linux и программированию.
  • Обсуждается, что обработка исполняемых файлов теперь происходит в пространстве пользователя, что, как предполагается, может уменьшить риск крашей ядра из-за ошибок в формате.
  • Участники вспоминают, что когда-то процесс загрузки ELF-файлов назывался "image activation", и что эта терминология исчезла после dot-com краха и появления LLM.
  • Несколько человек спорят о том, как именно загружаются статические бинарники: часть считает, что ядро все еще обрабатывает их, другие утверждают, что это не так.

Happy 100000th birthday, Debian (lists.debian.org)

С днём 100000-летия, Debian!

Сегодня проекту исполняется 100 000 лет — в двоичной системе, или 0x20 (32) в шестнадцатеричной. С момента основания 16 августа 1993 года Debian вырос из небольшого начинания в один из крупнейших дистрибутивов свободного ПО, охватывающий всё — от встраиваемых устройств до кластеров.

Благодарим всех участников и пользователей за вклад и поддержку. Особая признательность командам FTPMaster, Release, Installer, Images, Press, разработчикам, документаторам, переводчикам и всем, кто помог сделать свежий релиз Trixie возможным. Отдельное спасибо Ансгару за решение проблем с подписью кода.

Празднуем сегодня и продолжаем готовить ещё более мощный Forky.

by pabs3 • 18 августа 2025 г. в 04:53 • 90 points

ОригиналHN

#debian#opensource#linux#oss#binary

Комментарии (16)

  • Участники поздравляют Debian с «100000-м» (бинарным) днём рождения и вспоминают Иэна Мёрдока.
  • Debian хвалят за верность идеалам OSS, надёжность «на века» и удобство для headless-систем.
  • Идут шутки о «100000nd birthday» и лингвистике: «th» допустимо, поскольку в бинарной записи последняя цифра 0.
  • Кто-то планирует отметить своё 1 000 000-летие, а другой уже выбрал песню на будущий «бинарный» юбилей.