- Use Tree data structure in vfs_cache
- Implement Sleep queue
- Implement Wait queue
// TODO: Update TODO.md
| 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 |
- 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
- RootFS
- BindFS
- TmpFS
- DevFS
- ProcFS
- Iso9660 (CDFS)
- Ext2 (Read-only)
- exFAT
- 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
- 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
- Init
- Coreutils
- Mininmal Shell
- NTP Time Daemon
- I/O Sync Daemon
- HTTP Server
- Graphics UI Server
- Graphics UI Toolkit
- Package Manager
- Bash
- Java Virtual Machine (avm)
- Python
- Lua
- LibZ
- LibPNG
- LibJPEG
- LibWEBP
- LibFreetype2
- NCurses
- MesaGL
- Pixman
- Cairo
- SDL2
- Binutils
- Gcc