ChorusOS 4.0 Porting Guide

Initializing the ChorusOS Kernel and OS

ChorusOS boots from the system image. The system image contains binary executable files of the bootstrap program, debug agent, microkernel, drivers, OS servers and possibly applications. It can also contain a set of data files such as networking configuration files.

System image files are organized in one or more memory banks. Each memory bank can be formatted as a file system volume (for example, FAT12) and exported through the microkernel API as a memory device. Thus a system image file can be viewed as a file in a file system volume on a memory device.

The ChorusOS operating system is initialized in two stages:

  1. Kernel initialization

  2. OS service initialization

Kernel Initialization

The kernel is the minimal ChorusOS operating system comprising the microkernel and the built-in drivers.

The bootstrap program starts the microkernel. The microkernel then starts the built-in drivers.

OS Initialization

The OS is implemented on top of the kernel as a set of actors that provide services such as file systems and networking protocols.

The kernel starts the OS services by creating the initial subset of OS actors from the system image binary files. The OS can then activate additional system services by loading actors from files located on the system image memory, or local or remote devices.