acadia/zion
Drew Galbraith 2e08eb76ff [zion] Move process.CheckState() to prevent infinite loop on thread exit. 2023-11-19 17:31:01 -08:00
..
boot [Zion] Print less about acpi on boot. 2023-11-15 16:09:36 -08:00
capability [Zion/Glacier] Add a HashMap to store process capabilities. 2023-11-16 22:12:00 -08:00
common [Zion] Access the KernelStackManager through the VMM. 2023-11-15 15:38:25 -08:00
debug [Zion] Move ProcessManager to map as well. 2023-11-16 22:17:11 -08:00
include [Zion] Pass the framebuffer info to yellowstone init process. 2023-11-09 11:20:41 -08:00
interrupt [Denali] Reduce noise on AHCI interrupt. 2023-11-15 16:21:19 -08:00
lib [Zion] Pass data to message queue as IpcMessage obj. 2023-11-03 00:37:53 -07:00
loader [Zion] Pass the framebuffer info to yellowstone init process. 2023-11-09 11:20:41 -08:00
memory [Zion] Add implementation of KernelVmm::FreeKernelStack. 2023-11-19 17:29:09 -08:00
object [zion] Move process.CheckState() to prevent infinite loop on thread exit. 2023-11-19 17:31:01 -08:00
scheduler [Zion] Add a framework for better process exit. 2023-11-16 23:03:27 -08:00
syscall [Zion] Add a framework for better process exit. 2023-11-16 23:03:27 -08:00
usr [Zion] Remove dead ZMessage struct. 2023-11-02 21:57:29 -07:00
CMakeLists.txt [Zion] Introduce the Kernel VMM to centralize allocs. 2023-11-15 15:15:31 -08:00
README.md
TODO.md
linker.ld
zion.cpp [Zion] Remove sleeping messages. 2023-11-15 16:27:09 -08:00

README.md

Zion Microkernel

The Zion Microkernel is a capability based kernel. The types of objects that processes can hold a capability to exist in the object/ directory. The system calls used to interact with them are enumerated in include/zcall.h and are implemented in the syscalls/ directory.

The system uses a barebones ELF loader (loader/init_loader.h) to jump to userspace but from there userspace processes are responsible for loading child processes into memory and executing them.

Open Work

The TODO file enumerates current areas for improvement.