ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Administracion De Procesos Y Del Procesador


Enviado por   •  6 de Octubre de 2013  •  1.640 Palabras (7 Páginas)  •  316 Visitas

Página 1 de 7

PROCESOS LIGEROS (HILOS O HEBRAS)

Un proceso ligero, o thread, es un programa en ejecución (flujo de ejecución) que comparte la imagen de memoria y otras informaciones con otros procesos ligeros.

Un proceso ligero se define como una función cuya ejecución se puede lanzar en paralelo con otras.

Cada proceso ligero tiene informaciones que le son propias y que no comparte con otros procesos ligeros. Las informaciones propias se refieren fundamentalmente al contexto de ejecución, pudiéndose destacar las siguientes:

//A un proceso se le asigna un espacio en memoria y otro tipo de recursos así como también dispositivos de entrada y salida o ficheros. Un proceso es un flujo de ejecución a través de uno o más programas. En los S.O actuales se puede desarrollar una acción como la que realiza thread (hilo, hebra o proceso ligero) los beneficios claves para los hilos se derivan del rendimiento.

- Se tarda menos tiempo en crear un nuevo hilo

- Se tarda menos tiempo en terminarlo

- Se tarda mucho tiempo en hacer un cambio de contexto entre los hilos

//Al momento de usarlos se hace una mayor optimización el espacio

• Contador de programa.

• Pila.

• Registros.

• Estado del proceso ligero (ejecutando, listo o bloqueado).

Los procesos ligeros de un mismo proceso comparten la información del mismo.

• Espacio de memoria.

• Variables globales.

• Archivos abiertos.

• Procesos hijos.

• Temporizadores.

• Señales y semáforos.

• Contabilidad.

Es importante destacar que todos los procesos ligeros de un mismo proceso comparten el mismo espacio de direcciones de memoria, que incluye el código, los datos y las pilas de los diferentes procesos ligeros. Esto hace que no exista protección de memoria entre los procesos ligeros de un mismo proceso, algo que si ocurre con los procesos convencionales.

Es una unidad básica de utilización de la CPU consistente en un juego de registros y un espacio de pila. Comparte el código, los datos y los recursos con sus hebras pares

• Una tarea (o proceso pesado) está formada ahora por una o más hebras

• Una hebra sólo puede pertenecer a una tarea

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 ejecución (una traza) a través de uno o más programas.

Dentro de un proceso puede haber uno 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.

CARACTERISTICAS

Se comparten recursos. La compartición de la memoria permite a las hebras pares comunicarse sin usar ningún mecanismo de comunicación inter-proceso del SO.

ESTADOS DE LOS PROCESOS LIGEROS

Un proceso ligero puede estar ejecutando, listo o bloqueado.

// Ya tiene los recursos, está preparado para estar en espera a la orden para poder ejecutarse. Entra a la lista de espera.

//Lista de listos: toma el primero y se va ejecutando en orden de lista

//Forzar terminar un proceso, es cuando ocurre un error en la ejecución se fuerza a terminar el proceso; no termina por si solo el usuario lo termina

En ejecución: El proceso ocupa la CPU actualmente, es decir, si se está ejecutando.

• - Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.

• - Nuevo: Se dice que un proceso está en estado de nuevo cuando apenas se encuentra en proceso de crearse.

• - Bloqueado: e dice que un proceso está en estado de bloqueado, si espera que ocurra algo, como por ejemplo, la terminación de una E/S, para así poder ponerse en marcha.

• - Terminado: Cuando un proceso se ha completado su ejecución pasa a ser un proceso terminado. //cuando ya no tiene hijos en estado de ejecución y cuando termino su tarea

//el kernel administra los procesos

Ejemplos:

• De ejecución á Bloqueado: al iniciar una operación de E/S, al realizar una operación WAIT sobre un semáforo a cero (en el tema de procesos concurrentes se estudiarán los semáforos).

• De ejecución á Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose continuamente (agota su cuanto) el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo.

• De Listo á en ejecución: cuando lo requiere el planificador de la CPU (veremos el planificador de la CPU en el tema de planificación de procesos).

• De Bloqueado á Listo: se dispone del recurso por el que se había bloqueado el proceso. Por ejemplo, termina la operación de E/S, o se produce una operación SIGNAL sobre el semáforo en que se bloqueó el proceso, no habiendo otros procesos bloqueados en el semáforo.

PARALELISMO

El paralelismo es una forma de computación en la cual varios cálculos

...

Descargar como (para miembros actualizados)  txt (10 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com