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

Instituto

tecnolgico

superior

de las Choapas
Carrera: Ing. En Sistemas Computacionales
Equipo 2
Mara Nayeli Padilla Muiz
Ismael Garca Hernndez
Alejandro Prez Cruz
Materia: Sistemas Operativos I Unidad 2
Tema 2.3 Procesos ligeros: Hilos o hebras
Docente: Ing. Damaris Garca Morales

2.3 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 ejecucin.
Unidad que posee recursos: A un proceso se le asigna un espacio de memoria 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 ejecucin
(una traza) a travs de uno o ms programas. Esta ejecucin se entremezcla con
la de otros procesos. De tal forma, que un proceso tiene un estado (en ejecucin,
listo, etc.) y una prioridad de expedicin u origen. La unidad planificada y
expedida por el sistema operativo es el proceso.
En la mayora de los sistemas operativos, estas dos caractersticas son, de
hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser
tratadas como tales por el sistema operativo. Esta distincin ha conducido en los
sistemas operativos actuales a desarrollar la construccin conocida como thread,
cuyas traducciones ms frecuentes son hilo, hebra y proceso ligero. Si se tiene
esta divisin de caractersticas, la unidad de asignacin de la CPU se conoce
como hilo, mientras que a la unidad que posee recursos se le llama proceso.
Diferencia entre Proceso e Hilo
Un proceso es una entidad relativamente independiente que dispone de su propio
espacio de direcciones, su propia informacin de estado y que utiliza los
mecanismos de comunicacin entre procesos que le proporciona el sistema
operativo para comunicarse con otros procesos.
Por otro lado, un hilo es una entidad ms reducida capaz de convivir junto a otros
hilos bajo el contexto de un nico proceso, permitiendo compartir la informacin
de estado, el rea de memoria y/o los recursos asociados a ese proceso.
Dentro de un proceso puede haber uno o ms hilos de control cada uno con:

Un estado de ejecucin (en ejecucin, listo, bloqueado).


contexto de procesador, que se salva cuando no est ejecutndose.
Una pila de ejecucin. Algn almacenamiento esttico 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 las implicaciones 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 ejecucin se mantiene una nica
copia en memoria del cdigo, y no varias.
Un ejemplo de aplicacin que podra hacer uso de los hilos es un servidor de
ficheros de una red de rea local. Cada vez que llega una solicitud de una
operacin sobre un fichero, se puede generar un nuevo hilo para su gestin. El
servidor gestiona multitud de solicitudes, por tanto, se pueden crear y destruir
muchos hilos en poco tiempo para dar servicio a estas peticiones. Si el servidor es
un multiprocesador, se pueden ejecutar varios hilos de un mismo proceso
simultneamente y en diferentes procesadores.

PROCESOS LIGEROS
Un proceso ligero (thread o hebra) es un programa en ejecucin que comparte la
imagen de la memoria y otras informaciones con otros procesos ligeros.

Figura 1 Procesos ligeros

Los procesos ligeros son una unidad bsica de utilizacin de la CPU consistente
en un juego de registros y un espacio de pila. Comparte el cdigo, los datos y los
recursos con sus hebras pares. Una tarea (o proceso pesado) est formada ahora
por una o ms hebras
Una hebra slo puede pertenecer a una tarea.

Figura 2 Tareas con una y varias hebras

CARACTERISTICAS
Se comparten recursos. La comparticin de la memoria permite a las hebras
pares comunicarse sin usar ningn mecanismo de comunicacin inter-proceso del
SO.
La conmutacin de contexto es ms rpida gracias al extenso compartir de
recursos
No hay proteccin entre las hebras. Una hebra puede escribir en la pila de otra
hebra del mismo proceso.

Estado de los procesos ligeros


Un proceso ligero puede estar ejecutando, listo o bloqueado.

Figura 3 Estados de los Procesos ligeros

PARALELISMO

Los procesos ligeros permiten paralelizar una aplicacin.

Figura
4
Paralelismo

Otro ejemplo de caso en el que son tiles los hilos es el de los navegadores de la
World Wide Web, como Netscape y Mosaic. Muchas pginas Web contienen
mltiples imgenes pequeas. Para cada imagen de una pgina Web, el
navegador debe establecer una conexin individual con el sitio de la pgina de
casa y solicitar la imagen. Se desperdicia una gran cantidad de tiempo
estableciendo y liberando todas estas conexiones. Si tenemos mltiples hilos
dentro del navegador, podemos solicitar muchas imgenes al mismo tiempo,
acelerando considerablemente el rendimiento en la mayor parte de los casos, ya
que en el caso de imgenes pequeas el tiempo de preparacin es el factor
limitante, no la rapidez de la lnea de transmisin.

Entre los elementos que son distintos para cada hilo estn el contador de
programa, los registros y el estado. El contador de programa se necesita porque
los hilos, al igual que los procesos, pueden suspenderse y reanudarse. Los
registros se necesitan porque cuando los hilos se suspenden sus registros deben
guardarse. Por ltimo, los hilos, al igual que los procesos, pueden estar en los
estados de ejecutndose, listo o bloqueado.

CONCLUSIN
Los procesos ligeros son programas en ejecucin son bsicamente procesos,
pero a diferencia de stos ltimos que solo tienen un hilo de ejecucin, los
primeros tienen el hilo principal ms hilos secundarios o hijos, en ste caso todos
los procesos hijos comparten la informacin del hilo principal pero adems puede
cada hilo tener su informacin privada.

FUENTES DE INFORMACIN
https://sites.google.com/site/materiasisoperativo/unidad -2-administradordelproceso-y-del-procesador/2-3-procesos-ligeros-hilos-o-hebras
http://webcache.googleusercontent.com/search?q=cache:http://sistemasoperativo
s.angelfire.com/html/2.3.html&gws_rd=cr&ei=M_vpV8i2KYvNmQHsobLgBQ

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