acadia/zion
Drew Galbraith d1ace374b6 [Zion] Return freed kernel stacks to pool. 2023-11-24 16:04:40 -08:00
..
boot [Zion] Print less about acpi on boot. 2023-11-15 16:09:36 -08:00
capability [Zion] Add the ability to delete a capability. 2023-11-19 17:53:56 -08:00
common [Zion] Add a max depth to stack unwinds. 2023-11-24 15:04:19 -08:00
debug [Mammoth] Move all callers of FromCapability to OwnedMemoryObject. 2023-11-19 20:33:15 -08:00
include [Zion] Add an argument to memory align a mapping. 2023-11-23 18:52:28 -08:00
interrupt [Zion] Add a way to unwind the stack and recover from user-space faults. 2023-11-22 18:25:08 -08:00
lib [Zion] Actually free memory pages when a MemoryObject goes out of scope 2023-11-19 21:37:30 -08:00
loader [Zion] Separate Memory "Views" to a separate MemoryObject. 2023-11-19 23:22:56 -08:00
memory [Zion] Return freed kernel stacks to pool. 2023-11-24 16:04:40 -08:00
object [Zion] Move existing proc/thread cleanup calls to the cleanup thread. 2023-11-24 15:40:44 -08:00
scheduler [Zion] Move existing proc/thread cleanup calls to the cleanup thread. 2023-11-24 15:40:44 -08:00
syscall [Zion] Move existing proc/thread cleanup calls to the cleanup thread. 2023-11-24 15:40:44 -08:00
usr [Zion] Remove dead ZMessage struct. 2023-11-02 21:57:29 -07:00
CMakeLists.txt [Zion] Add a proc/thread cleanup thread for future use. 2023-11-24 15:04:03 -08:00
README.md Update READMEs and TODOs 2023-10-24 22:56:45 -07:00
TODO.md Update TODOs to reflect completed tasks. 2023-11-22 11:00:21 -08:00
linker.ld Barebones Kernel Commit 2023-05-17 20:20:53 -07:00
zion.cpp [Zion] Add a proc/thread cleanup thread for future use. 2023-11-24 15:04:03 -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.