Articulo de referencia

Hilos de núcleo ligeros

Los hilos ligeros del kernel ( LWKT ) son un término de la informática , específicamente de DragonFlyBSD . Los LWKT se diferencian de los hilos normales del kernel en que pueden...

Los hilos ligeros del kernel ( LWKT ) son un término de la informática , específicamente de DragonFlyBSD . Los LWKT se diferencian de los hilos normales del kernel en que pueden interrumpirlos . Según Matt Dillon , creador de DragonFlyBSD:

El planificador LWKT es responsable de la ejecución de los hilos. Utiliza un esquema de prioridad fija, pero estas prioridades diferencian los subsistemas principales , no los procesos de usuario. Por ejemplo, los hilos de interrupción de hardware tienen la máxima prioridad, seguidos de las interrupciones de software, los hilos exclusivos del kernel y, finalmente, los hilos de usuario. Un hilo de usuario se ejecuta con prioridad de usuario-kernel (cuando se ejecuta en el kernel, por ejemplo, al realizar una llamada al sistema en nombre del espacio de usuario) o con prioridad de usuario.

DragonFly sí permite la interrupción, pero lo hace con mucho cuidado y solo bajo circunstancias específicas. Un hilo de interrupción LWKT puede interrumpir la mayoría de los demás hilos, por ejemplo. Esto imita lo que FreeBSD-4.x ya hacía con su mecanismo spl/run-interrupt-in-context-of-current-process. Lo que DragonFly *NO* permite es que un hilo del kernel que no sea de interrupción interrumpa a otro hilo del kernel que tampoco sea de interrupción.

El sistema operativo z/OS para mainframes admite un mecanismo similar, llamado SRB ( Service Request Block ).

Los SRB representan solicitudes para ejecutar una rutina de servicio del sistema. Los SRB se crean normalmente cuando un espacio de direcciones detecta un evento que afecta a otro espacio de direcciones; proporcionan uno de los diversos mecanismos para la comunicación asíncrona entre espacios de direcciones para programas que se ejecutan en z/OS.

Un SRB es similar a un Bloque de Control de Proceso (PCB), ya que identifica una unidad de trabajo para el sistema. A diferencia de un PCB, un SRB no puede "poseer" áreas de almacenamiento. En un entorno multiprocesador, la rutina SRB, una vez programada, puede ejecutarse en otro procesador y concurrentemente con el programa de planificación. Este programa puede continuar realizando otras tareas en paralelo con la rutina SRB. Solo los programas que se ejecutan en modo kernel pueden crear un SRB.

El sistema operativo Windows utiliza un mecanismo de subprocesos ligero similar denominado "fibras". Las fibras son programadas por un programa de aplicación. La adaptación del servidor de transacciones CICS a la plataforma Windows utiliza fibras, de forma similar al uso de "enclaves" en z/OS.

En UNIX, los "hilos del kernel" tienen dos hilos: uno es el hilo principal y el otro es el hilo de usuario.

Véase también

Fuentes

  • Publicación de Matt Dillon sobre el programador de LWKT
  • Kerner, Sean Michael (10 de enero de 2006), "Lanzamiento de una nueva versión de DragonFly para usuarios de BSD" , InternetNews , consultado el 20 de noviembre de 2011.
  • Biancuzzi, Federico (2004-07-08), "Behind DragonFly BSD" , O'Reilly Media , archivado del original el 2014-04-09 , recuperado el 2011-11-20
  • Loli-Queru, Eugenia (13 de marzo de 2004), "Entrevista con Matthew Dillon de DragonFly BSD" , OSNews
  • Luciani, Robert (24/05/2009), M:N threading in DragonflyBSD (PDF) , BSDCon, archivado del original (PDF) el 23/12/2010.
  • Andrews, Jeremy (6 de agosto de 2007), "Entrevista: Matthew Dillon" , KernelTrap , archivado del original el 15 de mayo de 2011 , consultado el 20 de noviembre de 2011.
  • Vervloesem, Koen (21 de abril de 2010), "DragonFly BSD 2.6: hacia un sistema operativo de clúster libre" , LWN.net , consultado el 19 de noviembre de 2011.
  • Kerner, Sean Michael (25 de julio de 2006), "DragonFly BSD 1.6 se desvincula del cable" , InternetNews , consultado el 20 de noviembre de 2011.
  • Townsend, Trent (18 de enero de 2006), "Una breve reseña de DragonFly BSD 1.4" , OSNews , consultado el 16 de noviembre de 2011.
  • Interjú Matthew Dillionnal a DragonFly BSD alapítójával , 2003-10-10 , consultado el 2011-11-20