stringtranslate.com

Activaciones del programador

Las activaciones de programadores son un mecanismo de subprocesamiento que, cuando se implementa en el programador de procesos de un sistema operativo , proporciona funcionalidad de subproceso a nivel de núcleo con flexibilidad y rendimiento de subproceso a nivel de usuario. Este mecanismo utiliza una estrategia denominada "N:M" que asigna una cantidad N de subprocesos de aplicación a una cantidad M de entidades del núcleo o "procesadores virtuales". Se trata de un compromiso entre el subprocesamiento a nivel de núcleo ("1:1") y el subprocesamiento a nivel de usuario ("N:1"). En general, los sistemas de subprocesamiento "N:M" son más complejos de implementar que los subprocesos del núcleo o del usuario, porque se requieren cambios tanto en el código del núcleo como en el del espacio de usuario.

Las activaciones del planificador fueron propuestas por Anderson, Bershad, Lazowska y Levy en Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism en 1991. [1] El soporte fue implementado en el kernel NetBSD por Nathan Williams [2] pero desde entonces ha sido abandonado a favor de subprocesos 1:1. [3] FreeBSD tenía una implementación de subprocesos similar llamada Kernel Scheduled Entities que también está siendo retirada a favor de subprocesos 1:1. Las activaciones del planificador también fueron implementadas como un parche para el kernel Linux por Vincent Danjean: Linux Activations, la parte a nivel de usuario se realiza en la biblioteca de subprocesos Marcel.

Referencias

  1. ^ Anderson, Thomas E.; Bershad, Brian N.; Lazowska, Edward D.; Levy, Henry M. (septiembre de 1991). "Activaciones del planificador: soporte efectivo del núcleo para la gestión del paralelismo a nivel de usuario". Actas del decimotercer simposio de la ACM sobre principios de sistemas operativos . págs. 95–109. doi :10.1145/121132.121151. ISBN. 0897914473.S2CID264864317  .​
  2. ^ Una implementación de activaciones del programador en el sistema operativo NetBSD
  3. ^ Cambios significativos de NetBSD 4.0 a 5.0