lunes, 11 de octubre de 2010

10. ¿Qué es un Hilo?


Un hilo es un punto de ejecución de un proceso. Un proceso puede tener uno o mas hilos. Los hilos representan un método software para mejorar el rendimiento de los sistemas operativos reduciendo el recargo por el cambio de contexto entre procesos. Los hilos de un mismo proceso compartirán recursos, como memoria, archivos, etc. Los hilos asumirán el papel de los procesos como unidad de planificación. Un proceso será una unidad propietaria de recursos para una serie de hilos.
    Un proceso clásico será aquel que solo posea un hilo. Los hilos siempre pertenecerán a un proceso y no podrán existir por ellos mismos. Los procesos serán estáticos y tan solo los hilos podrán ser planificados por ejecución. Los hilos tendrán un flujo separado de control (o punto de ejecución) y tienen su propia pila y estado hardware. Como todos los recursos (exepto la CPU) son gestionados por el proceso, la comunicación entre sus hilos será mucho más rápida y eficiente, porque todos los hilos de un proceso comparte un mismo espacio de memoria. Cuando se realice un cambio de contexto entre hilos de procesos diferentes se realizará un cambio de contexto entero.
    Con los hilos hacemos a los sistemas operativos mucho más rápidos, pero siempre habrá que tener cuidado con la planificación entre hilos, ya que varios hilos podrán acceder a cualquier variable compartida y puede haber problemas de inconsistencia de datos.

1 comentario:

  1. los hilos estan mas complicados de comprender, pero con tu respuesta esta mas enendible.

    ResponderEliminar