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

INTRODUCCION A LOS PROCESOS

TEMAS DE AGENDA:
* Concepto de Proceso * Modelo de Procesos * Clasificacin de los Procesos * Estados de los Procesos. * Bloque de Control * Exclusin Mutua * Solucin de Peterson * El problema del productor y el consumidor

* Implementacin de Procesos * Razones para la terminacin de un proceso * Regiones Crticas

* Planificacin de Procesos * Elaboracin del algoritmo de Planificacin * Conclusiones

INTRODUCCIN
INTRODUCCIN A LOS PROCESOS

DEFINICIONES:
* Un programa en ejecucin * Una actividad asncrona * El "espritu animado" de un procedimiento * El "centro de control" de un procedimiento en ejecucin * Lo que se manifiesta por la existencia de un "bloque de control del proceso BCP) en el sistema operativo. * La entidad a la que se asignan los procesadores * La unidad "despachable"

CONCEPTO
INTRODUCCIN A LOS PROCESOS

CARACTERSTICAS:
* Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos
secuenciales * Un proceso incluye al programa en ejecucin y a los valores activos del contador, registros y variables del mismo. * Conceptualmente cada proceso tiene su propia CPU virtual. * Si la CPU alterna entre los procesos, la velocidad a la que ejecuta un proceso no ser uniforme, por lo que es necesario aclarar lo siguiente: -> Que los procesos no deben programarse con hiptesis implcitas acerca del tiempo. -> Que normalmente la mayora de los procesos no son afectados por la multiprogramacin subyacente de la CPU o las velocidades relativas de procesos distintos.

MODELO DE PROCESOS
INTRODUCCIN A LOS PROCESOS

CLASIFICACIN DE PROCESOS
Procesos Pesados
Los procesos no comparten ninguna porcin de la memoria. Cada proceso se ejecuta en su propio procesador virtual con CPU y memoria. S comparten el mismo espacio de almacenamiento permanente (el disco) Requiere de una Unidad de Manejo de la Memoria (MMU) Si un proceso falla, los dems procesos continan sin problemas. Si se necesita que un thread comunique informacin a otro thread necesitan enviar toda la informacin a otro procesos pesado usando pipes, mensajes o archivos en disco, lo que resulta ser ms costoso que enviar tan solo un puntero.

Procesos Livianos
Comparten toda la memoria y el espacio de almacenamiento permanente. En cambio si un thread falla, esto causa la falla de todos los dems threads que comparten el mismo procesador. La ventaja de los threads es que pueden comunicarse eficientemente a travs de la memoria que comparten. Si se necesita que un thread comunique informacin a otro thread basta que le enve un puntero a esa informacin

ESTADO DE PROCESOS
Por la actividad corriente en que se encuentra

Nuevo

Cuando el proceso es creado

(new) El proceso tiene asignado un procesador Ejecutable est ejecutando sus instrucciones
(running)

Bloqueado (waiting)

El proceso est esperando por un evento (que se complete un pedido de E/S o una seal)

Listo (ready)

El proceso est listo para ejecutar, solo necesita del recurso procesador

Finalizado (terminated)

El proceso finaliz su ejecucin.

Diagrama de estados y transiciones de los procesos

BLOQUE DESCRIPTOR DE PROCESO


(PROCESS CONTROL BLOCK)
El proceso es representado, a nivel del sistema operativo, a travs del bloque descriptor de proceso Informacin que almacena:

Identificador de Procesos
Se le denomina PID y es el mismo durante toda la vida del proceso.

Registros de CPU
Almacenan informacin necesaria del proceso cuando se producen interrupciones como consecuencia de un cambio de estado, y as poder recuperarla para volver al estado original.

Lmites de Memoria
Indican los lmites de memoria utilizados por un determinado proceso para evitar que otros los invada. Adems existe una zona de memoria donde se colocan los BCP, esa zona solo es accesible por el sistema operativo cuando se encuentra en modo supervisor

