Skip to content

matcool/mat-os

Repository files navigation

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

About

MAT os - a hobby x86_64 operating system

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published