Skip to content

Fabus1184/SoOS

Repository files navigation

SoOS

x86_64 operating system written in Rust.

Done

  • booting with limine
  • interrupts / exceptions & IRQs
  • basic framebuffer text output
  • i8253 PIT
  • RTC (CMOS)
  • Paging (4-level)
  • Kernel heap allocation
  • ELF64 binary loader
  • Basic syscall functionality
  • Fancy logging with log

Work in progress

  • Preemptive multitasking & Process management

Roadmap

  • Fix bugs & undefined behaviors that I'm sure are lurking somewhere
  • Stop disabling interrupts at all

Kernel

  • Virtual File System
  • Process Management

Userland

  • init process
  • Shell
  • Implement libc
  • Dynamic linking

Hardware

  • IOAPIC
  • Serial Port
  • Mass Storage Drivers
  • File System Drivers
  • Networking
  • ACPI
  • PCI (discovering devices somewhat working)
  • USB

Meta

  • Revise structure / modules
  • Policy for loglevels
  • CI
  • More careful / isolated use of unsafe
  • GCC real cross-compilation

"inspirational" screenshots

image