15 Repos
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 ist eine technische Referenzbibliothek, die eine kuratierte Sammlung von Code-Snippets und Implementierungsmustern für fortgeschrittene Python-Entwicklung, Systemintegration und High-Performance-Computing bereitstellt. Sie dient als umfassender Leitfaden für die Implementierung von Low-Level-Netzwerkprogrammierung, nativen C-Erweiterungen sowie asynchroner und nebenläufiger Programmierung. Das Projekt bietet spezialisierte Frameworks für die Entwicklung und Bereitstellung von Large Language Models, einschließlich Werkzeugen für verteilte GPU-Inferenz und High-Performance-Serving. Es enthält zudem detaillierte Muster für die Orchestrierung von High-Performance-Computing-Clustern, die GPU-Ressourcenzuweisung und Multi-Node-Workload-Management abdecken. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich sicherer Netzwerkkommunikation und Kryptografie, Object-Relational-Mapping und Datenbankverwaltung sowie die Implementierung komplexer Datenstrukturen und Algorithmen. Sie bietet zudem Utilities für Speicherverwaltung, native Interoperabilität via Foreign-Function-Interfaces und systemnahe OS-Integration.
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 ist ein Echtzeitbetriebssystem-Kernel für Mikrocontroller. Er bietet eine Multitasking-Umgebung durch einen prioritätsbasierten Task-Scheduler, einen eingebetteten Speicher-Manager und ein Framework für Inter-Prozess-Kommunikation, um sicherzustellen, dass zeitkritische Aufgaben ihre Deadlines einhalten. Der Kernel enthält eine Software-Timer-Engine zur Ausführung von Funktionen in vordefinierten Intervallen oder nach festgelegten Verzögerungen. Er unterstützt ein minimales Modell gleichzeitiger Aufgaben und leichtgewichtige Co-Routine-Ausführung für Systeme mit begrenzten Speicherressourcen. Das Projekt deckt ein breites Spektrum an eingebetteter Ressourcenverwaltung ab, einschließlich Inter-Task-Kommunikation via Queues und Event-Gruppen sowie deterministischer Systemressourcenplanung. Die Projektintegration wird durch Build-System-Integration mittels Fetch-Tools oder Versionskontroll-Submodulen verwaltet.
Provides core inter-process communication primitives such as thread-safe message queues for data exchange between tasks.
Dieses Projekt ist eine technische Referenz und eine Sammlung interner Analyse-Notizen, die sich auf die Go-Sprach-Runtime und den Compiler konzentrieren. Es bietet eine detaillierte Aufschlüsselung der Interna der Sprache, einschließlich Speicherverwaltung, Garbage Collection und des Ausführungsmodells des Schedulers. Das Material zeichnet sich durch Deep-Dives in Low-Level-Systemdetails aus, einschließlich einer Referenz für Go-Assembly-Instruktionen, Register-Nutzung und System-Call-Interfacing. Es analysiert spezifisch die interne Implementierung von Concurrency-Primitiven, wie den Goroutine-Scheduling-Mechanismus, Channel-Operationen und Mutex-Lock-Implementierungen. Die Abdeckung erstreckt sich auf die Compiler-Konstruktionstheorie, einschließlich lexikalischer und syntaktischer Analyse, sowie die Mechanik des Typsystems und des Interface-Managements. Es beschreibt zudem verschiedene Performance-Optimierungstechniken, Runtime-Diagnose-Utilities für Stack-Tracing und Netzwerk-I/O-Primitive.
Implements data exchange between concurrent tasks using blocking synchronization and buffered queues.
Dieses Projekt bietet eine serverseitige Sprachlaufzeitumgebung und ein standardisiertes Docker-Image für die Bereitstellung von Anwendungen auf verschiedenen Betriebssystemen. Es fungiert als Ausführungsumgebung für die Generierung von dynamischen HTML-, JSON- und XML-Inhalten und dient gleichzeitig als Command Line Interface für Automatisierungsskripte und Hintergrundjobs. Die Laufzeitumgebung ist durch eine C-basierte Erweiterungsarchitektur auf Erweiterbarkeit ausgelegt, die das Laden benutzerdefinierter Module für spezialisierte Funktionen ermöglicht. Sie unterstützt mehrere Server-Anwendungsschnittstellen, einschließlich einer FastCGI-Webschnittstelle für hochperformante Kommunikation mit Webservern sowie einen integrierten Webserver für das Hosten von Seiten ohne externe Installationen. Das Funktionsspektrum deckt eine breite Palette an Systemprogrammierung und Webentwicklung ab. Dazu gehören Datenbankintegration für SQL- und NoSQL-Engines, Netzwerkprotokollkommunikation via HTTP und SOAP sowie Sicherheitsprimitive für Passwort-Hashing und symmetrische Verschlüsselung. Zusätzlich bietet die Laufzeitumgebung Tools für XML-Verarbeitung, Multibyte-String-Handling und Arithmetik mit beliebiger Genauigkeit. Das Projekt wird als geschichtetes Container-Image bereitgestellt, um eine konsistente Ausführung in verschiedenen Hosting-Umgebungen zu gewährleisten.
Synchronizes execution and exchanges data between separate processes using semaphores and shared memory.
embedded-notes ist eine Sammlung technischer Studienleitfäden und Entwicklungsnotizen mit Fokus auf Embedded Linux, Linux-Kernel-Internals und C-Programmierung. Sie dient als Referenz für die Entwicklung eingebetteter Systeme und als Vorbereitungsressource für technische Vorstellungsgespräche in diesem Bereich. Das Projekt bietet detaillierte Dokumentation zum Schreiben von Gerätetreibern, zur Verwaltung von virtuellem Speicher und zum Verständnis der Kernel-Internals. Es enthält zudem Leitfäden zu IoT-Netzwerkprotokollen wie MQTT und TCP/IP und skizziert die architektonischen Details von Chip-Architekturen und Hardware-Peripheriegeräten. Das Material deckt ein breites Spektrum der Systemprogrammierung ab, einschließlich manueller Speicherverwaltung, Prozesslebenszyklus-Management und der Implementierung von Konzepten für Echtzeitbetriebssysteme. Es enthält zudem Referenzen für Low-Level-Tools wie Cross-Kompilierung für ARM, Binäranalyse und Shell-Scripting für Build-Automatisierung.
Implements data exchange between tasks using managed queues and other OS kernel IPC primitives.
NuttX ist ein POSIX-konformes Echtzeitbetriebssystem für Mikrocontroller, das von 8-Bit- bis 64-Bit-Architekturen reicht. Es bietet eine deterministische Ausführungsumgebung mit einem Echtzeit-Task-Scheduler und einem POSIX-Embedded-Kernel, um die Portabilität von Code über diverse Hardware-Ziele hinweg sicherzustellen. Das Projekt zeichnet sich durch eine umfassende Hardware-Abstraktionsschicht aus, die standardisierte Treiber für I2C, SPI, CAN und USB für verschiedene Halbleiter-Chipsätze bereitstellt. Es verfügt zudem über einen Embedded-Netzwerk-Stack mit Unterstützung für TCP, UDP, IPv4 und IPv6 sowie industrielle Protokolle wie Modbus und DroneCAN. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich fortschrittlichem Speichermanagement mit On-Demand-Paging, sicheren kryptografischen Operationen und einem virtuellen Dateisystem zur Verwaltung unterschiedlicher Speichertypen. Es integriert zudem High-Level-Schnittstellen für grafische Benutzeroberflächen, Audiosynthese sowie die Ausführung mehrerer Skriptsprachen und WebAssembly-Workloads. Die Umgebung wird mittels Make oder CMake für spezifische Board-Konfigurationen und Halbleiter-Chipsätze erstellt.
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.