awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

13 dépôts

Awesome GitHub RepositoriesKernel Execution Context Layering

Stages work across interrupt, softirq, workqueue, and kernel thread contexts, each with distinct constraints on sleeping, blocking, and memory access.

Distinguishing note: No candidate covers the specific kernel execution context layering (interrupt, softirq, workqueue, kernel thread) with distinct constraints.

Explore 13 awesome GitHub repositories matching operating systems & systems programming · Kernel Execution Context Layering. Refine with filters or upvote what's useful.

Awesome Kernel Execution Context Layering GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • sysprog21/lkmpgAvatar de sysprog21

    sysprog21/lkmpg

    8,511Voir sur GitHub↗

    The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It

    Covers scheduling deferred work from interrupt handlers using workqueues and threaded handlers.

    TeXbookscdevice-driver
    Voir sur GitHub↗8,511
  • balloonwj/cppguideAvatar de balloonwj

    balloonwj/CppGuide

    6,030Voir sur GitHub↗

    CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom

    Explains how the kernel stages work across interrupt, softirq, workqueue, and kernel thread contexts.

    Voir sur GitHub↗6,030
  • nesbox/tic-80Avatar de nesbox

    nesbox/TIC-80

    5,825Voir sur GitHub↗

    TIC-80 is a fantasy console platform and multi-language game engine that provides a virtual retro game development environment. It operates via a bytecode virtual machine that executes game logic within fixed memory and resolution constraints. The project distinguishes itself by offering integrated asset editors for pixel art, tile maps, and a pattern-based chiptune audio workstation all within a single environment. It supports multi-language scripting, allowing developers to write logic in Lua, JavaScript, or Ruby, and provides a standalone game exporter to package projects into native execu

    Provides a scanline interrupt system for creating retro raster effects and per-scanline palette shifts.

    C8bitfantasy-computerfantasy-console
    Voir sur GitHub↗5,825
  • cri-o/cri-oAvatar de cri-o

    cri-o/cri-o

    5,629Voir sur GitHub↗

    CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th

    Configures how the runtime restores irqbalance settings after dynamic IRQ pinning by high-performance hooks.

    Go
    Voir sur GitHub↗5,629
  • sel4/sel4Avatar de seL4

    seL4/seL4

    5,583Voir sur GitHub↗

    seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b

    Provides capability-based IRQ handler management as a core kernel mechanism for interrupt control.

    Cmicrokernelossel4
    Voir sur GitHub↗5,583
  • stupidloud/nanopi-openwrtAvatar de stupidloud

    stupidloud/nanopi-openwrt

    5,536Voir sur GitHub↗

    Ce projet est un système de build de firmware OpenWrt et un outil de build Linux embarqué conçu pour créer des images de firmware de routeur personnalisées pour le matériel NanoPi. Il fonctionne comme un kit de personnalisation d'OS réseau, fournissant un environnement structuré pour compiler des images de système d'exploitation sur mesure qui intègrent des pilotes, des paquets et des optimisations de noyau spécifiques. Le système se distingue par un réglage matériel et de performance approfondi, incluant le déchargement de flux (flow offloading) au niveau du noyau pour l'accélération du trafic et l'équilibrage d'interruption symétrique multiprocesseur pour éviter les goulots d'étranglement de traitement sur un seul cœur. Il permet une intégration matérielle spécialisée telle que le support d'adaptateur sans fil USB pour les bandes 5G, le contrôle du ventilateur de refroidissement et l'optimisation de la vitesse d'horloge du CPU pour débloquer les limites de fréquence matérielle. Le processus de build couvre un large éventail de capacités, incluant l'intégration de patchs personnalisés, l'expansion automatique de partition et le regroupement de logiciels préinstallés pour les services de réseau domestique. Il prend en charge des fonctions de gestion réseau telles que la configuration DNS, le tunneling VPN, le blocage de publicités et le support de conteneurs pour exécuter des applications sur du matériel embarqué. Le projet utilise des scripts shell pour automatiser la génération d'images de firmware et gérer les mises à jour système.

    Distributes network card interrupt loads across multiple CPU cores to prevent single-core processing bottlenecks.

    Shellnanopiopenwrtr1s
    Voir sur GitHub↗5,536
  • asterinas/asterinasAvatar de asterinas

    asterinas/asterinas

    4,678Voir sur GitHub↗

    Asterinas est un noyau de système d'exploitation sécurisé en mémoire conçu pour prévenir les data races et la corruption mémoire. Il fonctionne comme un noyau compatible Linux-ABI, permettant l'exécution de binaires Linux existants et de charges de travail conteneurisées tout en offrant un modèle de distribution de système d'exploitation déclaratif. Le projet se distingue en agissant comme un hôte de conteneurs pour machines virtuelles et un OS invité pour le confidential computing, lui permettant de s'exécuter au sein d'environnements d'exécution isolés matériellement comme Intel TDX. Il implémente une base de calcul de confiance minimale en isolant les opérations dangereuses de bas niveau et sépare les mécanismes fondamentaux du noyau des implémentations de politiques spécifiques. Le système couvre un large éventail de capacités, incluant la gestion de la mémoire physique et virtuelle, le multi-processing symétrique et l'abstraction matérielle pour diverses architectures CPU. Il inclut également le support pour les runtimes de conteneurs sécurisés, un ensemble complet de primitives réseau et socket, ainsi qu'une toolchain spécialisée pour la compilation et l'émulation du noyau. Le projet prend en charge le déploiement multi-architecture sur les plateformes x86-64, RISC-V 64 et LoongArch 64.

    Coordinates context switches, interrupts, and system calls between the kernel and multiple CPU cores.

    Rustkernelosrust
    Voir sur GitHub↗4,678
  • f5oeo/rpitxAvatar de F5OEO

    F5OEO/rpitx

    4,433Voir sur GitHub↗

    rpitx is a software-defined radio transmitter that runs on a Raspberry Pi, generating radio frequency signals from 5 KHz to 1500 MHz using only a GPIO pin. It functions as an analog and digital modulator, an RF signal generator, a radio protocol emulator, and a signal capture and replay system, all without requiring additional hardware. The project achieves this by combining sample precomputation, direct memory-mapped GPIO toggling, and an interrupt-free timing loop to produce precise carrier frequencies and modulation patterns. It supports a wide range of modulation types including AM, FM, S

    Maintains carrier frequency accuracy by running a tight CPU-bound loop that avoids operating system interrupts and context switches.

    C
    Voir sur GitHub↗4,433
  • eunomia-bpf/bpf-developer-tutorialAvatar de eunomia-bpf

    eunomia-bpf/bpf-developer-tutorial

    4,145Voir sur GitHub↗

    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.

    Measures the timing, distribution, and performance of hardware and software interrupt handlers within the kernel.

    Cbpfebpfexamples
    Voir sur GitHub↗4,145
  • apache/nuttxAvatar de apache

    apache/nuttx

    3,912Voir sur GitHub↗

    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.

    Separates unprivileged user-mode applications from the kernel using architecture-specific software interrupts.

    Cembeddedmcumicrocontroller
    Voir sur GitHub↗3,912
  • hyperdbg/hyperdbgAvatar de HyperDbg

    HyperDbg/HyperDbg

    3,885Voir sur GitHub↗

    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

    Allows isolating debugging operations to a specific process or thread context.

    Cbinary-analysisdebugdebugger
    Voir sur GitHub↗3,885
  • hnes/libacoAvatar de hnes

    hnes/libaco

    3,688Voir sur GitHub↗

    libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric coroutines. It functions as an execution context manager and stack memory allocator, allowing a single process to initialize independent execution units with private stacks and perform manual context switching via yield operations. The library distinguishes itself through its memory management and stability features, utilizing read-only guard pages at stack boundaries to trigger hardware faults upon stack overflow. It supports both private stack allocation and shared stack pooling to r

    Implements the low-level mechanism of swapping CPU execution states between different cooperative tasks.

    Cccoroutinecoroutine-library
    Voir sur GitHub↗3,688
  • nuta/operating-system-in-1000-linesAvatar de nuta

    nuta/operating-system-in-1000-lines

    3,258Voir sur GitHub↗

    This project is an educational operating system kernel designed to demonstrate the fundamental architectural principles of memory paging and process management. It is implemented as a minimal kernel that serves as a practical reference for building a functioning system from the ground up. The implementation features a preemptive multitasking kernel that switches execution contexts between threads to share a single CPU. It includes an x86 virtual memory manager that uses paging to map virtual addresses to physical memory and isolate processes. The system covers low-level hardware interfacing

    Provides the capability to swap execution states between tasks to allow shared CPU access.

    C
    Voir sur GitHub↗3,258
  1. Home
  2. Operating Systems & Systems Programming
  3. Kernel Execution Context Layering

