Академический Документы
Профессиональный Документы
Культура Документы
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
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
(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)
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
Identificadores
Identificador de este proceso
Identificador del proceso que cre a este proceso (el proceso padre)
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.
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.
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
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
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
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.
HARDWARE DE SINCRONIZACIN
TEST_AND_SET
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
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.
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