7 مستودعات
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.
توفر مكتبة التزامن Java هذه مجموعة من الأدوات لإدارة التنفيذ متعدد الخيوط، والمزامنة، واتساق الذاكرة. تعمل كإطار عمل شامل لتنفيذ التنفيذ المتزامن من خلال ذرات خالية من القفل، ومجموعات آمنة للخيوط، وبدائيات تنسيق المهام، ومجمعات العمال. يتضمن المشروع مجموعة أدوات مزامنة خيوط مخصصة تتميز بالمزالج، والحواجز، والإشارات لتنسيق توقيت وترتيب المهام المتزامنة. كما يوفر مجموعة مجموعات متزامنة من الخرائط، والطوابير، والقوائم التي تتيح مشاركة البيانات دون قفل يدوي، إلى جانب إطار عمل للعمليات الذرية للتحديثات الخالية من القفل للأنواع والمراجع الأساسية. تغطي المكتبة مجالات قدرة واسعة بما في ذلك إدارة مجمع الخيوط لتحسين استخدام الموارد، وتحليل نموذج الذاكرة لضمان رؤية البيانات، وآليات إدارة القفل المختلفة لمنع ظروف السباق. تدعم هذه الأدوات بشكل جماعي تطوير التطبيقات متعددة الخيوط التي تحافظ على انتقالات حالة متسقة عبر الذاكرة المشتركة.
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.