Informacin del Status de las operaciones de E/S


Se refiere a las operaciones de E/S que el proceso est realizando, sobre que dispositivos si son de Entrada o de Salida. Estas operaciones, segn van siendo atendidas, van siendo eliminadas del BCP.

Informacin del planificador de procesos


Sobre el tipo de algoritmo de planificacin que se est utilizando.

Algunos elementos bsicos de un bloque de control de proceso

Identificadores
Identificador de este proceso
Identificador del proceso que cre a este proceso (el proceso padre)

Identificador del usuario

Registros Visibles para el Usuario


Es aqul al que puede hacerse referencia por medio del lenguaje mquina que ejecuta el procesador. Normalmente, existen de 8 a 32 de estos registros, aunque algunas implementaciones RISC tienen ms de 100.

Registros de Control y de Estado


Contador de programa: Contiene la direccin de la prxima instruccin a ser tratada. Cdigos de condicin: Muestran el resultado de la operacin aritmtica o lgica ms reciente
(signo, cero, acarreo, igualdad, desbordamiento).

Informacin de estado: Incluye los indicadores de habilitacin o inhabilitacin de


interrupciones y el modo de ejecucin.

Puntero de Pila
Cada proceso tiene una o ms pilas LIFO de sistema asociadas. Las pilas se utilizan para almacenar los parmetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila.

Informacin de Planificacin y de Estado


Estado del proceso:
Define la disposicin del proceso para ser planificado para ejecutar (en ejecucin, listo, esperando, detenido).

Prioridad:
Se puede usar uno o ms campos para describir la prioridad de planificacin de los procesos. En algunos sistemas se necesitan varios valores (por omisin, actual, la ms alta permitida).

Informacin de planificacin:
sta depender del algoritmo de planificacin utilizado. Como ejemplos se tienen la cantidad de tiempo que el proceso ha estado esperando y la cantidad de tiempo que el proceso ejecut la ltima vez.

Suceso:
La identidad del suceso que el proceso est esperando antes de poder reanudarse.

Informacin de Planificacin y de Estado


Un proceso puede estar enlazado con otros procesos en una cola, un anillo o alguna otra estructura. El bloque de control de proceso puede contener punteros a otros procesos para dar soporte a estas estructuras.

Comunicacin entre Procesos


Puede haber varios indicadores, seales y mensajes asociados con la comunicacin entre dos procesos independientes. Una parte de esta informacin o toda ella se puede guardar en el bloque de control de proceso.

Privilegios de los procesos

A los procesos se les otorgan privilegios en trminos de la memoria a la que pueden acceder y el tipo de instrucciones que pueden ejecutar. Adems, tambin se pueden aplicar privilegios al uso de los servicios y utilidades del sistema

Gestin de Memoria
Esta seccin puede incluir punteros a las tablas de pginas y/o segmentos que describen la memoria virtual asignada al proceso

Propiedad de los Recursos y Utilizacin


Se pueden indicar los recursos controlados por el proceso, tales como los archivos abiertos. Tambin se puede incluir un histrico de la utilizacin del procesador o de otros recursos; esta informacin puede ser necesaria para el planificador. El sistema operativo debe tener una tabla central que nos permita acceder a todas las estructuras de datos BCP as como al resto de las estructuras existentes

Implementacin de Procesos
Operaciones sobre procesos Los S.O. con multitarea permiten numerosas operaciones dedicadas a la gestin de procesos. Entre ellas, las ms importantes:
CREACION ELIMINACION OBTENCION DE INFORMACION MODIFICACION

RETARDO
ACTIVACION

Razones para la terminacin de un proceso


Terminacin normal Tiempo lmite excedido No hay memoria disponible Violacin de lmites Error de proteccin Error aritmtico Tiempo mximo de espera rebasado Instruccin invlida Instruccin privilegiada

