The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск сервисного менеджера s6-rc 0.6

25.01.2026 22:40 (MSK)

Доступен выпуск сервисного менеджера s6-rc 0.6.0.0, предназначенного для управления запуском скриптов инициализации и сервисов. Поддерживается отслеживание дерева зависимостей и автоматический запуск или завершение сервисов для достижения указанного состояния. Инструментарий s6-rc может применяться как в системах инициализации, так и для организации запуска произвольных сервисов в привязке к событиям, отражающим изменение состояния системы. Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC. Код написан на языке Си и распространяется под лицензией ISC.

Сервисный менеджер s6-rc включает набор утилит для запуска и остановки длительно функционирующих процессов (демонов) или сразу завершаемых скриптов инициализации. В процессе работы обеспечивается параллельный запуск не пересекающихся между собой сервисов и гарантируется повторяющаяся при разных запусках последовательность выполнения скриптов. Все изменения состояния обрабатываются с учётом зависимостей, например, при запуске какого-то сервиса будут автоматически запущены необходимые для его работы зависимости, а при остановке - остановлены и зависимые сервисы.

В отличие от других сервисных менеджеров s6-rc поддерживает упреждающее (в offline-режиме) построение графа зависимостей для имеющегося набора сервисов, что позволяет выполнить ресурсоёмкий анализ зависимостей отдельно, а не во время загрузки или изменения состояния. При этом система не является монолитной и разбита на серию отдельных и заменяемых модулей, каждый из которых в соответствии с философией Unix решает только определённую задачу. Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.

Вместо уровней запуска (runlevel) в s6-rc предлагается концепция наборов (bundles), позволяющая группировать сервисы по произвольным признакам и решаемым задачам. Для повышения эффективности работы используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами для запуска/остановки сервисов. Для разбора и манипуляций с БД предлагаются утилиты s6-rc-db и s6-rc-update.

В новой версии добавлены коллекции утилит s6-rc-repo-* и s6-rc-set-* для управления репозиториями с определениями сервисов; обеспечена поддержка разделяемых библиотек на платформе macOS; добавлена опция "--bootdb" для настройки на этапе сборки загрузочной базы данных с информацией о сервисах и зависимостями между ними; в утилиту s6-rc-compile добавлена опция "-v2".

