You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Markix is a modular educational operating system designed to demonstrate the internal mechanisms of an OS — from the bootloader to protected mode, interrupt handling, memory management, and process scheduling.
Developed by Marco Paviotti, Markix is inspired by MINIX and Tanenbaum’s educational approach, focusing on clarity and completeness rather than performance.
It is written entirely in C and x86 assembly and is designed to run on Bochs or QEMU emulators.
🧩 Project Overview
Markix is built in incremental stages. Each milestone corresponds to a Git tag, and improvements to that module are developed on dedicated branches.
Tag
Component
Description
Bootloader
Bootloader
Initializes the CPU in real mode, loads the kernel, and switches to protected mode
Interrupts
Interrupt System
Implements the 8259 PIC, IDT setup, and interrupt service routines (ISRs)
Keyboard
PS/2 Driver
Handles keyboard input and interrupt handling
Scheduler
Process Scheduler
Round-robin scheduling and context switching
Paging
Memory Management
GDT, paging tables, and memory protection setup
FilesystemGRUB
File System
Basic FAT filesystem and GRUB integration
Each of these tags represents a development phase; refinements are maintained in associated branches.