3 Repos
Definitions of memory addresses and sections for kernel code and data.
Distinct from Virtual Memory Layouts: None of the candidates address the static definition of kernel code/data sections for loading; they focus on runtime layout or VM simulation.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Kernel Memory Layouts. 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
Defines the static memory addresses and sections for kernel code and data during system initialization.
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 structures memory into distinct regions for code, data, devices, and per-CPU variables.
Dieses Projekt ist eine Sammlung minimaler Betriebssysteme, Bootloader und Hardware-Treiber, die verwendet werden, um systemnahe x86-Programmierung und Hardware-Interfacing zu demonstrieren. Es dient als Kernel-Entwicklungs-Toolkit und Labor für Systemprogrammierung, das darauf ausgelegt ist, Architekturkonzepte und Hardwareverhalten innerhalb eines Systememulators zu testen. Das Repository bietet Referenzimplementierungen für die Erstellung bootfähiger Disk-Images und das Laden von Kernel-Stufen. Es enthält Anleitungen zur Implementierung von Protected-Mode-Übergängen, Memory-Paging, Interrupt Descriptor Tables und symmetrischem Multiprocessing auf x86-Hardware. Die Codebasis deckt ein breites Spektrum an Systemprimitiven ab, einschließlich virtuellem Memory-Mapping, Hardware-Interrupt-Handling und physischer Speichererkennung. Sie enthält zudem Bare-Metal-Treiber für den PC-Speaker, PS/2-Tastaturen, serielle Schnittstellen und VGA-Textpuffer. Das Projekt enthält eine Raw-Binary-Toolchain, um Assembly-Quellcode in Images für die direkte Hardware-Ausführung zu kompilieren, und unterstützt das Testen mittels Hardware-Emulation und Remote-Debugging.
Defines memory addresses and section alignments to ensure the hardware loads the kernel at the correct location.