11 Repos
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 11 awesome GitHub repositories matching operating systems & systems programming · Kernel Execution Context Layering. Refine with filters or upvote what's useful.
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.
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.
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.
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.
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.
Dieses Projekt ist ein OpenWrt-Firmware-Build-System und ein Embedded-Linux-Build-Tool, das darauf ausgelegt ist, angepasste Router-Firmware-Images für NanoPi-Hardware zu erstellen. Es fungiert als Anpassungs-Kit für Netzwerk-Betriebssysteme und bietet eine strukturierte Umgebung für das Kompilieren maßgeschneiderter Betriebssystem-Images, die spezifische Treiber, Pakete und Kernel-Optimierungen integrieren. Das System zeichnet sich durch tiefgreifendes Hardware- und Performance-Tuning aus, einschließlich Kernel-Space-Flow-Offloading zur Traffic-Beschleunigung und symmetrischem Multiprocessing-Interrupt-Balancing, um Single-Core-Verarbeitungsengpässe zu vermeiden. Es ermöglicht spezialisierte Hardware-Integration wie USB-WLAN-Adapter-Unterstützung für 5G-Bänder, Lüftersteuerung und CPU-Taktoptimierung, um Hardware-Frequenzlimits aufzuheben. Der Build-Prozess deckt ein breites Spektrum an Funktionen ab, einschließlich benutzerdefinierter Patch-Integration, automatisierter Partitions-Erweiterung und dem Bündeln vorinstallierter Software für Heimnetzwerkdienste. Es unterstützt Netzwerkmanagement-Funktionen wie DNS-Konfiguration, VPN-Tunneling, Werbeblockierung und Container-Unterstützung für die Ausführung von Anwendungen auf Embedded-Hardware. Das Projekt verwendet Shell-Skripte, um die Generierung von Firmware-Images zu automatisieren und System-Updates zu verwalten.
Distributes network card interrupt loads across multiple CPU cores to prevent single-core processing bottlenecks.
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Coordinates context switches, interrupts, and system calls between the kernel and multiple CPU cores.
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.
Dieses Projekt ist eine Bildungsressource, die ein umfassendes Entwicklungs-Tutorial zum Schreiben und Laden von eBPF-Programmen unter Verwendung von C, Go und Rust innerhalb des Linux-Kernels bietet. Es dient als technischer Leitfaden für die Entwicklung benutzerdefinierter Logik zur direkten Ausführung im Kernel. Die Materialien decken spezialisierte Bereiche ab, einschließlich Kernel-Observability und Tracing, Sicherheitsimplementierung für Intrusion-Detection und High-Performance-Network-Engineering für Paketfilterung und Load Balancing. Es enthält zudem dedizierte Handbücher für Linux-Kernel-Tracing und die Verwendung von kprobes, uprobes und tracepoints. Das Projekt umfasst ein breites Spektrum an Funktionsbereichen, wie Kernel-Instrumentierung, Systemüberwachung und Observability, Netzwerkanalyse und Sicherheitsdurchsetzung. Es erstreckt sich zudem auf Hardware-Level-Debugging für GPUs und Treiber sowie auf Low-Level-Systemmanipulation und Ressourcenmanagement.
Measures the timing, distribution, and performance of hardware and software interrupt handlers within the kernel.
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.
Separates unprivileged user-mode applications from the kernel using architecture-specific software interrupts.
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.