¿Existen variantes de UNIX u otros sistemas operativos que hacen que los subprocesos a nivel de usuario sean visibles para el kernel del sistema operativo?

¿Existen variantes de UNIX u otros sistemas operativos que hacen que los subprocesos a nivel de usuario sean visibles para el kernel del sistema operativo?

¿Existen variantes de UNIX u otros sistemas operativos que hacen que los subprocesos a nivel de usuario sean visibles para el kernel del sistema operativo?

Respuesta1

Creo que lo que estás preguntando es si los subprocesos de los usuarios son entidades programables en el kernel. Si el hilo del usuario es "visible" para el kernel depende de la asignación entre usuario -> kernel, que depende del modelo utilizado. Hay varios modelos de roscado -

  • mx1: todos los subprocesos del usuario se asignan a 1 subproceso del kernel
  • mxn - m subprocesos se asignan a n subprocesos del kernel.
  • 1x1: 1 subproceso de usuario se asigna a 1 subproceso del núcleo

[https://www.kernel.org/doc/ols/2002/ols2002-pages-330-337.pdf][1]para obtener información sobre modelos de roscado.

El modelo de subprocesos predeterminado en Linux (<glibc 2.4)esLinuxThreadsque utilizó 1x1. Cada hilo tiene un pid diferente aquí. LinuxThreads no era compatible con Posix, por lo que se implementó un nuevo modelo de subprocesos:NPTL (man pthreads(7) for more info). EnNPTL(1x1), todos los subprocesos de usuario en un proceso tienen el mismo pid, pero tienen identificadores de subproceso únicos. Estos se pueden ver usando el indicador -L en ps.(man ps(1))

buen artículo sobre NPTL -- [https://www.redhat.com/whitepapers/developer/POSIX_Linux_Threading.pdf][2]

información relacionada