GitHunt
MA

matcool/mat-os

MAT os - a hobby x86_64 operating system

mat-os

its mat-os again. this time using limine on x86_64 because it does most of the boring work

image
screenshot of the system as of b8c5541

Build

To build the project the following packages are required, along with either gcc or clang

git make cmake xorriso

Then run the following

./setup.sh
cmake -B build
cmake --build build

Goals

  • Use C++20 modules doesn't work with clangd :(
  • Use CMake
  • Serial output
  • Working IDT
  • Physical page allocator (very inefficient)
    • A better Physical page allocator
  • Paging (though basic)
  • Virtual page allocator (bump allocator, can't free)
    • A better virtual page allocator
  • PS/2 keyboard input
    • Some way to get key events out of the interrupt
  • Working timer (PIT)
    • Events? Scheduling?
  • Working screen
  • Basic on screen "terminal"
    • Proper terminal interface with commands and such
  • Drawing to the screen
  • Kernel heap allocator
  • Begin windowing system
    • Fix that paint trail bug
    • Proper GUI system
  • PS/2 mouse input
  • Threads
  • Processes
  • A basic in-memory filesystem
  • Begin user-space

Apps

  • Use ELF for apps?
  • A simple text editor
  • File explorer app

Misc

  • QOI image support

Languages

C++97.5%CMake1.5%Shell1.0%

Contributors

Created December 11, 2021
Updated July 23, 2025
matcool/mat-os | GitHunt