Scheduler activations are athreading mechanism that, when implemented in anoperating system's processscheduler, provide kernel-level thread functionality with user-level thread flexibility and performance. This mechanism uses a so-called "N:M" strategy that maps some N number of application threads onto some M number of kernel entities, or "virtual processors." This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "N:M" threading systems are more complex to implement than either kernel or user threads, because both changes to kernel and user-space code are required.
Scheduler activations were proposed by Anderson, Bershad,Lazowska, andLevy in Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism (1991).[1] Support was implemented in theNetBSD kernel by Nathan Williams[2], but has since been abandoned in favor of 1:1 threading.[3][4]FreeBSD had a similar threading implementation calledKernel Scheduled Entities which is also being retired in favor of 1:1 threading. Scheduler activations were also implemented as a patch for theLinux kernel by Vincent Danjean: Linux Activations, the user-level part being done in the Marcel thread library.
Thisoperating-system-related article is astub. You can help Wikipedia byadding missing information. |