6 repositorios
Techniques for coordinating access to shared memory using atomic primitives and mutexes to prevent data races.
Distinct from Mutex-Based Resource Synchronizations: Covers both mutex-based and lock-free atomic synchronization, whereas the sibling focuses strictly on mutexes.
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Atomic Thread Synchronization. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Provides detailed instructions on protecting shared memory using both mutexes and lock-free atomic operations.
Detours is a library for intercepting Win32 API calls and redirecting function calls at runtime on Windows, enabling binary-level instrumentation without requiring access to the original source code. It functions as an API hooking library and binary instrumentation toolkit, allowing developers to monitor or modify the behavior of compiled Windows binaries by hooking into their function execution paths. The project achieves this through detour-based function interception, where the first few instructions of a target function are replaced with a jump to a user-supplied detour function, while pr
Uses interlocked operations to atomically replace function entry points, preventing race conditions during hook installation.
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Synchronizes access to shared resources using mutexes, condition variables, and atomic operations.
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
Covers condition variable synchronization for blocking threads until a condition is signaled.
Esta biblioteca de concurrencia de Java proporciona un conjunto de herramientas para gestionar la ejecución multihilo, la sincronización y la consistencia de la memoria. Sirve como un framework integral para implementar la ejecución concurrente a través de atómicos sin bloqueo (lock-free), colecciones seguras para hilos, primitivas de coordinación de tareas y grupos de trabajadores (worker pools). El proyecto incluye un kit de herramientas de sincronización de hilos dedicado que cuenta con latches, barreras y semáforos para coordinar el tiempo y el orden de las tareas concurrentes. También proporciona una suite de colecciones concurrentes de mapas, colas y listas que permiten compartir datos sin bloqueo manual, junto con un framework de operaciones atómicas para actualizaciones sin bloqueo a tipos y referencias básicos. La biblioteca cubre áreas de capacidad amplias, incluyendo la gestión de grupos de hilos para optimizar la utilización de recursos, el análisis del modelo de memoria para garantizar la visibilidad de los datos y varios mecanismos de gestión de bloqueos para evitar condiciones de carrera. Estas herramientas apoyan colectivamente el desarrollo de aplicaciones multihilo que mantienen transiciones de estado consistentes a través de la memoria compartida.
Implements lock-free atomic operations for basic types and references to ensure thread-safe mutations.
HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp
Implements spinlocks and atomic primitives to manage thread synchronization and prevent race conditions during debugging tasks.