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

Sistemas Operativos: Administracion De Procesos


Enviado por   •  19 de Noviembre de 2013  •  3.420 Palabras (14 Páginas)  •  467 Visitas

Página 1 de 14

UNIDAD II

ADMINISTRACIÓN DE PROCESOS

2.1. Descripción y definición de procesos

Definición: Un proceso es un programa en ejecución

Descripción: El proceso incluye el valor del program counter, los registros y las variables. Conceptualmente, cada proceso tiene un hilo (thread) de ejecución que es visto como un CPU virtual.

2.2. Estados de los procesos

El estado de un proceso es definido por la actividad corriente en que se encuentra. Los estados de un proceso son:

 Nuevo (new): Cuando el proceso es creado.

 Ejecutando (running): El proceso tiene asignado un procesador y está ejecutando sus instrucciones.

 Bloqueado (waiting): El proceso está esperando por un evento (que se complete un pedido de E/S o una señal).

 Listo (ready): El proceso está listo para ejecutar, solo necesita del recurso procesador.

 Finalizado (terminated): El proceso finalizó su ejecución.

Diagrama de estados y transiciones de los procesos:

Transiciones entre estados

 Nuevo–>Listo: Al crear se un proceso pasa inmediatamente al estado listo.

 Listo–>Ejecutando: En el estado de listo, el proceso solo espera para que se le asigne un procesador para ejecutar (tener en cuenta que puede existir más de un procesador en el sistema). Al liberar se un procesador el planificador (scheduler) selecciona el próximo proceso, según algún criterio definido, a ejecutar.

 Ejecutando–>Listo: Ante una interrupción que se generé, el proceso puede perder el recurso procesador y pasar al estado de listo. El planificador será el encargado de seleccionar el próximo proceso a ejecutar.

 Ejecutando–>Bloqueado: A medida que el proceso ejecuta instrucciones realiza pedidos en distintos componentes (ej.: genera un pedido de E/S). Teniendo en cuenta que el pedido puede de morar y, además, si está en un sistema multiprogramado, el proceso es puesto en una cola de espera hasta que se complete su pedido. De esta forma, se logra utilizar en forma más eficiente el procesador.

 Bloqueado–>Listo: Una vez que ocurre el evento que el proceso estaba esperando en la cola de espera, el proceso es puesto nuevamente en la cola de procesos listos.

 Ejecutando->Terminado: Cuando el proceso ejecuta su última instrucción pasa al estado terminado. El sistema libera las estructuras que representan al proceso.

2.3. Control de Procesos

2.4. Procesos e hilos

Definición de Hilo

Una unidad de trabajo que se puede expedir para ejecución. Es lo que se ejecuta secuencialmente y es interrumpible para que el procesador puede pasar a otro hilo. Desde el punto de vista de la planificación y la expedición, este concepto es equivalente al de proceso en la mayoría de los sistemas operativos.

Comparten los recursos del proceso. Un proceso puede ser formado por uno o varios hilos.

Procesos e hilos

 Unidad mínima de asignación: tarea.

Unidad mínima de expedición: hilo.

 Dos hilos de una misma tarea (denominados hilos pares) comparten el segmento de código, el segmento de datos y un espacio de pila, es decir, los recursos asignados a la tarea.

 Podemos captar la funcionalidad de los hilos si comparamos el control de múltiples hilos con el control de múltiples procesos. En el caso de los procesos, cada uno opera independientemente de los otros; cada proceso tiene su propio contador de programa, registro de pila, y espacio de direcciones. Este tipo de organización es muy útil cuando los trabajos que los procesos efectúan no tienen ninguna relación entre si.

Elementos de hilo

Cuando un hilo está en ejecución, posee el acceso a todos los recursos que tiene asignados la tarea. Un hilo tendrá lo siguiente:

 Estado.

 Contexto del procesador. Punto en el que estamos ejecutando, la instrucción concretamente en la que nos hallamos. Es útil a la hora de reanudar un hilo que fue interrumpido con anterioridad, puesto que al guardar el contexto, guardamos la ultima instrucción que ejecutamos, y así podemos conocer por donde tenemos que continuar la ejecución del hilo.

 Pila de ejecución donde se irá metiendo y sacando instrucciones. (Lugar donde almacenaremos las instrucciones que van a ser ejecutadas).

 Espacio de almacenamiento estático donde almacenará las variables.

 Acceso a los recursos de la tarea, que son compartidos por todos los hilos de la tarea.

Ventajas del uso de hilos

 Se tarda menos tiempo en crear un hilo de una tarea existente que en crear un nuevo proceso.

 Se tarda menos tiempo en terminar un hilo que en terminar un proceso.

 Se tarda menos tiempo en cambiar entre dos hilos de una misma tarea que en cambiar entre dos procesos (porque los recursos no cambian, por ejemplo)

 Es más sencillo la comunicación (paso de mensajes por ejemplo) entre hilos de una misma tarea que entre diferentes procesos.

Cuando se cambia de un proceso a otro, tiene que intervenir el núcleo del sistema operativo para que haya protección. Cuando se cambia de un hilo a otro, puesto que la asignación de recursos es la misma, no hace falta que intervenga el sistema operativo

Tipos de Hilos

 Hilos a nivel de usuario: Se usan aplicaciones o bibliotecas de hilos para manejarse, pero el kernel no sabe de la existencia de dichos hilos.

 Hilos a nivel de Kernel: La gestión de los hilos es realizada por el Kernel.

2.5. Manejo de concurrencia

Concepto de Concurrencia

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo la comunicación entre procesos, comparición y competencia por los recursos, sincronización de la ejecución de varios procesos y asignación del tiempo de procesador a los procesos y es fundamental para que existan diseños como Multiprogramación, Multiproceso y Proceso distribuido

Los procesos son concurrentes si existen simultáneamente. Cuando dos o más procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado

...

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