15 مستودعات
Mechanisms for synchronizing execution and exchanging data between concurrent threads or processes using primitives like semaphores and queues.
Distinct from Task Synchronization: Existing candidates focus on logging, distributed coordination, or high-level task queues, not core OS kernel IPC primitives.
Explore 15 awesome GitHub repositories matching operating systems & systems programming · Inter-Process Communication. Refine with filters or upvote what's useful.
This repository is a comprehensive collection of instructional guides and practical examples for Python development, focusing on machine learning, data science, and web scraping. It provides implementations for neural networks, reinforcement learning algorithms, and deep learning architectures using PyTorch, alongside detailed manuals for scientific computing and data visualization. The project distinguishes itself by offering specialized tutorials on concurrent programming to optimize CPU performance and guides for setting up Linux development environments. It covers the implementation of ad
Implements inter-process communication using thread-safe queues to synchronize state and share data between processes.
RT-Thread is an IoT real-time operating system and embedded device kernel. It provides a lightweight execution environment for microcontrollers, combining a real-time kernel with a hardware abstraction layer to manage multi-threaded task scheduling and hardware resource allocation. The project is built as a modular framework that utilizes a package-based ecosystem. This allows for the integration of reusable software libraries and high-level services through a loosely coupled architecture. The system covers real-time task scheduling, resource-constrained memory management, and embedded hardw
Provides core kernel primitives including semaphores, mailboxes, and message queues for thread synchronization and data exchange.
pysheeet هي مكتبة مرجعية تقنية توفر مجموعة مختارة من مقتطفات التعليمات البرمجية وأنماط التنفيذ لتطوير Python المتقدم، وتكامل النظام، والحوسبة عالية الأداء. تعمل كدليل شامل لتنفيذ برمجة الشبكات منخفضة المستوى، وإضافات C الأصلية، والبرمجة غير المتزامنة والمتزامنة. يوفر المشروع أطر عمل متخصصة لتطوير ونشر نماذج اللغات الكبيرة، بما في ذلك أدوات لاستنتاج GPU الموزع والخدمة عالية الأداء. يتضمن أيضاً أنماطاً مفصلة لتنظيم مجموعات الحوسبة عالية الأداء، وتغطية تخصيص موارد GPU وإدارة عبء العمل متعدد العقد. تغطي المكتبة سطحاً واسعاً من القدرات، بما في ذلك اتصالات الشبكة الآمنة والتشفير، والتعيين الكائني-العلائقي وإدارة قواعد البيانات، وتنفيذ هياكل البيانات والخوارزميات المعقدة. كما توفر أدوات لإدارة الذاكرة، وقابلية التشغيل البيني الأصلية عبر واجهات الوظائف الخارجية، وتكامل نظام التشغيل على مستوى النظام.
Provides implementation patterns for exchanging data between processes using queues and communication pipes.
This project is a front-end interview study guide and a collection of structured notes designed for technical job preparation. It serves as a comprehensive reference for web technologies, common technical interview questions, and JavaScript algorithm implementation. The notebook distinguishes itself by integrating specialized guides for web performance optimization, browser API documentation, and JavaScript algorithm references. It provides a structured approach to solving coding challenges involving data structures like binary trees, linked lists, and array manipulation. The content covers
Explains inter-process communication mechanisms and message passing primitives as part of computer science fundamentals.
This project is a Python data science curriculum and programming tutorial collection. It provides a structured set of educational notebooks and scripts designed to teach data analysis, machine learning, and deep learning. The repository serves as a learning path for building and tuning predictive models, including regression, decision trees, and neural networks. It includes a data visualization guide for creating financial time-series plots and a multiprocessing reference for implementing parallel task execution and shared memory synchronization. The curriculum covers broader capability area
Implements mechanisms for synchronizing execution and exchanging data between concurrent processes using queues.
Bubblewrap is a Linux sandbox runner that creates lightweight, isolated execution environments for running untrusted applications. It combines Linux user, mount, network, PID, and UTS namespaces with seccomp-BPF system call filtering to restrict filesystem, network, process, and inter-process communication access. The project provides comprehensive process isolation by giving each sandbox its own private tmpfs root with selective bind-mounts, a separate network stack containing only a loopback interface, an independent process ID space, and remapped user and group identifiers. It applies secc
Gives the sandbox its own copy of SysV shared memory, semaphores, and other IPC primitives.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Transfers data between processes using pipes, message queues, shared memory, signals, semaphores, and sockets.
FlashInfer is a library of high-performance GPU kernels purpose-built for accelerating large language model inference. It provides optimized implementations for attention operations (including flash attention, page attention, multi-head latent attention, and cascade attention) using paged key-value caches, fused kernel composition, and just-in-time compilation. The library also includes specialized kernels for mixture-of-experts layers, block-scaled low-precision quantization (FP8, FP4), and distributed collective communication. What distinguishes FlashInfer is its fused all-reduce communicat
This GPU kernel library releases symmetric memory references held by an inter-process communication workspace so resources are freed after use.
FreeRTOS-Kernel is a real-time operating system kernel for microcontrollers. It provides a multitasking environment through a priority-based task scheduler, an embedded memory manager, and an inter-process communication framework to ensure time-critical tasks meet their deadlines. The kernel includes a software timer engine for executing functions at predefined intervals or after set delays. It supports a minimal model of concurrent tasks and lightweight co-routine execution for systems with limited memory resources. The project covers a broad surface of embedded resource management, includi
Provides core inter-process communication primitives such as thread-safe message queues for data exchange between tasks.
هذا المشروع عبارة عن مرجع تقني ومجموعة من ملاحظات التحليل الداخلي التي تركز على وقت تشغيل لغة Go والمترجم. يوفر تفصيلاً دقيقاً للغة من الداخل، ويغطي إدارة الذاكرة، وجمع القمامة، ونموذج تنفيذ المجدول. تتميز المادة بتوفير غوص عميق في تفاصيل النظام منخفضة المستوى، بما في ذلك مرجع لتعليمات تجميع Go، واستخدام السجلات، وواجهة استدعاء النظام. ويحلل بشكل خاص التنفيذ الداخلي لبدائيات التزامن، مثل آلية جدولة الروتينيات (goroutine)، وعمليات القنوات، وتنفيذ قفل الميوتكس (mutex). يمتد التغطية إلى نظرية بناء المترجم، بما في ذلك التحليل المعجمي والنحوي، بالإضافة إلى آليات نظام النوع وإدارة الواجهة. كما يفصل تقنيات تحسين الأداء المختلفة، وأدوات تشخيص وقت التشغيل لتتبع المكدس، وبدائيات إدخال/إخراج الشبكة.
Implements data exchange between concurrent tasks using blocking synchronization and buffered queues.
يوفر هذا المشروع وقت تشغيل لغة من جانب الخادم وصورة Docker موحدة لنشر التطبيقات عبر أنظمة تشغيل مختلفة. يعمل كبيئة تنفيذ لتوليد محتوى HTML و JSON و XML ديناميكي، بينما يعمل أيضاً كواجهة سطر أوامر لسكربتات الأتمتة والمهام الخلفية. تم تصميم وقت التشغيل ليكون قابلاً للتوسيع من خلال بنية امتداد تعتمد على C، مما يسمح بتحميل وحدات مخصصة لوظائف متخصصة. ويدعم واجهات تطبيقات خادم متعددة، بما في ذلك واجهة ويب FastCGI لاتصالات عالية الأداء مع خوادم الويب وخادم ويب مدمج لاستضافة الصفحات دون تثبيتات خارجية. تغطي مساحة الإمكانيات مجموعة واسعة من مهام برمجة الأنظمة وتطوير الويب. وتشمل هذه تكامل قاعدة البيانات لمحركات SQL وغير العلائقية، واتصالات بروتوكول الشبكة عبر HTTP و SOAP، وأوليات الأمان لتجزئة كلمات المرور والتشفير المتماثل. بالإضافة إلى ذلك، يوفر وقت التشغيل أدوات لمعالجة XML، ومعالجة السلاسل متعددة البايت، والرياضيات ذات الدقة التعسفية. يتم تعبئة المشروع كصورة حاوية ذات طبقات لضمان تنفيذ متسق عبر بيئات استضافة متنوعة.
Synchronizes execution and exchanges data between separate processes using semaphores and shared memory.
embedded-notes هي مجموعة من أدلة الدراسة التقنية وملاحظات التطوير التي تركز على Linux المضمن، وداخلية نواة Linux، وبرمجة C. تعمل كمرجع لتطوير الأنظمة المضمنة ومورد تحضيري للمقابلات التقنية في هذا المجال. يوفر المشروع وثائق مفصلة حول كتابة برامج تشغيل الأجهزة، وإدارة الذاكرة الافتراضية، وفهم داخلية النواة. كما يتضمن أدلة حول بروتوكولات شبكة IoT، مثل MQTT وTCP/IP، ويحدد التفاصيل المعمارية لهياكل الرقائق والأجهزة الطرفية. تغطي المادة سطحاً واسعاً من برمجة الأنظمة، بما في ذلك إدارة الذاكرة اليدوية، وإدارة دورة حياة العمليات، وتنفيذ مفاهيم نظام التشغيل في الوقت الفعلي. كما تتضمن مراجع للأدوات منخفضة المستوى، مثل التجميع المتقاطع لـ ARM، وتحليل الثنائيات، وكتابة نصوص shell لأتمتة البناء.
Implements data exchange between tasks using managed queues and other OS kernel IPC primitives.
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
Provides mechanisms for synchronizing execution and exchanging data between concurrent threads or processes using queues and semaphores.
Chronicle Queue is a high-performance data handling system featuring off-heap message queues, memory-mapped file stores, and replicated message stores. It provides a binary compatible memory layout that enables different programming languages to share data without serialization overhead. The system utilizes a replicated message store to synchronize data across multiple nodes, ensuring high availability and instant failover. Its memory-mapped architecture supports deterministic replay from disk and low-latency data recording. The project implements off-heap memory management and zero-allocati
Facilitates high-performance inter-process communication using shared memory primitives and binary compatible layouts.
nix is a Unix system API library and Rust system programming interface that provides type-safe bindings for invoking low-level system calls. It serves as a low-level operating system wrapper and POSIX compatibility layer, allowing for kernel interactions and administrative tasks through safe wrappers around platform-specific APIs. The project provides a kernel device interface for controlling hardware devices, managing kernel modules, and configuring terminal interfaces. It differentiates itself by offering type-safe wrappers for memory mapping and zero-copy input-output operations to reduce
Provides type-safe Rust bindings for core OS kernel IPC primitives including signals and message queues.