3 repositorios
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.
Este proyecto es un framework educativo y kit de herramientas diseñado para desarrollar y probar kernels de sistemas operativos. Proporciona un entorno estructurado para implementar primitivas fundamentales del sistema, incluyendo gestión de memoria virtual, programación de procesos preventiva y organización de sistemas de archivos, utilizando Rust y C. El framework está orientado específicamente a arquitecturas RISC-V y x86, sirviendo como laboratorio para aprender a construir software de sistema central desde cero. El proyecto se distingue por admitir tanto el despliegue bare-metal como la emulación de hardware, permitiendo a los desarrolladores validar la lógica del kernel en hardware físico o dentro de entornos simulados. Incluye una cadena de herramientas de compilación completa que maneja la compilación entre arquitecturas y la inicialización del firmware, asegurando que el kernel pueda ser correctamente arrancado y ejecutado en diferentes plataformas objetivo. El sistema cubre una amplia gama de capacidades de bajo nivel, incluyendo capas de abstracción de hardware que desacoplan la lógica del sistema de diseños de procesadores específicos e interfaces de llamadas al sistema que gestionan el límite entre las aplicaciones de espacio de usuario y los servicios del kernel. También incorpora características de observabilidad, como registro en tiempo de ejecución y monitoreo de ejecución, para ayudar en el análisis del comportamiento del sistema durante el desarrollo.
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.