6 repository-uri
The core kernel data structures and logic for managing process creation, scheduling, and hardware interaction.
Distinct from Kernel-Mode Interception Mechanisms: Candidates are either too specific (interception mechanisms) or unrelated (Gaussian kernels).
Explore 6 awesome GitHub repositories matching operating systems & systems programming · Kernel Process Internals. Refine with filters or upvote what's useful.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Implements core kernel mechanisms for process creation, scheduling, and memory management.
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 the distinction between kernel threads and user processes, a key operating system concept.
This is a collection of academic programming projects that accompany an operating systems textbook, designed to teach core OS concepts through hands-on implementation. The projects span the major subsystems of an operating system, including process scheduling, memory management, file systems, and concurrency, with students building components from scratch in a simulated environment. The projects are structured to cover the full range of OS internals, from low-level kernel development to user-space system programming. Students implement lottery-based CPU schedulers, dynamic heap memory allocat
Includes a kernel thread implementation project that adds multi-threading support to a simulated OS.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
Implements persistent thread-block patterns for dynamic work distribution across GPU thread blocks.
Acest proiect este un framework educațional și un set de instrumente conceput pentru dezvoltarea și testarea kernel-urilor de sistem de operare. Oferă un mediu structurat pentru implementarea primitivelor fundamentale de sistem, inclusiv gestionarea memoriei virtuale, programarea preemptivă a proceselor și organizarea sistemului de fișiere, folosind Rust și C. Framework-ul este orientat în mod specific către arhitecturile RISC-V și x86, servind drept laborator pentru învățarea modului de construire a software-ului de bază al sistemului de la zero. Proiectul se distinge prin suportul atât pentru implementarea pe bare-metal, cât și pentru emularea hardware, permițând dezvoltatorilor să valideze logica kernel-ului pe hardware fizic sau în medii simulate. Include un toolchain complet de build care gestionează compilarea cross-arhitectură și inițializarea firmware-ului, asigurând că kernel-ul poate fi corect bootstrapat și executat pe diferite platforme țintă. Sistemul acoperă o gamă largă de capabilități de nivel scăzut, inclusiv straturi de abstractizare hardware care decuplează logica sistemului de design-urile specifice ale procesoarelor și interfețe de apeluri de sistem care gestionează limita dintre aplicațiile user-space și serviciile kernel-ului. De asemenea, încorporează funcții de observabilitate, cum ar fi logarea la runtime și monitorizarea execuției, pentru a asista la analiza comportamentului sistemului în timpul dezvoltării.
Manages process lifecycles, thread support, and preemptive scheduling within the kernel.
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
Implements a multitasking system with kernel threads for educational demonstration of process switching.