administración de procesos en el s.o

Post on 13-Jun-2015

6.847 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Administración de procesos en el S.O.

Solano González Carlos Eduardo

Sistemas Operativos

0606AM

¿Qué es un proceso?

• Un proceso es una abstracción de un programa en ejecución y es la unidad de trabajo del sistema. Se puede definir a un proceso como un programa en ejecución.

• El sistema operativo es el encargado de hacer dichos procesos

• para que se ejecute un programa es necesario que el microprocesador ejecute los procesos de ese programa

El S.O. tiene las funciones de:

• Crear y eliminar los procesos del usuario y del Sistema

• Suspender y reanudar la ejecución de los procesos.

• Proporcionar mecanismo para la sincronización, comunicación y planificación de procesos.

Estados de un proceso

• Los estados por los que transita un proceso son:

• Nuevo: El proceso esta siendo creado

• En Ejecución: Se están ejecutando las instrucciones.

• En espera: El proceso está esperando a que se produzca un suceso

• Preparado: El proceso está a la espera de que se le asigne a un procesador

• Terminado: Ha finalizado su ejecución

Terminado de un Proceso

• Un proceso puede ser finalizado por varias razones:

• Terminación normal

• Terminación por error

• Error fatal

• Terminación por otro proceso

Bloque De Control De Procesos

• Cada proceso se encuentra representado en el S.O. mediante una estructura denominada “Bloque de Control de Procesos” o “PCB”

• La PCB contiene toda la información que se necesita saber sobre el proceso entre otras cosas debe guardar el estado actual del proceso.

Un BCP contiene muchos elementos de información asociados con un proceso específico, entre los que se incluyen:

• Estado del proceso: El estado puede ser nuevo, en ejecución, en espera, etc.

• Contador de programas: Contiene la dirección de la siguiente instrucción a ejecutar por el proceso.

• Registro de CPU:  Incluye acumuladores, registro de índices, punteros de pila y registros de propósito general.

• Información de planificación CPU: Incluye prioridad del proceso, apuntadores a colas de planificación, etc.

Información de gestión de memoria

• Incluye información acerca del valor de los registros base y limites, las tablas de paginación o tablas de segmentos, dependiendo del mecanismo de gestión de memoria.

• Información contable: Contiene información acerca de la cantidad de CPU y tiempos empleados, los límites de tiempo asignados, el número de trabajo o de proceso.

•  Información del estado de E/S: Esta información incluye, solicitudes pendientes de E/S, dispositivos de E/S asignados al proceso, etc.

Comunicación Interprocesos

• Los procesos pueden ser:

• Procesos independientes: Si no pude afectar o verse afectado por los restantes procesos del sistema.

• Procesos cooperativos: Si puede afectar o verse afectado por otros procesos.

Hay varias razones para proporcionar un entorno que permita la cooperación

entre procesos:

• Compartir información

• Acelerar los cálculos

• Modularidad.

• Conveniencia.

Los procesos Cooperativos requieren mecanismos de comunicación interprocesos (IPC). Que les

permita intercambiar datos e información.

• Existen dos modelos fundamentales de IPC:

•  Memoria Compartida: requiere que los procesos que se estén comunicando establezcan una región de memoria compartida.

• Paso de mensajes: Proporciona un mecanismo que permite a los procesos comunicarse y sincronizar sus acciones sin compartir el mismo espacio de direcciones.

Planificación de procesos

• Conjunto de políticas y mecanismos incorporados al sistema operativo por el que se rige el orden en el que se completa el trabajo que hay que realizar.

• La planificación de procesos tiene como objetivos obtener siempre la mayor productividad, o la mayor cantidad de trabajos realizados en una unidad de tiempo.

Con la planificación se pretende:

•  Justicia en el reparto de la CPU entre los diferentes usuarios.

• Evitar la postergación indefinida de los procesos siempre dentro de la seguridad de las prioridades.

• Logra la máxima capacidad de ejecución con el mayor número de usuarios interactivos.

• Se busca el equilibrio del uso de los recursos y de la respuesta de utilización.

• Se pretende poder discriminar procesos de tal manera que se permita dar mayor prioridad a aquellos procesos que tengan asignados recursos claves.

Se puede planificar a tres niveles distintos:

• A alto nivel o de trabajo: Determinar a que trabajos se les va a permitir competir activamente por los recursos del sistema.

• A nivel intermedio: Discriminamos a qué procesos se les puede permitir competir por la C.P.U., siempre intentando conseguir el mayor rendimiento del sistema.

• A bajo nivel: Determina a que proceso de los que están listos se le va a asignar la C.P.U. al quedar ésta disponible

Criterios de planificación

• Los algoritmos de planificación deben tener en cuenta una serie de casos:

• Utilización de la C.P.U., queremos que la C.P.U. se mantenga tan ocupada como sea posible.

• Rendimiento, una medida del trabajo es el número de procesos que se completa por unidad de tiempo.

• Tiempo de Retorno, sería la suma de los periodos transcurridos esperando entrar en la memoria, esperando en la cola de procesos listos, ejecutándose en la C.P.U. y efectuando operaciones de E/S.

• Tiempo de espera, es el tiempo que el proceso espera en la cola de procesos listos.

• El tiempo de respuesta, el tiempo transcurrido desde la presentación de una solicitud hasta que se produce la primera respuesta.

top related