The ChorusOS operating system provides an environment for applications running on a network of target machines, controlled by a remote host.
The target system runs the ChorusOS operating system and provides the execution environment.
The host machine provides the development and debugging environment. The user can develop the applications on the host and from the host, start and debug applications on the target.
The ChorusOS operating system supports three kinds of applications:
POSIX processes
Most of the applications running on ChorusOS systems will be POSIX processes. These applications have access to pure POSIX APIs, a few "POSIX-like" extended APIs, and a small number of restricted microkernel system calls.
ChorusOS actors
These applications run on top of the microkernel and are restricted to the microkernel API. ChorusOS actors include drivers, subsystem events, and protocol stacks.
ChorusOS 4.x Legacy applications
These applications are supported for backward compatibility and use the same APIs they used as in previous versions of the ChorusOS system. Although these applications are supported in ChorusOS 5.0, you are encouraged to move such applications to the POSIX level, using the standard POSIX APIs.
The different groups of APIs represent different development environments - you can develop new applications on one or the other. You are strongly encouraged to use the ChorusOS POSIX API because this offers maximum flexibility and enables porting of POSIX applications with relative ease. A ChorusOS POSIX application cannot access the ChorusOS microkernel API, (apart from a few restricted calls, which are described at the end of this chapter). If you specifically need to emphasize performance issues, or if you require access to the microkernel primitives directly, you should use the ChorusOS microkernel API.