6 个仓库
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.
这是一个教育框架和工具包,专为开发和测试操作系统内核而设计。它提供了一个结构化的环境,用于使用 Rust 和 C 实现基础系统原语,包括虚拟内存管理、抢占式进程调度和文件系统组织。该框架专门面向 RISC-V 和 x86 架构,作为学习如何从零开始构建核心系统软件的实验室。 该项目的独特之处在于同时支持裸机部署和硬件仿真,允许开发者在物理硬件或模拟环境中验证内核逻辑。它包含一个全面的构建工具链,可处理跨架构编译和固件初始化,确保内核能够跨不同目标平台正确引导和执行。 该系统涵盖了广泛的底层功能,包括将系统逻辑与特定处理器设计解耦的硬件抽象层,以及管理用户空间应用与内核服务之间边界的系统调用接口。它还结合了运行时日志记录和执行监控等可观测性功能,以协助在开发过程中分析系统行为。
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.