Experimental Thread-Like Processes: Multiple Executables in Shared Address Space
By
jer-irl
A five-star bake. Worth schmearing, sharing, saving.
Summary
The article describes an experimental GitHub repository called 'threadprocs' that implements thread-like processes, allowing multiple executables to run in a shared address space. This approach blends the Posix process model with multi-threading, enabling features like zero-copy access to pointer-based data structures across different threadprocs. Each threadproc behaves like a process with its own executable, globals, and libc instance, while maintaining pointer validity across threadprocs. The repository includes demo code and mentions a related application framework called 'tproc-actors' built on top of threadprocs.
Key quotes
· 5 pulledEach threadproc behaves like a process with its own executable, globals, libc instance, etc, but pointers are valid across threadprocs.
This blends the Posix process model with the Posix multi-threading programming model, and enables things like zero-copy access to pointer-based data structures.
All Markdown files were written by hand.
See tproc-actors for one possible application framework building on top of threadprocs.
The code for the demoed programs is at exa
You might also wanna read
CacheKit: High-Performance Cache Policies and Data Structures for Rust Systems
CacheKit is a Rust library providing high-performance cache replacement policies and supporting data structures for systems programming. It
Building a Redis-Compatible Key/Value Server in Zig with Static Memory Allocation
The article discusses the development of 'kv', a Redis-compatible key/value server implemented in Zig programming language, focusing on the
Advanced Borrow-Checker Concepts in Rust Programming: Exploring New Reference Types
This article explores advanced concepts in Rust programming language's borrow-checker system, proposing new reference types and algebraic st
Rue: An Early-Stage Systems Programming Language Research Project for Memory Safety
Rue is an early-stage research project for a systems programming language that aims to provide memory safety without garbage collection, sim
Minimal Memory Allocator in C with sbrk and mmap Implementation
This article describes a minimal memory allocator written in C from scratch, using sbrk for small allocations and mmap for large allocations
Buffer Size Considerations and Safety Implications in Zig's New I/O Writer Implementation
The article discusses programming considerations for Zig's new std.Io.Reader and Writer interfaces, focusing on buffer size decisions and sa
