- Scheduler activations
Scheduler Activations is a threading mechanism that, when implemented in an
operating system 's process scheduler, provides 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 was proposed by Anderson, Bershad, Lazowska, and Levy in [http://www.cs.washington.edu/homes/bershad/Papers/p53-anderson.pdf Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism] in 1991. It was implemented in the
NetBSD kernel by Nathan Williams [ [http://web.mit.edu/nathanw/www/usenix/freenix-sa/freenix-sa.html An Implementation of Scheduler Activations on the NetBSD Operating System] ] but has since been abandoned in favor of 1:1 threading [ [http://www.netbsd.org/changes/changes-5.0.html#newlock2 Significant changes from NetBSD 4.0 to 5.0 ] ] .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: [http://www-id.imag.fr/Laboratoire/Membres/Danjean_Vincent/linux-activations.html Linux Activations] , the user-level part being done in the [http://runtime.futurs.inria.fr/marcel/ Marcel thread library] .References
Wikimedia Foundation. 2010.