Sie sind auf Seite 1von 5

GESTIN DE PROCESOS Un programa en ejecucin est compuesto por procesos, en los procesos tambin se incluye la actividad actual representada

por el valor del contador del programa, y el contenido de los registros del procesador y las variables.

Estados de un Proceso Aunque podra haber dos procesos asociados al mismo programa, se considera como dos secuencias distintas de ejecucin. En la figura se muestra el conjunto de estados en los cuales un proceso se puede encontrar segn el momento de ejecucin:

Es importante tener presente que un solo proceso puede estar ejecutndose en cualquier procesador en un instante dado, pero muchos procesos pueden estar listos y esperando. evilla@espoch.edu.ec

Bloque del control de proceso Cada proceso se representa en el sistema operativo como un bloque de control de proceso (PBC, process control block), tambin llamado bloque de control de tarea.

El estado puede ser nuevo, detenido, en ejecucin, entre otros. Indica la direccin de la siguiente instruccin que se ejecutara para este proceso.

Incluyen acumuladores, los registros ndices, punteros de pila, registros de propsito general, junto con el contador de programa esta informacin se debe guardar cuando ocurra una interrupcin.

Informacin de Registros Informacin de planificacin de CPU: esta informacin incluye una prioridad de proceso, cualquiera de los parmetros de planificacin que haya. Informacin de gestin de memoria: esta informacin puede incluir datos tales como el valor de los registros base y lmite, de las tablas de paginacin y segmentacin, dependiendo del sistema de memoria empleado. Informacin Contable: esta informacin incluye cantidad de tiempo de CPU y tiempo real consumido, nmero de tiempo, nmeros de trabajo o proceso. Informacin de E/S: informacin de dispositivos de entrada y salida, asignadas a este proceso, lista de archivos abiertos etc.

Implementacin de procesos Para implementar el modelo de procesos, el sistema operativo, mantiene una tabla (un arreglo de estructuras) llamada tabla de procesos.

Creacin de procesos Crear un proceso significa: Dar nombre al proceso Insertar un proceso en la lista del sistema de procesos conocidos Determinar la prioridad inicial de procesos Crear el bloque del control de procesos Asignar los recursos iniciales del proceso

Terminacin de Procesos Un proceso termina cuando termina de ejecutar su ultimo enunciado y le pide al sistema operativo que lo elimine utilizando una llamada al sistema salir (exit), en este momento los procesos hijos pueden devolver datos a su proceso Padre, mediante una llamada al sistema esperar, y por ltimo el SO libera todos los recursos.

Un procesos suspendido no puede proseguir hasta que otro proceso lo reanude, esto significa que lo active desde el punto en el que fue suspendido.

HILOS

Consiste en un contador de programas, un juego de registros y un espacio de pila, debido a que comparten informacin se vuelven procesos ms ligeros, la informacin que comparten consta de: Seccin de cdigo Seccin de Datos Cdigo del sistema

Los beneficios de los hilos se derivan de las implicaciones de rendimiento. 1. Se tarda mucho menos tiempo en crear un hilo nuevo en un proceso existente que en crear un proceso. 2. Se reduce el tiempo en terminar un hilo que un proceso, ya que cuando se elimina un proceso se debe eliminar el BCP del mismo, mientras que un hilo se elimina su contexto y pila. 3. Es menor el tiempo en cambiar entre dos hilos de un mismo proceso. 4. Los hilos aumentan la eficiencia de la comunicacin entre programas en ejecucin.

Desventajas de los Hilos Los hilos comparten muchas estructuras de datos. Los informes de error. Si el kernel est consciente de la existencia de hilos, normalmente puede asegurarse de que el hilo correcto reciba la seal, de lo contrario se perdera la seal de control. En muchos sistemas, cuando hay un desbordamiento de pila, el kernel simplemente ampla la pila automticamente, cuando un proceso tiene varios hilos, tambin debe tener varias pilas, si el kernel no tiene conocimiento de todas estas pilas, no podr hacerlas crecer automticamente cuando haya una falla de pila. Planificacin de Procesos Cuando hay ms de un proceso ejecutable, el sistema operativo debe decidir cul ejecutar primero. La parte del sistema operativo que toma esta decisin se denomina planificador; el algoritmo que usa se denomina algoritmo de planificacin. Planificacin Apropiativa: es la estrategia de permitir que los procesos ejecutables (desde el punto de vista lgico) sean suspendidos temporalmente. Planificacin no apropiativa: es la estrategia de permitir la ejecucin de un proceso hasta terminar.

Polticas de Planificacin FCFS (Primero en LlegarPrimero en ser Servido) Los procesos son ejecutados en el orden que llegan a la cola de procesos listos, la implementacin es fcil a travs de una cola FIFO, el proceso se mantiene en la CPU hasta que se bloquea voluntariamente. La ventaja de este algoritmo es su fcil implementacin, sin embargo, no es vlido para entornos interactivos ya que un proceso de mucho clculo de CPU hace aumentar el tiempo de espera de los dems procesos.

SJF (shortest-job-first) Se asocia a cada proceso la longitud de su siguiente rfaga de CPU. Si CPU disponible se le asigna al proceso de menor longitud de rfaga. Si hay dos con igual longitud de rfaga se usa FCFS.

_ Es ptimo con el criterio del tiempo promedio de espera.

Planificacin round robin (de torneo) A cada proceso se le asigna un intervalo de tiempo, llamado cuanto, durante el cual se le permite ejecutarse. Si el proceso todava se est ejecutando al expirar su cuanto, el sistema operativo se apropia de la CPU y se la da a otro proceso. Todo lo que el planificador tiene que hacer es mantener una lista de procesos ejecutables, cuando un proceso gasta su cuanto, se le coloca al final de la lista, como se aprecia en la Figura (a) y (b), en la figura (c) se muestra un ejercicio.

Planificacin por Prioridad Es de tipo Expulsivo o no expulsivo, a cada tarea se le asigna un nivel de prioridad, que representa su importancia, la CPU asigna el proceso que tiene la prioridad ms alta, los procesos en el mismo orden se planifican en orden FCFS, en trminos generales las prioridades pueden ser altas y bajas dependiendo del orden que se defina. Las prioridades de las tareas pueden asignarse de dos formas: Esttica.- la prioridad de cada tarea no cambia durante la ejecucin del sistema. Dinmica.- la prioridad de cada tarea puede cambiar durante la ejecucin del sistema.

Das könnte Ihnen auch gefallen