Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Hilos por Mind Map: Hilos

1. Un hilo es un proceso ligero

1.1. Sirve para que un mismo proceso ejecute varias tareas simultáneas

1.2. Ventajas

1.2.1. Capacidad de respuesta

1.2.2. Compartición de recursos

1.2.3. Economía

1.2.3.1. Debido a que comparte recursos, no se asignan individualmente como en los procesos

1.2.3.2. Uso de las arquitecturas multiprocesador

2. En modo kernel

2.1. Ventajas

2.1.1. No se necesita un sistema en tiempo de ejecución para administrar los hijos.

2.1.2. No hay tabla de hilos en cada proceso

2.1.3. El kernel tiene una tabla de hilos global

2.1.4. El kernel también mantiene la tabla de procesos

2.1.5. Si un hilo se  bloquea el kernel elige otro hilo del mismo proceso o de otro proceso

2.1.6. Los hilos no requieren llamadas al sistema sin bloqueo

2.2. Desventajas

2.2.1. Las llamadas al sistema se implementan a un costo considerablemente mayor que una llamada a un procedimiento

2.2.2. Es más costoso costoso crear hilos en el kernel

2.2.3. Implementaciones híbridas

3. Modelo uno a uno

3.1. A cada hilo de usuario se le asigna un hilo del kernel

3.2. Proporciona una mayor concurrencia

3.3. Permite que se ejecute otro hilo si se hace una llamada bloqueante

3.4. El inconveniente es que al crear un hilo de usuario se debe crear un hilo de kernel

4. En modo usuario

4.1. Ventajas

4.1.1. El kernel no sabe de la existencia de los hilos

4.1.2. La biblioteca de hilos se encarga de administrarlos

4.1.3. Cada proceso tiene su tabla de hilos  privada

4.1.4. La conmutación entre hilos se puede hacer con pocas instrucciones

4.1.5. El planificador de hilos se encarga de ponerlos en ejecución

4.1.6. Cada proceso planifica sus hijos de forma personalizada

4.2. Desventajas

4.2.1. No se pueden hacer llamadas al sistema

4.2.2. Si un hilo no suelta el control voluntariamente no se puede hacer que lo suelte

4.2.3. Solo puede ejecutar hilos del mismo proceso si uno se bloquea

5. Modelo muchos a uno

5.1. Asigna múltiples hilos de usuario a un hilo del kernel

5.2. La administración se hace mediante la biblioteca de usuario

5.3. El proceso se bloquea si un hilo hace una llamada bloqueante al sistema

5.4. Solo un hilo puede acceder al kernel a la vez, no pueden haber varias en ejecución

6. Modelo muchos a muchos

6.1. Multiplexa muchos hilos de usuario sobre un número menor o igual de hilos del kernel

6.2. Se garantiza una concurrencia real

6.3. Si se hace una llamada bloqueante el kernel planifica otro hilo