Threads de un proceso

Threads de un proceso

de Nicolas Grosso San Roman -
Número de respuestas: 2

Hola. No me queda claro por qué al tener un modelo Mx1 de threads, si un thread a nivel de usuario se bloquea entonces el proceso a nivel de kernel se bloquea. No puede seguir ejecutando algún thread que no esté bloqueado?

En respuesta a Nicolas Grosso San Roman

Re: Threads de un proceso

de Juan Manuel Rivara De Leon -
El kernel no tiene visibilidad sobre los hilos de usuario, por lo tanto no puede saber si el proceso en cuestión podría seguir ejecutando otro hilo de usuario cuando uno de esos hilos se bloquea. En ese sentido cuando un hilo de usuario ejecuta un syscall bloqueante (I/O) el resultado es que se bloquea todo el proceso, que es lo único que el kernel ve.
Saludos.
En respuesta a Nicolas Grosso San Roman

Re: Threads de un proceso

de Leonardo Alberro Zimmermann -
Hola,
complemento la respuesta del compañero con lo siguiente. Recordar que en un modelo Mx1 el kernel ve solo un hilo de ejecución por proceso. Por lo tanto, si se ejecuta una operación de bloqueo, para él se bloquea el proceso, pues es el único hilo de ejecución.
Saludos