Вы находитесь на странице: 1из 4

3.

2 Hilos y Multihilos
Los hilos son mini procesos. Cada hilo se ejecuta en forma estrictamente secuencial y tiene su propio contador de programa una pila para llevar un registro de su posicin. Los hilos comparten CPU de la misma forma que lo hacen los procesos secuencialmente y tiempo compartido. Solo en un miltiprocesodor se pueden ejecutar realmente en paralelo. Los hilos pueden crear hilos hijos, mientras un hilo esta bloqueado se puede ejecutar otra fila del mismo proceso en los distintos hilos de un proceso comparten un espacio de direcciones, y los hilos pueden tener distintos estados (en ejecucin, bloqueado, listo y terminacin). Muchos sistemas operativos distribuidos soportan mltiples hilos de control dentro de un proceso que comparten un nico espacio de direcciones que ejecutan casi paralelamente como si fueran procesos independientes. Por ejemplo: Un servidor de archivos que debe bloquearse ocasionalmente en espera de acceso al disco si tiene hilos de control podra ejecutar un segundo hilo mientras el primero espera el resultado seria mejor rendimiento y desempeo.

3.2 Mtodos de distribucin de cargas (Hilos, Tareas, Procesos) - Threads llamados procesos ligeros o contextos de ejecucin. - Tpicamente, cada thread controla un nico aspecto dentro de un programa. - Todos los threads comparten los mismos recursos, al contrario que los procesos en donde cada uno tiene su propia copia de cdigo y datos (separados unos de otros).

Los sistemas operativos generalmente implementan hilos de dos maneras:

MULTIHILO APROPIATIVO Permite al sistema operativo determinar cundo debe haber un cambio de contexto. La desventaja de esto es que el sistema puede hacer un cambio de contexto en un momento inadecuado, causando un fenmeno conocido como inversin de prioridades y otros problemas.

MULTIHILO COOPERATIVO Depende del mismo hilo abandonar el control cuando llega a un punto de detencin, lo cual puede traer problemas cuando el hilo espera la disponibilidad de un recurso.

3.2 METODO DE DISTRIBUCION DE CARGA (HILOS, TAREAS, PROCESOS) Sincronizacin de hilos Todos los hilos comparten el mismo espacio de direcciones y otros recursos como pueden ser archivos abiertos. Cualquier modificacin de un recurso desde un hilo afecta al entorno del resto de los hilos del mismo proceso. Por lo tanto, es necesario sincronizar la actividad de los distintos hilos para que no interfieran unos con otros o corrompan estructuras de datos. Formas de multihilos Los sistemas operativos generalmente implementan hilos de dos maneras: Multihilo apropiativo: permite al sistema operativo determinar cundo debe haber un cambio de contexto. La desventaja de esto es que el sistema puede hacer un cambio de contexto en un momento inadecuado, causando un fenmeno conocido como inversin de prioridades y otros problemas. Multihilo cooperativo: depende del mismo hilo abandonar el control cuando llega a un punto de detencin, lo cual puede traer problemas cuando el hilo espera la disponibilidad de un recurso. Procesamiento asncrono Los elementos asncronos de un programa se pueden implementar como hilos. Un ejemplo es como los softwares de procesamiento de texto guardan archivos temporales cuando se est trabajando en dicho programa. Se crea un hilo que tiene como funcin guardar una copia de respaldo mientras se contina con la operacin de escritura por el usuario sin interferir en la misma. Aceleracin de la ejecucin Se pueden ejecutar, por ejemplo, un lote mientras otro hilo lee el lote siguiente de un dispositivo. Implementaciones Hay dos grandes categoras en la implementacin de hilos: Hilos a nivel de usuario Hilos a nivel de Kernel

Вам также может понравиться