7 repository-uri
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 7 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.
Această bibliotecă de concurență Java oferă o suită de instrumente pentru gestionarea execuției multi-threaded, sincronizării și consistenței memoriei. Servește ca un framework cuprinzător pentru implementarea execuției concurente prin atomice lock-free, colecții thread-safe, primitive de coordonare a sarcinilor și pool-uri de worker-i. Proiectul include un toolkit dedicat de sincronizare a thread-urilor, cu latch-uri, bariere și semafoare pentru a coordona sincronizarea și ordinea sarcinilor concurente. Oferă, de asemenea, o suită de colecții concurente de map-uri, cozi și liste care permit partajarea datelor fără blocare manuală, alături de un framework de operațiuni atomice pentru actualizări lock-free la tipuri și referințe de bază. Biblioteca acoperă domenii largi de capabilități, inclusiv gestionarea pool-urilor de thread-uri pentru optimizarea utilizării resurselor, analiza modelului de memorie pentru a asigura vizibilitatea datelor și diverse mecanisme de gestionare a blocărilor pentru a preveni race condition-urile. Aceste instrumente susțin colectiv dezvoltarea aplicațiilor multi-threaded care mențin tranziții de stare consistente în memoria partajată.
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.
This library provides a framework for instrumenting Java applications to track performance and system-level statistics. It enables the definition and collection of metrics such as counters, gauges, and histograms, while automatically capturing runtime health indicators like memory usage, thread activity, and garbage collection performance. The project distinguishes itself through a registry-based aggregation model that decouples metric recording from data exposition. It supports thread-safe atomic instrumentation for high-frequency data collection and offers flexible export mechanisms, includ
Uses low-overhead atomic primitives to record high-frequency performance data across concurrent threads.