-
Notifications
You must be signed in to change notification settings - Fork 69
Home
Enrico Fraccaroli edited this page Jan 28, 2026
·
8 revisions
MentOS (Mentoring Operating System) is an open-source educational operating system designed to provide a realistic yet understandable environment for learning OS development.
- Getting Started - Set up your development environment
- Building MentOS - Compile and build the OS
- Running MentOS - Launch MentOS in QEMU or GRUB
- Architecture - Understand the project structure
- Development Guide - Add programs and features
- Bootloader - First code executed, loads the kernel
- Kernel - Core OS functionality (processes, memory, drivers)
- C Library - Standard library and system call wrappers
- Userspace Programs - User applications and utilities
- Debugging - GDB debugging and kernel logging
- Scheduling - CPU scheduling algorithms
- System Calls - Adding and using system calls
- File Systems - EXT2 and VFS implementation
- IPC - Inter-process communication mechanisms
MentOS is an educational operating system that aims to:
- Follow Linux guidelines - Uses similar data structures and algorithms as Linux
- Be beginner-friendly - Well-documented, simple enough to understand
- Provide realistic experience - Real OS features (processes, filesystems, drivers)
- Enable hands-on learning - Students can modify and extend it
There are many educational operating systems, but MentOS stands out by:
- Following Linux's design patterns and structures
- Providing comprehensive documentation
- Supporting multiple scheduling algorithms
- Including a full C library and userspace programs
- Compiling quickly on modern laptops (seconds!)
Parts of MentOS are inherited or inspired by DreamOS by Ivan Gualandri.
New to OS development? Follow this path:
- Start with Getting Started to set up your environment
- Read Architecture to understand the project structure
- Follow Building MentOS to compile your first build
- Try Running MentOS to boot the OS
- Explore Development Guide to make your first change
Want to dive deep? Check out:
- Kernel - Understand kernel internals
- Memory Management - Paging, buddy system, slab allocation
- Process Management - Scheduler and process structures
- File Systems - VFS and EXT2 implementation
Interested in contributing? See the Contributing guide for:
- Code style guidelines
- Git workflow
- Testing procedures
- Documentation standards
See Features for a complete list of implemented and planned features.
Having issues? Check:
- Debugging - Common debugging techniques
- FAQ - Frequently asked questions
- GitHub Issues - Report bugs
- GitHub: mentos-team/MentOS
- Issues: Report bugs or request features
Happy hacking! 🎉