/TerraOS

Experimental 64 bit operating system

Primary LanguageCMIT LicenseMIT

TerraOS

Experimental 64 bit operating system.

Printf is used from https://github.com/mpaland/printf. Based on these great osdev tutorials: https://os.phil-opp.com/first-edition/ (first edition is less dependent on Rust)

Goals Completed:

  • Long mode
  • Higher half kernel
  • Physical Memory Management
  • Virtual Memory Management
  • Kernel Heap
  • Kernel sbrk
  • Interrupts
  • Spinlocks for thread-safety
  • PIC
  • Timer support
  • Keyboard support (not thread safe)
  • Threading

Not completed:

  • Queue-mutexes for thread-safety (get rid of spinlocks everywhere except scheduler)
  • Filesystem
  • Userspace
  • Elf parsing/loading/executing
  • Newlib port for userspace