Skip to content

Kernel Objects

Berkus Decker edited this page Jul 2, 2017 · 3 revisions

Kernel object types

Kernel makes use of the following primitive types:

  • Capability Nodes
  • Thread Control Blocks
  • Low-level interrupt support: IRQControl, IRQHandlers
  • Protection domain: Space
  • Raw memory: Untyped

Capability nodes

Containers for capabilities with a way to quickly search them.

Thread control blocks

While Vesper does not dictate any policies about thread control, it provides mechanisms for manipulating thread state if you are given a corresponding capability.

Interrupt support

System support for interrupts includes enabling/disabling appropriate interrupt lines and access to capabilities that will be called when interrupts arrive.

Protection domains

Includes manipulation of default memory access rights and capabilities for accessing this memory from the outside.

Raw memory

Raw memory includes capabilities for access to untyped memory blobs and capabilities to retype this memory into different kernel or user memory objects.

Clone this wiki locally