Subprocesos de Linux

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 26 de marzo de 2020; las comprobaciones requieren 5 ediciones .

LinuxThreads  es una implementación parcial de la biblioteca de subprocesos POSIX Threads para el sistema operativo Linux .[ ¿cuándo? ] en glibc . Desde principios de la década de 2000, ha sido reemplazada por la Biblioteca de subprocesos POSIX ( Biblioteca de subprocesos POSIX nativos , NPTL ), que apareció en 2002 y funcionó con Linux 2.6 y kernels más nuevos .  [1] El principal desarrollador de LinuxThreads fue Xavier Leroy .

LinuxThreads ha tenido una serie de problemas, principalmente debido a la implementación que usa la llamada al sistema clone() para crear un nuevo proceso que comparte un espacio de direcciones común con el proceso original. Por ejemplo, a los subprocesos se les asignaban diferentes ID de proceso (PID), lo que causaba problemas con el manejo de la señal; LinuxThreads usa las señales SIGUSR1 y SIGUSR2 para la coordinación de subprocesos, lo que hace imposible que los programas usen estas señales.

Para mejorar la situación, dos proyectos competidores comenzaron a desarrollar un reemplazo: NGPT ( Next Generation POSIX Threads ) y NPTL [2] . Ganó NPTL, se incluyó en glibc[ ¿Qué? ] y se envía con la mayoría de los sistemas Linux. A partir de 2006, LinuxThreads se puede ver en los sistemas de producción, particularmente aquellos que ejecutan la versión 2.4 del kernel de Linux y versiones anteriores, ya que NPTL requiere API que se agregaron para implementar subprocesos en la versión 2.6 del kernel.

LinuxThreads también ha sido portado y utilizado en FreeBSD . [3]

Notas

  1. Jones, M. Tim. Programación de aplicaciones GNU/Linux . — 2do. - Hingham, Mass.: Charles River Media, 2008. - página  253 . - ISBN 978-1-58450-568-6 . . — « El kernel 2.6 utiliza la nueva biblioteca de subprocesos POSIX nativa, o NPTL (introducida en 2002), que es una implementación de mayor rendimiento con numerosas ventajas sobre el componente anterior. ".
  2. [https://web.archive.org/web/20161220100748/https://lwn.net/Articles/10741/ Archivado el 20 de diciembre de 2016 en Wayback Machine first NPT vs. NGPT vs. Resultados de referencia de LinuxThreads [LWN.net]]
  3. LinuxThreads en FreeBSD [1] Archivado el 8 de agosto de 2014 en Wayback Machine .

Enlaces