Проектом также развиваются сопутствующие пакеты, дополняющие s6-rc:

  • s6 - утилиты для отслеживания работы процессов и управления процессами (аналог daemontools и runit). Поддерживаются такие возможности как перезапуск процессов после их аварийного завершения, запуск обработчика (активация сервиса) при обращении к сетевому порту, журналирование событий (замена syslogd) и контролируемое предоставление дополнительных привилегий (аналог sudo).
  • s6-linux-init - реализация init-процесса для операционных систем на базе ядра Linux, применяемого для создания систем инициализации, в которых для управления сервисами и скриптами используются пакеты s6 и s6-rc.
  • s6-networking - набор утилит для создания сетевых сервисов, похожий на ucspi.
  • s6-frontend - обвязка для воссоздания функциональности daemontools и runit поверх s6.
  • s6-portable-utils - набор типовых Unix-утилит, таких как cut, chmod, ls, sort и grep, оптимизированных для потребления минимальных ресурсов и поставляемых под лицензией ISC.
  • s6-linux-utils - набор утилит, привязанных к Linux, таких как chroot, freeramdisk, logwatch, mount и swapon.
  • mdevd - менеджер событий (аналог udevd), предназначенный для обработки горячего подключения устройств. По конфигурации mdevd совместим с mdev из состава Busybox.
  • bcnm - сетевой конфигуратор с возможностями для настройки Wi-Fi на стороне клиента.
  • execline - язык написания сценариев.
  • skalibs - библиотека для создания безопасных системных приложений на языке Си.
  • s6-dns - набор клиентских библиотек и утилит, заменяющих типовые DNS-утилиты из BIND и djbdns.
  • dnsfunnel - перенаправляет локальные DNS-запросы на внешний сервер (DNS forwarder).
  • shibari - простой DNS-сервер.
  • tipidee - HTTP-сервер с поддержкой HTTP/1.1.


  1. Главная ссылка к новости (https://github.com/skarnet/s6-...)
  2. OpenNews: Релиз T2 SDE 25.10, платформы для создания дистрибутивов
  3. OpenNews: Опубликован системный менеджер GNU Shepherd 1.0.0
  4. OpenNews: Уязвимость в системе инициализации finit, позволяющая войти в систему без пароля
  5. OpenNews: Первый выпуск минималистичной системы инициализации Nitro
  6. OpenNews: Выпуск системы инициализации SysVinit 3.15. Переход проекта с GitHub на CodeBerg
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64677-s6
Ключевые слова: s6, init
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (78) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 23:00, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.

    Не верю. Инит, запускающий по шеллу на каждый сервис, не может потреблять минимум ресурсов.

     
     
  • 2.6, Аноним (6), 23:45, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –6 +/
    ну шелл потребляет меньше ресурсов чем инит на 10000 мегабайт сколько бы тех сервисов там не было
     
     
  • 3.11, Аноним (-), 00:39, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > ну шелл потребляет меньше ресурсов чем инит на 10000 мегабайт сколько
    > бы тех сервисов там не было

    Системда жрет на вон том ARMовском одноплатнике - аж 6 мегабайт. А допустим инстанс баша - один - весит под мегабайт оперативы. Что будет если его удумать параллельно при старте запускать - даже и упоминать неудобно, там коллапс по сути получается и загрузочные времена позорные что капец. OpenWRT грузящийся по минуте - проверял. Отстой получается.

     
     
  • 4.14, Аноним (3), 01:27, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    При этом в оригинальном сообщении я скорее имел в виду циклы CPU, чем количество RAM. Очевидно, что происходит с ними при спауне нового инстанса sh на каждый демон.
     
  • 4.25, Аноним (25), 08:48, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > параллельно

    Уже показано, что параллелизм замедляет старт: ресурсы не хотят параллелиться: диск, который один, память забивается случайными обращениями, постоянно сбрасывающийся кеш от сотен параллельных процессов, лог, в который хотят все писать...

     
     
  • 5.28, Аноним (25), 08:56, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А, ещё забыл дописать: на старте идёт цепочечная зависимость, всё выстраивается в очередь по зависимостям, и никакого параллелизма по факту нету, только лишняя нагрузка.
     
  • 5.45, Аноним (45), 11:49, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если мозгов нет - то и нунчаки больше надают тебе самому, чем врагу.
    Параллелизм - это хорошо, просто требует АККУРАТНОГО прописывания зависимостей + грануляция этих зависимостей должна быть достаточно мелкой, чтобы не порождать длинные цепочки. Всё просто, если понимаешь, что именно и почему зависит.
     
     
  • 6.46, Аноним (46), 11:54, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Складывается ощущение. что каждый сам себе подготавливает виртуалочки. Готовый образ используется в один клик.
     
  • 5.69, Аноним (3), 17:46, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У вас нет NVMe и двухъядерный ЦП? Соболезную.
     
  • 5.72, Аноним (-), 19:44, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кем показано Где Вот прям универсально и безаппеляционно Серьезно Бывает так... большой текст свёрнут, показать
     
  • 4.65, Аноним83 (?), 15:08, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что вы считаете что shell=bash.
    Это часто не так.
     
     
  • 5.70, Аноним (70), 18:43, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Но чаще - так.
     
  • 5.76, Аноним (-), 21:16, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Проблема в том, что вы считаете что shell=bash. Это часто не так.

    Для стартовых скриптов и правда бывает что попроще типа dash в дебиан в свое время. Взамен вы получаете - еще более страшенные простынки ибо там продвинутых фич баша нет и там еще заодно самопальные реализации из г-на и палок.

     
     
  • 6.78, Аноним83 (?), 21:22, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для инит скриптов никакие особые конструкции не требуются.
     
     
  • 7.81, Аноним (81), 23:24, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    О да, я как-то перекидывал скрипты с rpm-based на дебиан Заметил что там могут ... большой текст свёрнут, показать
     
     
  • 8.83, Аноним (83), 23:54, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ага Веселье начинается, когда простого юнита становится недостаточно, и оказыва... текст свёрнут, показать
     
  • 8.84, Аноним83 (?), 00:38, 27/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я имею опыт с фрёвыми инит скриптами и системой, там обычный шелл, обычно немног... текст свёрнут, показать
     
  • 2.18, morphe (?), 05:18, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Не верю. Инит, запускающий по шеллу на каждый сервис, не может потреблять
    > минимум ресурсов.

    Ну ты шо, баш портянки то короткие, а системда целые 8 мбайт весит, больше ведь ничего не влияет

     
     
  • 3.27, Аноним (25), 08:54, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > а системда

    Проверял на апельсинке от включения до готовности http-сервера по вафле:
    - системДа стартует 30 сек;
    - сборка buildroot на последовательных (!) башпортянках - 10 сек.

     
     
  • 4.35, Аноним (35), 09:39, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Все проблемы линукс/системд систем могут быть решены более производительным железом. Разработчики сидят на топовых конфигурацях, им нет дела до времени загрузки на полудохлой еммс или сд карточке.
     
  • 4.68, _kp (ok), 17:21, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собирал систему на RPI4. C Systemd старт около 30 секунд, с Upstart 6 секунд.
    Возможно у Распберри катастрофически мало ядер, что бы была польза от параллельности в загрузке, да и сам он не шустрый.
     
     
  • 5.71, Bottle (?), 19:34, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ЖурналДи половину времени запуска отнимает. Не пользуешься логами, отключи их.
     
  • 5.86, Аноним (86), 03:28, 27/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Системда тормозит на всём, у чего нет паралеллизма ядер (не потоков) и у чего нет SSD. Грубо говоря, системда имеет смысл только на c2q или i5. И с SSD впридачу. Если чего-то из этого нет, тормозить будет безбожно.
     
  • 4.73, Аноним (-), 19:47, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Проверял на апельсинке от включения до готовности http-сервера по вафле:
    > - системДа стартует 30 сек;

    А у меня почему-то минимальный Debian - за 5 секунд на таком запускается. Вот прямо с системдой.

    > - сборка buildroot на последовательных (!) башпортянках - 10 сек.

    А набор сервисов там, пардон муа, одинаковый был? Или вы вкрячили кучу хлама одним, полторы программы другим - и типа-сравнили? Тогда условия сравнения были мягко говоря не равноценные. Напихайте столько сервисов на sysv и увидите что это будет.

    Да-да, openwrt попробовавший что-то такое - местами минуты полторы после power loss в себя приходит. Представляете?! Там даже вайргад и проч не сильно поможет - за полторы минуты конекции таки отлипнут.

     
  • 4.75, Аноним (3), 21:03, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Срочно смените ваш дистрибутив CachyOS на ПК firmware ждал выбора опции загруз... большой текст свёрнут, показать
     
     
  • 5.77, Аноним (77), 21:18, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > systemd-analyze critical-chain

    Есть аналоги этого на баш-портанках, кстати? Для общего развития интересуюсь.

     
  • 2.37, sqrt (?), 10:53, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Шелл-скрипты после запуска сервиса завершают свою работу, а системда висит до перезагрузки.
     
     
  • 3.74, Аноним (-), 19:49, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Шелл-скрипты после запуска сервиса завершают свою работу

    Вот это кстати тоже - как повезет. Бывают и всякие периодические перезапуски по кольцу или рестарт-мониторы по крону. Которые таки - постоянно или периодически RAM жрут.

    Да и вот сам s-d назвать прожорливым - даже не знаю. На вон том одноплатнике он 6 мегов RAM сожрал под себя. Из 512. А меньше уже и не паяют особо...

     
  • 2.63, Аноним (63), 13:52, 26/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.85, Аноним (86), 03:24, 27/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лол, системдшник пытается в перефорс. Причём выходит это у него весьма криво - весь оверхед сотен библиотек от системды он пытается сравнить с тоненьким execline, не то, что с шеллом.
     
     
  • 3.87, Аноним (87), 04:59, 27/01/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

  • 1.4, пэпэ (?), 23:09, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Какой-то набор заглушек для юного прокрастинатора.
     
     
  • 2.12, Аноним (-), 00:41, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какой-то набор заглушек для юного прокрастинатора.

    Вот вам клей, вот буханка, вот еще какая-то фигня. Можете запилить себе шикарнейший троллейбус. И судя по описанию - заняться с всем этим каким-то брейнфаком во имя луны "как в demontools и runit". Вот уж на кого не стоит ориентироваться в вопросах обслуживаемости и обозреваемости системе.

     
  • 2.24, Аноним (25), 08:43, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > система не является монолитной и разбита на серию отдельных и заменяемых модулей

    Ну да. Все кирпичики - как тематический лего. Вроде есть чувство, что "сам" складываешь, но получается только сарай. Можно, конечно, попробовать автомобиль сложить, но у него колёса квадратно-неподвижные будут.

     

  • 1.5, morphe (?), 23:38, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Проект s6-rc придерживается философии минимализма

    При этом реализует всё то же самое что и systemd, только в разы хуже

     
     
  • 2.7, Tty4 (?), 00:05, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В разы хуже, чем launchd 🧐. В общем, получше systemd будет, судя по возбуждению фанатиков
     
  • 2.13, Аноним (13), 00:55, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всё, не тянущее бисер из тысяч мелких файликов, по смыслу составляющих рваную в лоскуты логику, лучше чем системд.
     
     
  • 3.16, логоним (?), 03:58, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Но ведь ты сейчас в точности описал сисьвинит.
     
     
  • 4.30, Аноним (25), 09:02, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Анон выше хотел сказать, что 5 логичных башпортянок выполнятся быстрее, чем 200 мелких сервисов системДы-s6
     
     
  • 5.34, mos87 (ok), 09:32, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    и что это за "5 логичных башпортянок"?

    и кто сказал, что они будут "быстрее"?

    был инит который всё вообще в один С бинарник конпелял - был да сплыл. Никому такое чудо оказалось не нужным.

     
  • 5.41, Аноним (87), 11:30, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ну показывай свои 5 портянок, я сравню с системд. inb4, ничего ты не покажешь
     
  • 5.60, Аноним (13), 13:02, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И логичных и читаемых.

    Как-то о "загрузке за 2 секунды" системдушнилы уже не кричат, в лужу сели, теперь делают вид что ничего не случилось. А народу теперь надо тратить время на изучение тысяч параметров, хоть отдельную профессию заводи -- "слесарь по системд".

     
     
  • 6.88, Аноним (87), 05:01, 27/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.33, mos87 (ok), 09:31, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    фанатикам пофиг на реальность
     

  • 1.8, Аноним (25), 00:14, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    1. Кому надо поиграться - есть systemd.
    2. Гугл в ХромОС использует upstart.
     
     
  • 2.17, логоним (?), 04:00, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да. Все играются в проде. И не иначе как на промышленных к2д.
     

  • 1.20, Фонтимос (?), 07:23, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    СистемДи - всё?
    Написан на Си, параллельный запуск, гарантируется последовательность выполнения, упреждающее построение графа зависимостей, в соответствии с философией Unix (заметьте не Виндуз) решает только определённую задачу.
     
     
  • 2.21, User (??), 07:58, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > СистемДи - всё?

    "Запомните этот твит!"(С)

     
     
  • 3.82, Аноним (81), 23:28, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> СистемДи - всё?
    > "Запомните этот твит!"(С)

    Клиент Accenture с виндой конечно нам тут расскажет как unix way правильно сделать. Вот только ценность вэя который не сработал даже для его носителя...

     
     
  • 4.89, User (??), 06:59, 27/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>> СистемДи - всё?
    >> "Запомните этот твит!"(С)
    > Клиент Accenture с виндой конечно нам тут расскажет как unix way правильно
    > сделать. Вот только ценность вэя который не сработал даже для его
    > носителя...

    Ты там как - нашёл уже невоображаемую ubuntu, посчитал пакетики - или все ещё "телефон сел" и приходится по хрустальному шару экспертировать?

     
  • 2.26, Аноним (26), 08:54, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > в соответствии с философией Unix

    Запомни: если программа используется ровно в одном контексте, то от ее юниксвейности толка нет. Админ не придет и не запустит s6-чепухрень ни с того ни с сего. Он ожидает, что s6-чепухрень будет работать сама, в связке, без необходимости возиться в шелле и оформлять пайпы вида s6-чепухрень | awk 'ужасная хрень' | grep | sort | еще одна s6-чепухрень | uniq.

     
  • 2.51, Аноним (70), 12:11, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это ж какую он определённую задачу решает? Он пытается решать все.
     
  • 2.79, Аноним (79), 21:23, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сабжевой шляпе - не первый год Вот только длинной очереди желюащих ЭТО поюзать ... большой текст свёрнут, показать
     

  • 1.22, в (?), 08:31, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В новости не написано, что s6-rc не позиционируется как универсальный менеджер запуска, а как часть s6.
     
     
  • 2.31, Аноним (25), 09:06, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > не позиционируется как универсальный менеджер запуска, а как часть

    Сразу понятно, что s6-чепухрень - это кусочек паззла, где каждая сцепка - уникальная.

     

  • 1.23, Аноним (25), 08:36, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами

    Плюс одна точка отказа.

     
  • 1.29, Аноним (26), 09:01, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Заметьте, что аффтар не имеет ни одного технического аргумента против systemd: https://skarnet.org/software/systemd.html

    Он лишь негодует, что системда успешно берет на себя многое. "Но программа не может брать на себя много!" утверждает аффтар, обосновывая, почему его s6-чепухрень умеет сильно меньше.

     
     
  • 2.36, mos87 (ok), 09:41, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    т.е. всё как обычно.

    зокапывайте.


    ЗЫ глянул сайт - мда полный набор подросткового бреда.

     
     
  • 3.38, Аноним (38), 10:58, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Типичный образец protestware.
    И оценивать нужно соответственно. Ну не как к настоящему продукту относиться, а как к цирковому искусству.
     
  • 2.39, Валера (??), 11:05, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Автор лишь сказал,что задача Systemd сделать из Linux- Windows, а задача s6-быть просто системой инициализации.  
     
     
  • 3.42, Аноним (87), 11:32, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    то есть он спорит с аргументом, который придумал сам - не может быть
     
  • 2.49, Аноним (70), 11:58, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И что с того? Это ему не мешает пилить s6-rc.
    Не один он негодует по этому поводу.
     

  • 1.47, Аноним (47), 11:55, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вы главный понт проекта забыли упомянуть: проект написан потому, что остальные - NIH, а чел решил "мы всё переделаем DJB-way". Насколько это DJB-way может знать только сам DJB.
     
     
  • 2.48, Аноним (47), 11:58, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А, да, вишенка на торте:

    >Secure Site Not Available
    >You’ve enabled HTTPS-Only Mode for enhanced security, and a HTTPS version of thedjbway.b0llix.net is not available.

    Такой вот "DJB-way"...

     
  • 2.50, Аноним (47), 12:00, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ещё цитата:

    >This is why the System V initialization scheme is still prevalent in Linux distributions, despite being one of the slowest and most unreliable of all initialization schemes.

     

  • 1.52, Аноним (47), 12:13, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > <tt>skaclient</tt> is a client-server initiation protocol framework, allowing a process

    (the "client") to either connect to another process (the "server") via a Unix domain socket,
    or spawn such a "server" process itself. The client and the server then communicate
    via <em>two</em> sockets


    Сразу ффтопку. Коммуникация процессов должна идти через кольцевые буферы, причём виртуальные (это когда кольцевой буфер занимает 2x размер виртуальной памяти к физической, где вторая половина - это те же страничные кадры, что и первая, это позволяет использовать его куски как обычную память). Это абсолютно тривиально реализуется, и в линуксе есть все сисколлы, чтобы делать это безопасно.

     
     
  • 2.62, Аноним (-), 13:48, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/

    типичный пример инженерного максимализма:
    «можно быстрее» ≠ «всегда нужно быстрее»

    Unix domain sockets дают:
    • автоматическое управление жизненным циклом,
    • встроенные права доступа,
    • простую модель ошибок,
    • отсутствие shared-state гонок,
    • меньше шансов получить use-after-free или race при падении процесса.

    Кольцевой буфер в shared memory:
    • сложнее корректно реализовать,
    • требует жёсткой дисциплины синхронизации,
    • плохо переносит аварийное завершение одной из сторон,
    • труднее дебажится,
    • почти всегда привязан к Linux-специфике.

     
     
  • 3.66, Аноним (66), 15:18, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проблемы реализации - это не проблемы Должны быть 1 спецификация, по которой ... большой текст свёрнут, показать
     

  • 1.53, Аноним (47), 12:18, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ><tt>unixmessage</tt> implements message transmission over Unix domain sockets. Messages are made of standard untyped data (strings), but can also include file descriptors using fd-passing.

    Может всё же сразу взять flatbuf?

     
  • 1.54, Аноним (47), 12:20, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    ><tt>libdatastruct</tt> implements generic data structures like chained lists and AVL trees, in a memory-efficient and CPU-efficient way.

    Очередные ни с чем не совместимые васяно-велосипеды, лишь бы на C++ не писать и stl/Boost не использовать.

     
     
  • 2.55, Аноним (47), 12:25, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > skalibs/fmtscan.h: formatters (printers) and scanners (parsers) for basic C types

    Давайте всё это дерьмо полностью в рантайм вынесем, std::format - зачем?!

     
  • 2.56, Аноним (47), 12:27, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >skalibs/mininetstring.h: a protocol to transmit variable-length messages (limited to 64kB)

    64kiB хватит для всех!

     
     
  • 3.59, памяти хватит (?), 13:00, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, ладно, 2gb и тараканы. А некоторые тут даже докупили до 4! Скрепя сердце.
     
     
  • 4.80, Аноним (79), 21:26, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ой, ладно, 2gb и тараканы. А некоторые тут даже докупили до 4!
    > Скрепя сердце.

    Угу, сообщение по IPC шине на терабайт - чпок. Процессы по out of memory - чпок. Вся система - чпок. А так то защибись идея - вынести OOM killer'ом вообще сразу всех кто на шину сдуру подсел.

     
  • 2.57, Аноним (47), 12:33, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >skalibs/bitarray.h: how to handle large arrays of bits
    >root/src/libstddjb/bitarray_xor.c
    >/* ISC license. */
    >#include <skalibs/bitarray.h>
    >void bitarray_xor (unsigned char *c, unsigned char const *a, unsigned char const *b, size_t n)
    >{
    >  size_t i = bitarray_div8(n) ;
    >  while (i--) c[i] = a[i] ^ b[i] ;
    >}

    Остальные файлы из той же оперы. Ни SIMDа, ничего, тривиальщина, поданная под соусом ОФИГЕННАЯ ЛИБА КОТОРУЮ ВЫ ДОЛЖНЫ ЮЗАТЬ. Я лучше либы и код из блога Лемира возьму.


     
     
  • 3.64, Аноним (38), 14:16, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Театр одного сишника.
     

  • 1.61, Аноним (47), 13:15, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    ><tt>librandom</tt> is a small library designed to provide an interface to some reasonable quality pseudorandom number generation. <tt>librandom</tt> uses arc4random when available, or getrandom - else it defaults to  <tt>/dev/urandom</tt> and a a SURF PRNG.

    RC4 давно взломан, а могли бы и Blake3 взять, не говоря уже об аппаратных RNG.

     
     
  • 2.67, Аноним (67), 16:53, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ты заспамил весь тред своим бессмысленным бредом. arc4random давно не использует RC4
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру