Crate captain

source ·
Expand description

The main initialization routine and setup logic of the OS.

The captain steers the ship of Theseus, meaning that it contains basic logic for initializing all of the other crates in the proper order and with the proper flow of data between them.

Currently, this is the default captain in Theseus, which does the following:

  • Initializes ACPI and APIC to discover multicore and other hardware configuration,
  • Sets up interrupt and exception handlers,
  • Sets up basic device drivers,
  • Spawns event handling threads,
  • Initializes the window manager and graphics subsystem,
  • etc.

At the end, the captain must enable interrupts to allow the system to schedule other Tasks. It then falls into an idle loop that does nothing, and should never be scheduled in.

Functions

Initialize the Captain, which is the main module that steers the ship of Theseus.