Scheduler activations are a
thread
Thread may refer to:
Objects
* Thread (yarn), a kind of thin yarn used for sewing
** Thread (unit of measurement), a cotton yarn measure
* Screw thread, a helical ridge on a cylindrical fastener
Arts and entertainment
* ''Thread'' (film), 2016 ...
ing mechanism that, when implemented in an
operating system's process
scheduler, 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, and
Levy in Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism in 1991. Support was implemented in the
NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
kernel by Nathan Williams but has since been abandoned in favor of 1:1 threading.
Significant changes from NetBSD 4.0 to 5.0
/ref> FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
had a similar threading implementation called Kernel Scheduled Entities which is also being retired in favor of 1:1 threading. Scheduler activations were also implemented as a patch for the Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
by Vincent Danjean: Linux Activations, the user-level part being done in the Marcel thread library.
References
Threads (computing)
{{operating-system-stub