next up previous
Next: Scheduling Up: Internal Structure of XOK/ExOS Previous: Implementation Notes


XOK's idea of a process is called an environment[*]. An environment is fairly minimal: it is simply a key-ring of capabilities, a list of up-call entry points where control should be diverted when interesting events occur, a page table, and a collection of accounting info about the process. Further, each library operating system is allowed to store whatever data it finds convenient into the environment's ``u-area''.

The primary calls for manipulating environments are sys_env_alloc and sys_env_free.

An environment's page tables must be filled in explicitly and CPU time must be allocated before it will be run. See the sections on memory and scheduling for information on how to do this.

Thomas Pinckney