Scheduler Activations is a
threadIn computer science, a thread of execution results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
ing mechanism that, when implemented in an
operating systemAn operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...
's process
schedulerScheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time operating system design. In modern operating systems, there are typically many more processes running than there are CPUs available to run them.Scheduling refers to the way processes...
, 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.
Discussion
Ask a question about 'Scheduler activations'
Start a new discussion about 'Scheduler activations'
Answer questions from other users
|
Scheduler Activations is a
threadIn computer science, a thread of execution results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
ing mechanism that, when implemented in an
operating systemAn operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...
's process
schedulerScheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time operating system design. In modern operating systems, there are typically many more processes running than there are CPUs available to run them.Scheduling refers to the way processes...
, 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
Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism in 1991. It was implemented in the
NetBSDNetBSD is a freely redistributable, open source version of the Unix-derivative Berkeley Software Distribution computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed...
kernel by Nathan Williams but has since been abandoned in favor of 1:1 threading.
FreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via the Berkeley Software Distribution . It has been characterized as "the unknown giant among free operating systems". It is not a clone of UNIX, but works like UNIX, with UNIX-compliant internals and system APIs. FreeBSD is...
had a similar threading implementation called
Kernel Scheduled EntitiesKernel Scheduled Entities, or KSE, is a kernel-supported threading system found in FreeBSD, which allows a single process to have multiple kernel-level threads....
which is also being retired in favor of 1:1 threading. Scheduler activations were also implemented as a patch for the
LinuxLinux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed,...
kernel by Vincent Danjean:
Linux Activations, the user-level part being done in the
Marcel thread library.