
Publications
- “Design and Implementation of Microkernels” - A comprehensive guide that delves into the world of microkernels including real-world microkernels (seL4, MINIX3, and Mach) as well as an educational microkernel-based OS (HinaOS). It covers concepts of operating systems, how microkernels make them happen, and recent intriguing research topics.
- “Operating System in 1,000 Lines” - A beginner's guide to implement context switching, paging, system calls, user mode, virtio-blk driver, file system, and shell in 1,000 lines of C.
Projects
- Starina - An experimental operating system aiming to be a production-ready, general-purpose, and developer-friendly OS with a microkernel architecture.
- Resea - A minimalistic and policy-free microkernel based operating system written from scratch, with TCP/IP, FAT file system, hardware-accelerated hypervisor, and x86_64 / 64-bit ARM support. I began this open source software project to develop a developer-friendly alternative to MINIX and L4.
- Kerla - A monolithic kernel with Linux binary compatibility written from scratch in Rust. I've implemented basic kernel features like fork/execve, signals, mmap, pipe, poll, tty/pty, tmpfs, UDP/TCP sockets, etc.