Mal uso de los datos


Intervencin del operador o de SO Terminacin del padre Solicitud del padre

CONCURRENCI A * EXCLUSIN MUTUA *SINCRONIZACI N


ANTECEDENTES PROCESOS CONCURRENTES EXCLUSIN MUTUA SINCRONIZACIN PROBLEMAS DE LA SECCION CRTICA MECANISMOS DE SOLUCIN A LA SECCIN CRTICA

HARDWARE DE SINCRONIZACIN
PRINCIPALES PROBLEMAS DE SINCRONIZACIN SOLUCIN

ANTECEDENTES
El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos Mantener la consistencia de los datos requiere mecanismos para asegurar el orden de ejecucin de los procesos que los comparten.

PROCESOS CONCURRENTES
CONCURRENCIA
Capacidad del sistema operativo de realizar actividades simultneas.

PROCESOS CONCURRENTES

Si dos o ms procesos pueden ser ejecutados por el computador en paralelo, se dice que son procesos son concurrentes.

CARACTERSTICAS

Los procesos son concurrentes si existen simultneamente. Pueden funcionar en forma totalmente independiente, unos de otros Pueden ser asncronos lo cual significa que en ocasiones requieren cierta sincronizacin y cooperacin.

EXCLUSIN MUTUA

Seccin Crtica: Solo un programa a la vez en su seccin crtica.

COMPETENCI A ENTRE PROCESOS POR RECURSOS

Llamado Deadlock, dos ms procesos estn esperando indefinidamente por un INTERBLOQUEO evento que puede ser causado slo por uno de los procesos que estn en espera.

Un proceso puede jams ser removido de la cola de INANICIN semforos en la cual se encuentra suspendido .

SINCRONIZACIN
Para comunicarse un proceso debe realizar una accin que el otro pueda detectar, entonces la sincrona puede verse como un conjunto de restricciones para el ordenamiento de eventos.

Concepto

SOLUCIN DE PETERSON
La solucin de Peterson restringe a dos procesos que van alternando la ejecucin de sus secciones crticas y de sus secciones restantes. Pi, Pj. Esta solucin requiere 2 estructuras de datos:
TURN: Variable que indica que proceso va a entrar en su seccin crtica. FLAG: Matriz que se usa para indicar si un proceso est preparado para entrar en su seccin critica.

Para demostrar que esta solucin es correcta, se tiene que cumplir que: La exclusin mutua se conserva. El requisito de progreso se satisface. El requisito de espera limitada se cumple.

Muchos sistemas proveen soporte de hardware para resolver el problema de la exclusin mutua.

Una solucin en mquinas con un solo procesador es deshabilitar las interrupciones

El cdigo que se est ejecutando no puede ser retirado de la CPU.

No es buena solucin porque el SO pierde el control temporalmente.

HARDWARE DE SINCRONIZACIN

TEST_AND_SET

USO DEL TEST_AND_SET:


HARDWARE DE SINCRONIZACI N

Es una instruccin de hardware especial que permite probar y modificar el contenido de un dato atmicamente".

Entrar:= False; Repeat While Test_and_Set ( Entrar ) do ; SECCIN CRTICA Entrar := False; Until Ejecucin = False

function Test_And_Set (var valor:boolean):boolean; begin Test_and_set:=valor; Valor:=True; end

LAS INSTRUCCIONES MQUINA


Exclusin Mutua

Aplicable a cualquier nmero de procesos sea en sistemas mono o multiprocesador de memoria compartida. Simple y fcil de verificar Puede utilizarse para dar soporte a mltiples secciones criticas, cada una definida por su propia variable.

La espera activa consume tiempo de procesador.

Puede ocurrir inanicin si un proceso sale de su seccin critica y ms de un proceso que est esperando.
Interbloqueo: Si un proceso de baja prioridad esta en la seccin critica de un proceso de ms alta prioridad necesita

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