Skip to content

Latest commit

 

History

History
110 lines (82 loc) · 2.3 KB

File metadata and controls

110 lines (82 loc) · 2.3 KB

[OS Codename] roadmap

The current status and the future of this OS. A build (.iso file) will be released every time a Milestone is completed. The various milestones might be updated over the course of time.

3rd Milestone

  • GUI
    • lots of sketches and ideas

2nd Milestone

  • More filesystem stuff

    • ISO9660
  • Hard drive setup:

    • FAT32 (boot partition)
    • EXTx (system partition)
  • Syscalls

  • ELF loading

  • OS-specific toolchain

  • UNIX/POSIX compatibility layer (if someone wants to port coreutils, bash, whatever)

  • Basic shell

    • Configuration System (registry)
    • Enviroment Variables
    • Input and Ouput syscalls
  • Video modes

    • Set better screen resolutions other than limine's default
    • Some kind of graphics API
    • Oh yeah, DOOM because we have to :3

1st Milestone

  • Bare bones (Limine and 64-bit kernel)

  • printf implementation (+ E9 port "debugging")

  • GDT

  • Interrupt handling (IDT, ISRs, IRQs)

  • PIC support

  • PIT Driver

    • Initialization
    • PIT-supported sleep
  • LAPIC/IOAPIC Initialization

    • IRQ redirection to I/O APIC
    • Interrupts work
    • LAPIC timer init
  • ACPI

    • uACPI implementation
      • ACPI tables parsing
      • the cool SSDT stuff
    • Get RSDP/RSDT
    • MADT (LAPIC initialization)
    • HPET
    • MCFG (PCIe devices parsing)
  • Memory

    • Get memory map
    • Memory management
      • PMM
        • Allocating/freeing page frames
      • VMM
        • Paging
        • Actual VMM stuff (allocating, freeing virtual memory regions)
      • Kernel heap (kmalloc, kfree)
  • Driver interface (this thing took a long time)

  • PCI/PCIe support

    • PCI(e) devices parsing
    • API for drivers
  • AHCI driver (we can then read from the disk 🔥)

  • File systems

    • USTAR CPIO
      • Initial initrd creation
      • File lookup
    • RAMFS
      • Base structures
      • File I/O (open, read, ...)
    • Virtual File System
      • (Re)Design
      • Initialization
      • File I/O (open, read)
    • DevFS
      • (Re)Design
      • (Re)Implementation
    • ProcFS
      • Design
      • Implementation
  • Scheduler

    • with threads and stuff
  • SMP

  • Jump to userspace