15 dépôts
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 est une bibliothèque de référence technique fournissant une collection organisée d'extraits de code et de modèles d'implémentation pour le développement Python avancé, l'intégration système et le calcul haute performance. Il sert de guide complet pour implémenter la programmation réseau de bas niveau, les extensions C natives, et la programmation asynchrone et concurrente. Le projet fournit des frameworks spécialisés pour le développement et le déploiement de grands modèles de langage, y compris des outils pour l'inférence GPU distribuée et le service haute performance. Il inclut également des modèles détaillés pour l'orchestration de clusters de calcul haute performance, couvrant l'allocation des ressources GPU et la gestion des charges de travail multi-nœuds. La bibliothèque couvre une large surface de capacités, y compris la communication réseau sécurisée et la cryptographie, l'ORM et la gestion de base de données, et l'implémentation de structures de données et d'algorithmes complexes. Elle fournit également des utilitaires pour la gestion de la mémoire, l'interopérabilité native via des interfaces de fonctions étrangères (FFI) et l'intégration au niveau du système d'exploitation.
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 est un noyau de système d'exploitation temps réel pour microcontrôleurs. Il fournit un environnement multitâche via un planificateur de tâches basé sur les priorités, un gestionnaire de mémoire embarqué et un framework de communication inter-processus pour garantir que les tâches critiques respectent leurs délais. Le noyau inclut un moteur de minuterie logicielle pour exécuter des fonctions à des intervalles prédéfinis ou après des délais définis. Il prend en charge un modèle minimal de tâches concurrentes et l'exécution légère de co-routines pour les systèmes avec des ressources mémoire limitées. Le projet couvre une large surface de gestion des ressources embarquées, incluant la communication inter-tâches via des files d'attente et des groupes d'événements, ainsi que la planification déterministe des ressources système. L'intégration du projet est gérée via l'intégration du système de build en utilisant des outils de récupération ou des sous-modules de contrôle de version.
Provides core inter-process communication primitives such as thread-safe message queues for data exchange between tasks.
Ce projet est une référence technique et une collection de notes d'analyse interne axées sur le runtime et le compilateur du langage Go. Il fournit une analyse détaillée des rouages internes du langage, couvrant la gestion de la mémoire, le ramasse-miettes (garbage collection) et le modèle d'exécution du planificateur. Le matériel se distingue en fournissant des plongées approfondies dans les détails système de bas niveau, incluant une référence pour les instructions d'assemblage Go, l'utilisation des registres et l'interfaçage des appels système. Il analyse spécifiquement l'implémentation interne des primitives de concurrence, telles que le mécanisme de planification des goroutines, les opérations sur les canaux et les implémentations de verrous mutex. La couverture s'étend à la théorie de la construction des compilateurs, incluant l'analyse lexicale et syntaxique, ainsi que la mécanique du système de types et la gestion des interfaces. Il détaille également diverses techniques d'optimisation des performances, des utilitaires de diagnostic du runtime pour le traçage de la pile et des primitives d'E/S réseau.
Implements data exchange between concurrent tasks using blocking synchronization and buffered queues.
Ce projet fournit un runtime de langage côté serveur et une image Docker standardisée pour déployer des applications sur différents systèmes d'exploitation. Il fonctionne comme un environnement d'exécution pour générer du contenu HTML, JSON et XML dynamique, tout en servant également d'interface en ligne de commande pour des scripts d'automatisation et des tâches de fond. Le runtime est conçu pour être extensible grâce à une architecture d'extension basée sur C, permettant le chargement de modules personnalisés pour des fonctionnalités spécialisées. Il prend en charge plusieurs interfaces d'application serveur, notamment une interface web FastCGI pour une communication haute performance avec les serveurs web et un serveur web intégré pour héberger des pages sans installations externes. La surface de capacités couvre un large éventail de tâches de programmation système et de développement web. Celles-ci incluent l'intégration de bases de données SQL et non relationnelles, la communication par protocoles réseau via HTTP et SOAP, et des primitives de sécurité pour le hachage de mots de passe et le chiffrement symétrique. De plus, le runtime fournit des outils pour le traitement XML, la gestion des chaînes multi-octets et les mathématiques à précision arbitraire. Le projet est packagé sous forme d'image de conteneur multicouche pour assurer une exécution cohérente dans divers environnements d'hébergement.
Synchronizes execution and exchanges data between separate processes using semaphores and shared memory.
embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel internals, and C programming. It serves as a reference for embedded systems development and a preparation resource for technical interviews in the field. The project provides detailed documentation on writing device drivers, managing virtual memory, and understanding kernel internals. It also includes guides on IoT network protocols, such as MQTT and TCP/IP, and outlines the architectural details of chip architectures and hardware peripherals. The material covers a broad sur
Implements data exchange between tasks using managed queues and other OS kernel IPC primitives.
NuttX est un système d'exploitation temps réel (RTOS) conforme à POSIX, conçu pour les microcontrôleurs allant des architectures 8 bits aux 64 bits. Il fournit un environnement d'exécution déterministe avec un ordonnanceur de tâches temps réel et un noyau embarqué POSIX pour assurer une exécution de code portable sur diverses cibles matérielles. Le projet se distingue par une couche d'abstraction matérielle complète qui fournit des pilotes standardisés pour I2C, SPI, CAN et USB sur divers chipsets de semi-conducteurs. Il dispose également d'une pile réseau embarquée prenant en charge TCP, UDP, IPv4 et IPv6, ainsi que des protocoles industriels tels que Modbus et DroneCAN. Le système couvre un large éventail de capacités, incluant une gestion avancée de la mémoire avec pagination à la demande, des opérations cryptographiques sécurisées et un système de fichiers virtuel pour gérer des types de stockage disparates. Il intègre en outre des interfaces de haut niveau pour les interfaces graphiques, la synthèse audio et l'exécution de plusieurs langages de script et charges de travail WebAssembly. L'environnement est construit en utilisant Make ou CMake pour cibler des configurations de cartes et des chipsets spécifiques.
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.