3 dépôts
Memory regions shared between the operating system kernel and user-space processes to eliminate data copying.
Distinct from Shared Memory Transports: Specifically addresses the kernel-to-userspace boundary rather than general inter-process communication
Explore 3 awesome GitHub repositories matching data & databases · Kernel-Userspace Shared Memory. Refine with filters or upvote what's useful.
Ce projet est une ressource éducative fournissant un tutoriel de développement complet pour écrire et charger des programmes eBPF en utilisant C, Go et Rust au sein du noyau Linux. Il sert de guide technique pour développer une logique personnalisée à exécuter directement dans le noyau. Les matériaux couvrent des domaines spécialisés, notamment l'observabilité et le traçage du noyau, l'implémentation de la sécurité pour la détection d'intrusion et l'ingénierie réseau haute performance pour le filtrage de paquets et l'équilibrage de charge. Il inclut également des manuels dédiés pour le traçage du noyau Linux et l'utilisation de kprobes, uprobes et tracepoints. Le projet englobe un large éventail de domaines de capacités, tels que l'instrumentation du noyau, la surveillance et l'observabilité du système, l'analyse réseau et l'application de la sécurité. Il s'étend en outre au débogage au niveau matériel pour les GPU et les pilotes, ainsi qu'à la manipulation système de bas niveau et à la gestion des ressources.
Creates sparse memory regions shared between kernel and userspace to avoid expensive system calls.
Ce projet est un pilote de caméra système macOS et un plugin logiciel qui expose les flux vidéo logiciels en tant qu'entrées caméra reconnues par le matériel. Il fonctionne comme un plugin de caméra virtuelle OBS, permettant d'utiliser la sortie en direct d'OBS comme un périphérique webcam dans d'autres applications. L'outil permet le routage de la vidéo composée depuis une suite de production vers des applications de visioconférence telles que Zoom ou Google Meet. Cela permet de diffuser des scènes traitées au lieu d'un flux webcam brut. Le système s'intègre à macOS en utilisant un pilote de périphérique au niveau du noyau et des transferts de mémoire partagée pour déplacer les trames vidéo du processus de l'application vers le système d'exploitation. Il utilise le framework CoreMedia pour gérer la synchronisation des flux vidéo et les métadonnées.
Uses a high-speed shared memory region to transfer raw video frames between user-space and the kernel driver.
liburing is a C library that provides a low-level wrapper for the Linux kernel io_uring interface. It serves as a programming interface for executing non-blocking disk and network operations and abstracts the system calls required to communicate with the Linux kernel. The library focuses on reducing system call overhead and context switching for high-throughput data processing. It implements mechanisms for shared ring buffers, zero-copy buffer registration, and fixed-file descriptor mapping to minimize internal lookup and reference counting overhead. The project covers asynchronous input and
Implements shared memory regions between user space and kernel space to exchange IO requests and completions without copying.