Explorer les sous-tags

  • CPU-Kernel CoordinationDescribes how the kernel and CPU coordinate context switches, interrupts, and system calls for predictable execution. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses on the coordination between CPU and kernel for execution, not the layering of kernel contexts.
  • Constraint Enforcement MechanismsRestricts which operations are allowed based on whether code runs in process, interrupt, or softirq context. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses on the enforcement of constraints per context, not the layering itself.
  • Hardware-Coordinated Synchronization ExplainersDescribes how the kernel coordinates context switches, interrupts, and system calls with CPU-level timing. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses on explaining hardware-coordinated synchronization, not the layering itself.
  • Inter-Context Data ExchangeExchanges data and coordinates execution between system calls, interrupts, and kernel threads using shared memory, locks, and atomic operations. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses on the communication and data exchange between contexts, not the layering itself.
  • Interrupt Handlers7 sous-tagsKernel code that runs as an immediate, asynchronous handler for hardware interrupts, restricted to atomic operations. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses specifically on the interrupt context execution mode, not the full layering of contexts.
  • Process Context Handlers2 sous-tagsKernel code that runs within a user process's task_struct, allowing sleep, blocking, and memory allocation. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses specifically on the process context execution mode, not the full layering of contexts.
  • Work Delegation ChainsPasses tasks from interrupt context through softirqs, work queues, and kernel threads to satisfy each layer's constraints. **Distinct from Kernel Execution Context Layering:** Distinct from Kernel Execution Context Layering: focuses on the delegation chain across contexts, not the contexts themselves.