acadia/zion
Drew Galbraith 4c04f9d561 [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
..
boot [zion] Move all APIC functions into a global class. 2023-08-01 22:38:40 -07:00
capability [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
common [zion] Use a separate stack for PF and GP faults in the kernel. 2023-08-01 23:11:12 -07:00
debug
include [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
interrupt [Yellowstone] Move to yunq definition for yellowstone server. 2023-10-24 18:24:26 -07:00
lib [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
loader [zion] Move to default permissions being supplied by KernelObjects 2023-08-01 18:22:41 -07:00
memory [Yellowstone] Move to yunq definition for yellowstone server. 2023-10-24 18:24:26 -07:00
object [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
scheduler [zion] Don't dump process states on sleep 2023-08-01 10:42:53 -07:00
syscall [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
usr
CMakeLists.txt [Zion] Add a mutex object with appropriate syscalls. 2023-10-25 14:47:45 -07:00
README.md Update READMEs and TODOs 2023-10-24 22:56:45 -07:00
TODO.md [Yellowstone] Move registration service to the main yellowstone service 2023-10-24 23:42:49 -07:00
linker.ld
zion.cpp [zion] Add a basic slab allocator to the kernel. 2023-08-02 00:54:39 -07: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.