3 Repos
Assignments that modify an operating system kernel to add threading, scheduling, and memory protection features.
Distinct from Kernel Development: Distinct from Kernel Development: focuses on educational assignments, not production kernel building.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Educational Kernel Projects. Refine with filters or upvote what's useful.
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
Contains kernel development projects that add threading, scheduling, and memory protection to a simulated OS.
Dieses Projekt ist ein Bildungs-Framework und Toolkit, das für die Entwicklung und das Testen von Betriebssystem-Kerneln konzipiert ist. Es bietet eine strukturierte Umgebung für die Implementierung grundlegender System-Primitive, einschließlich virtueller Speicherverwaltung, präemptiver Prozessplanung und Dateisystemorganisation, unter Verwendung von Rust und C. Das Framework ist speziell auf RISC-V- und x86-Architekturen ausgerichtet und dient als Labor für das Erlernen der Entwicklung von Kernsystemsoftware von Grund auf. Das Projekt zeichnet sich dadurch aus, dass es sowohl Bare-Metal-Deployment als auch Hardware-Emulation unterstützt, was es Entwicklern ermöglicht, die Kernel-Logik auf physischer Hardware oder in simulierten Umgebungen zu validieren. Es enthält eine umfassende Build-Toolchain, die architekturübergreifende Kompilierung und Firmware-Initialisierung handhabt und sicherstellt, dass der Kernel korrekt gebootstrappt und auf verschiedenen Zielplattformen ausgeführt werden kann. Das System deckt ein breites Spektrum an Low-Level-Funktionen ab, einschließlich Hardware-Abstraktionsschichten, die die Systemlogik von spezifischen Prozessordesigns entkoppeln, und System-Call-Schnittstellen, die die Grenze zwischen User-Space-Anwendungen und Kernel-Services verwalten. Es integriert zudem Observability-Funktionen wie Runtime-Logging und Ausführungsüberwachung, um die Analyse des Systemverhaltens während der Entwicklung zu unterstützen.
Offers a collection of laboratory exercises for implementing core operating system primitives like process scheduling and memory management.
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
Serves as an educational project demonstrating the implementation of threading, scheduling, and memory protection.