PREVIOUS

Major microkernel features

The KeyKOS microkernel is small, runs in privileged state, is unswapped, and runs with address translation off.

A total computing system consists of multiple levels of abstraction, including the hardware, the operating system, the file system, the database management system, etc. The function provided at each level must be carefully selected and implemented or else higher levels may be subject to penalties in performance and/or complexity of design. The KeyKOS microkernel itself does not provide all of the functionality conventionally associated with an operating system; rather it provides a set of primitives which allow such (guest operating system) functions to be implemented by problem mode programs in domains. These KeyKOS machine primitives are much easier and more productive to use than the functions of the hardware alone.

The microkernel interprets keys. No other program has direct access to the bits that represent keys (except Keybits, q.v.). Code defining several types of primitive objects is in the microkernel. These primitive objects are tools sufficient to build higher-level objects. The microkernel provides -

KeyKOS takes system-wide checkpoints every few minutes to protect from power failures, most microkernel bugs, and detected hardware errors. All data and processes are checkpointed. The KeyKOS microkernel keeps no internal state about the data and processes which cannot be re-constructed from the checkpoint information. After an Initial Domain Load [7], subsequent IPLing restarts the machine from a checkpoint. The microkernel also provides primitives to support concurrent checkpoints to magnetic tape which comprise a snapshot of the entire system.

NEXT