Новый системный проект, опубликованный на Hacker News, представляет "Threadprocs" — технику запуска нескольких исполняемых файлов внутри одного адресного пространства, чтобы они могли обмениваться сырыми указателями без копирования. Прототип относится к независимо собранным программам скорее как к потокам, чем к традиционным процессам, стремясь убрать сериализацию и переходы через ядро, которые обычно сопровождают межпроцессное взаимодействие.
Ключевая идея Threadprocs — совместно размещать код и кучи, чтобы компоненты могли напрямую передавать ссылки, обходя слои маршалинга, присущие сокетам, каналам или RPC-фреймворкам. Такой подход обещает меньшую задержку и большую пропускную способность для нагрузок, которые перемещают крупные структуры в памяти — например, конвейеров аналитики в памяти, плагинных архитектур и рантаймов языков, связывающих C и системные языки, — за счет устранения дублирования данных и преобразования форматов на границах процессов.
Этот подход жертвует изоляцией ради скорости. Без раздельных адресных пространств ошибка памяти в одном исполняемом файле может скомпрометировать всю систему, и обычные механизмы защиты ОС и границы привилегий не применимы. Проект позиционирует это как осознанный выбор для контролируемых окружений и критичных по производительности путей и подчеркивает необходимость дисциплинированного владения, стабильных ABI и продуманных стратегий аллокаторов, чтобы межкомпонентные указатели оставались корректными и безопасными.
Ранняя дискуссия вокруг анонса сосредоточена на том, как совместить эффективность без копирования с предохранителями: предложения варьируются от использования более строгой языковой безопасности до применения техник защиты памяти и инструментов, формализующих интерфейсы и сроки жизни объектов между компонентами. Автор позиционирует Threadprocs как экспериментальную платформу для исследования композиции в одном адресном пространстве и нулевого копирования в IPC, а не как готовую замену процессам в развертываниях с повышенными требованиями к безопасности.