4 repositorios
Techniques using copy-on-write semantics to share memory across multiple forked processes.
Distinct from Memory Optimization Techniques: Candidates are focused on C# heap optimization or AI training memory; this is about OS-level process memory sharing.
Explore 4 awesome GitHub repositories matching operating systems & systems programming · Copy-on-Write Memory Optimizations. Refine with filters or upvote what's useful.
Swift NIO is a low-level, event-driven network framework for the Swift language. It serves as an asynchronous network protocol stack and I/O library designed to build high-performance network servers and clients that handle thousands of simultaneous connections. The framework functions as a high-concurrency network engine that dispatches events across multiple CPU cores. It enables the implementation of custom network protocols by processing raw bytes through a sequence of reusable data transformation handlers. The system provides capabilities for non-blocking I/O multiplexing, asynchronous
Provides copy-on-write byte buffers to minimize memory allocations and data copying during network I/O.
Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered web server, using a combination of worker processes and threads to handle multiple simultaneous web connections via TCP ports or UNIX domain sockets. The server features a master-worker process model that utilizes multiple CPU cores and employs copy-on-write preloading to reduce memory usage. It supports zero-downtime restarts through socket-handover capabilities, allowing application updates without dropping pending network requests. The project includes a token-authenticate
Reduces total memory footprint by preloading application code into the master process before forking workers.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Teaches copy-on-write memory optimization for sharing pages across forked processes.
Este proyecto es una colección de documentación técnica y guías diseñadas como un explicador de arquitectura de computadores. Proporciona recursos educativos sobre cómo los procesadores y sistemas operativos ejecutan programas, centrándose en el ciclo de fetch-execute y la relación fundamental entre el hardware y el kernel. La documentación cubre una amplia gama de operaciones de sistema de bajo nivel, incluyendo guías detalladas sobre el formato binario ejecutable y enlazable (ELF), gestión de memoria virtual y operaciones a nivel de kernel. Explora específicamente la mecánica de la planificación de CPU, multitarea preventiva y el uso de interrupciones de temporizador para gestionar la ejecución de procesos. El material explica además flujos de trabajo de gestión de memoria como la traducción de direcciones, paginación bajo demanda y el uso compartido de páginas copy-on-write. También cubre la seguridad y el control de acceso mediante la gestión de privilegios del procesador y la aplicación de permisos de páginas de memoria, así como la interfaz de llamadas al sistema utilizada por programas en user-space para solicitar operaciones privilegiadas del kernel. Las guías detallan también el ciclo de vida de ejecución del programa, desde la secuencia de arranque inicial y la carga de binarios hasta el reemplazo de procesos y el bootstrapping de procesos de usuario.
Explains the use of copy-on-write semantics to share physical memory between parent and child processes.