Skip to content

Latest commit

 

History

History
143 lines (126 loc) · 3.2 KB

File metadata and controls

143 lines (126 loc) · 3.2 KB

Development Roadmap

  • Use Tree data structure in vfs_cache
  • Implement Sleep queue
  • Implement Wait queue

// TODO: Update TODO.md

Architecture

Features x86_64 i686 aarch64
Startup yes no no
Debug yes yes no
Multiboot yes1 yes1 no
CPU yes yes no
Paging yes2 yes2 no
Interrupts yes no no
Tasking yes no no
Timer yes yes no
Fork no no no
Random no3 no3 no
ACPI yes yes no
Multiprocessing yes no no
Syscalls yes4 no no
Reboot yes yes no
Power off no no no
APIC yes yes
I/O APIC yes yes
HPET yes yes
APIC TIMER yes yes
TSC yes yes
SYSCALL/SYSRET yes no
RDRAND no no

Kernel

  • Physical Memory Manager
  • Kernel Heap
  • ELF Debugging
  • Scheduler
  • I/O Scheduler
  • Spinlocks
  • Semaphores
  • Unix Pipe
  • Symmetric Multiprocessing
  • Virtual File System
  • Network Stack (lwIP)
  • User API
  • Wait Queue
  • Signal Handling
  • Module Loading
  • ELF Loading
  • Fstab
  • Unix Permissions
  • Futex

Filesystems

  • RootFS
  • BindFS
  • TmpFS
  • DevFS
  • ProcFS
  • Iso9660 (CDFS)
  • Ext2 (Read-only)
  • exFAT

Drivers

  • Device Interface
  • Char Devices
  • Block Devices
  • Network Devices
  • PTY Devices
  • Framebuffer Video
  • Full Video Interface
  • Virtio PCI
  • Virtio Queues
  • Virtio GPU
  • Virtio Block
  • Virtio Network
  • Virtio Crypto
  • Virtio Console
  • Bochs VGA Controller
  • VMWare VGA Controller

Platform (PC)

  • PCI
  • PCI INTx
  • PCI MSI
  • PCI MSIX
  • AHCI Controller (SATA)
  • IDE Controller (PATA)
  • AC97 Audio Adapter
  • Intel HD Audio Adapter
  • Serial Port UARTx
  • PS/2 Keyboard/Mouse
  • USB Support
  • Intel E1000 Network Adapter
  • PCNET Network Adapter
  • Realter RTL8139 Network Adapter

Userspace

  • Init
  • Coreutils
  • Mininmal Shell
  • NTP Time Daemon
  • I/O Sync Daemon
  • HTTP Server
  • Graphics UI Server
  • Graphics UI Toolkit
  • Package Manager

Porting

  • Bash
  • Java Virtual Machine (avm)
  • Python
  • Lua
  • LibZ
  • LibPNG
  • LibJPEG
  • LibWEBP
  • LibFreetype2
  • NCurses
  • MesaGL
  • Pixman
  • Cairo
  • SDL2
  • Binutils
  • Gcc

Footnotes

  1. Multiboot 2.0 Specification
    2

  2. On-demand paging provided
    2

  3. RDRAND support
    2

  4. Interrupt and SYSCALL/SYSRET