3 repository-uri
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.
Acest proiect este o colecție de sisteme de operare minimale, bootloadere și drivere hardware utilizate pentru a demonstra programarea de nivel jos x86 și interfațarea hardware. Servește drept toolkit de dezvoltare a kernel-ului și laborator de programare de sistem conceput pentru testarea conceptelor de arhitectură și a comportamentului hardware într-un emulator de sistem. Repository-ul oferă implementări de referință pentru crearea de imagini de disc bootabile și încărcarea etapelor kernel-ului. Include ghiduri pentru implementarea tranzițiilor în modul protejat, paginarea memoriei, tabelele descriptorilor de întrerupere și multiprocesarea simetrică pe hardware x86. Codebase-ul acoperă o gamă largă de primitive de sistem, inclusiv maparea memoriei virtuale, gestionarea întreruperilor hardware și detectarea memoriei fizice. Conține, de asemenea, drivere bare-metal pentru difuzorul PC, tastatura PS/2, porturile seriale și bufferele de text VGA. Proiectul include un toolchain binar brut pentru a compila sursa de asamblare în imagini pentru execuție hardware directă și suportă testarea prin emulare hardware și debugging la distanță.
Defines memory addresses and section alignments to ensure the hardware loads the kernel at the correct location.