Hilos y Hebras Sistemas Operativos
Un proceso, conocido también como tarea, se define como un programa en ejecución.
Podemos decir también que es la entidad que se asigna a un procesador.
Características De Un Proceso
A un proceso se le asigna un espacio de memoria y algunos otros recursos como dispositivos de entrada/salida.
Transiciones De Estado De Un Proceso
Un proceso puede pasar pordistintos estados durante su existencia. Las transiciones de tales estados son causadas por eventos en el sistema.
Procesos Ligeros: Hilos O Hebras
El concepto de proceso engloba dos conceptos separados y potencialmente independientes: uno relativo a la propiedad de recursos y otro que hace referencia a la ejecución.
Unidad que posee recursos: A un proceso se le asigna un espacio dememoria y, de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o ficheros.
Unidad a la que se le asigna el procesador: Un proceso es un flujo de ejecución (una traza) a través de uno o más programas. Esta ejecución se entremezcla con la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecución, listo, etc.) y una prioridad de expedición u origen. La unidadplanificada y expedida por el sistema operativo es el proceso.
En la mayoría de los sistemas operativos, estas dos características son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyastraducciones más frecuentes son hilo, hebra y proceso ligero. Si se tiene esta división de características, la unidad de asignación de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso.
Hilos O Hebras
Son subprocesos de un proceso. Se conocen también como procesos ligeros. Dentro de un proceso se pueden identificar flujos de ejecución independientes.
Existentécnicas para hacer que estos flujos de ejecución puedan actuar como un proceso.
Podemos decir también que un hilo no es más que la habilidad de un proceso o programa para dividirse en varios hilos de ejecución simultáneos o aparentemente simultáneos.
La memoria y los recursos son asignados a los procesos
Todos los hilos de un proceso comparten la memoria y los recursos asignados a eseproceso
Sin embargo, cada hilo tiene un contexto diferente.
El procesador es el único recurso que no se comparte entre los hilos
Cada hilo tiene una pila diferente
Un proceso puede ser formado por uno o más hilos
Diferencia Entre Proceso E Hilo
Un proceso es una entidad relativamente independiente que dispone de su propio espacio de direcciones, su propia información de estado y queutiliza los mecanismos de comunicación entre procesos que le proporciona el sistema operativo para comunicarse con otros procesos.
Por otro lado, un hilo es una entidad más reducida capaz de convivir junto a otros hilos bajo el contexto de un único proceso, permitiendo compartir la información de estado, el área de memoria y/o los recursos asociados a ese proceso.
Dentro de un proceso puede haberuno o más hilos de control cada uno con:
Un estado de ejecución (en ejecución, listo, bloqueado).|
Un contexto de procesador, que se salva cuando no esté ejecutándose.
Una pila de ejecución.
Algún almacenamiento estático para variables locales.
Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos.
Los beneficios clave de los hilos se derivan de lasimplicaciones del rendimiento: se tarda menos tiempo en crear un nuevo hilo de un proceso que ya existe, en terminarlo, y en hacer un cambio de contexto entre hilos de un mismo proceso. Al someter a un mismo proceso a varios flujos de ejecución se mantiene una única copia en memoria del código, y no varias.
Un ejemplo de aplicación que podría hacer uso de los hilos es un servidor de ficheros de una red...
Regístrate para leer el documento completo.