Domain/OS calls: task_$

Domain/OS calls: task_$

User-space multitasking

The earlier version of Domain/OS didn't have kernel threads. However, because of the well-designed IO and IPC systems, processes rarely blocked in the kernel -- usually they were waiting on one or more eventcounts. This tasking library could use this facility to implement single-process multitasking (what we'd nowadays call threads) in user space.

The later versions of Domain do have kernel threads, mostly to be JLRU. This tasking library has been re-implemented on top of the thread_$ interface, though still some things (like signalling specific threads) can only be done with these calls.