Skip to content

Fabus1184/SoOS

Repository files navigation

SoOS.iso

SoOS

x86_64 operating system written in Rust

The kernel is written in Rust, small parts in assembly. Userspace library & applications written in Zig.
Booting with Limine.

'inspirational' screenshots

image

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
  • Basic Preemptive multitasking & Process management
  • Basic Virtual File System

Work in progress

  • Fix bugs & undefined behaviors that I'm sure are lurking somewhere
  • IRQ workers, stop disabling interrupts for long periods

Userland

  • Shell
  • init process
  • Implement libc
  • Dynamic linking

Hardware

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

Meta

  • Revise structure / modules
  • Real logging
  • CI
  • More careful / isolated use of unsafe
  • real cross-compilation

About

x86 operating system from scratch in Rust

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •