Version 0.3.0
In this and next release, I'm working on improving APIs and internal designs by introducing many breaking changes.
- Reorganized system calls into:
exec,ipc,listen,map,print, andkdebug. - Removed kernel heap for separation of mechanism and policy. Task data structures are now statically allocated in the kernel's
.datasection, and page table structures are now allocated from the userland (throughkpageparameter inmapsystem call). - Started implementing Rust support. Currently, there's only a "Hello World" sample app. I'll add Rust APIs once the C API gets stabilized (hopefully September).
- shell: Add
logcommand to print the kernel log. - Many bug fixes and other improvements.
How to Try
Download the attached iso file and run it on QEMU with the following options. This build runs a web server at localhost:1234.
qemu-system-x86_64 \
-serial mon:stdio -cpu IvyBridge,rdtscp \
-netdev user,id=net0,hostfwd=tcp:127.0.0.1:1234-:80 \
-device e1000,netdev=net0,mac=52:54:00:12:34:56 \
-cdrom resea.iso