Skip to content

Latest commit

 

History

History
14 lines (10 loc) · 915 Bytes

README.md

File metadata and controls

14 lines (10 loc) · 915 Bytes

The kernel for Perception. It is written in C++ and intended to be booted with a multiboot bootloader that supports modules, such as GRUB 2.

Being a microkernel, it is intended to stay very small and generic.

The features of the kernel are:

  • It runs in x86-64 long mode.
  • Process management and virtual memory isolation.
  • Thread management and scheduling.
  • Dispatching interrupts and gatekeeping IO.
  • Events and RPCs between processes.
  • Loads ELF multiboot modules (after initializion, the kernel expects all other programs to be loaded by a userland loader.)

The kernel could be used independently from the rest of the operating system (for example, bundling the kernel with a completely different set of services and programs to make a different operating system, or if you wanted to deploy some code near-bear metal with threading support.)