The Mach Operating System (microkernel based) has both the kernel- and the user-level threads.
-
Kernel threads:
-
The kernel threads are run in the preemptive, prioritized fashion. They can be either time-shared on one CPU or run concurrently on a multiprocessor.
-
An application can directly control to which processor a particular thread has been assigned. The details of the scheduling policy can be controlled by the application too.
-
Threads communicate through massage passing. Messages are being sent and received at ports, which can be global to threads within a process or private to a thread.
-
The kernel implementation offers around 2 dozen thread primitives which can be used to implement other thread interfaces.
|