Current Development Progress
Main subsystems and components
| Feature | Status | Docs |
|---|---|---|
| x86-64 Support | Most recent | |
| Memory management | Most recent | Outdated |
| SMP | Almost done | |
| Device management | Almost done | Need updates |
| Device's I/O | Done | Most recent |
| Interrupt handling | Almost done | Need updates |
| Device classes subsystem | Almost done | Need updates |
| Virtual file system | *In progress | TODO |
| Time subsystem | Almost done | TODO |
| Scheduler | *In progress | TODO |
| Processes and threads | *In progress | TODO |
| Userspace | *In progress | TODO |
| Linux compatibility | *In progress | TODO |
| Windows compatibility | Planned | TODO |
| Logging subsystem | Most recent | Most recent |
Hardware drivers
| Driver | Status | Docs |
|---|---|---|
| PCI/PCI-E | Almost done | |
| NVMe | Almost done | |
| UART (8250) | Done | |
| AHCI | Planned | |
| USB (XHCI) | Planned | |
| PS/2 Keyboard | Done |
Software drivers
| Driver | Status | Docs |
|---|---|---|
| ext2 | *In progress | |
| tmpfs | *In progress | |
| initramfs | *In progress | |
| ext4 | Planned | |
| devfs | *In progress | |
| procfs | Planned | |
| sysfs | Planned | |
| NTFS | Planned | |
| FAT32 | Planned | |
| /dev/tty | *In progress | |
| /dev/console | *In progress |
Progress on ABI
GNU/Linux
| Syscall | Details |
|---|---|
arch_prctl | not complete |
bkr | |
clock_gettime | |
fstat | |
fstatat64 | |
get_robust_list | |
getcwd | |
getegid | not complete |
geteuid | not complete |
getgid | |
getpid | |
getppid | |
getrandom | not really complete, currently uses pseudo-random algorithm to generate numbers |
gettid | thread id is not implemented yet |
getuid | |
ioctl | |
mmap | |
mprotect | |
open | |
pread64 | |
preadv | |
prlimit64 | |
pwrite64 | |
pwritev | |
read | |
readv | |
rseq | only set a pointer, the sequence itself not handled yet |
set_robust_list | only set an array pointer, futex is not implemented |
set_tid_address | |
stat | |
time | |
uname | |
write | |
writev |