3 repository-uri
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.
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.
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.