GESTION DE PROCESOS.

Slides:



Advertisements
Presentaciones similares
GESTION DE PROCESOS Procesos y tareas
Advertisements

Concurrencia Exclusión mutua y sincronización
Tabla de Contenido Concurrencia.
Administración de procesos Lic. Orlando Zamora Rdz.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Sistemas Operativos Unidad II Procesos.
Modelo de procesos de dos estados
Control y Descripción de Procesos
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
SISTEMAS OPERATIVOS UNIDAD 1..
INGENIERIA EN SOFTWARE y HARDWARE
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Administración de memoria
Concurrencia: Exclusión Mútua y Sincronización
Sistemas Operativos Procesos.
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Sincronización de Procesos Semáforos Emely Arráiz Ene-Mar 08.
Unidad III Administración de procesos
Profesor: Rodrigo Sanhueza Figueroa
IET110 Sistemas Operativos P04: Exclusión Mutua Prof. Jonathan MakucSlide: 1.
Sistemas en tiempo real (STR)
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Asignación de Espacio No Contiguo
SISTEMAS OPERATIVOS.
PROGRAMACION CONCURRENTE
Hilos En La Computación. (THREADS).
 El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos  Mantener la consistencia de los datos requiere mecanismos para asegurar.
Introducción a los Sistemas Operativos
Sincronización de Procesos Conceptos Problema SC Soluciones Software Soluciones Hardware Emely Arráiz Ene-Mar 08.
Capítulo 7 Gestión de memoria.
Gestión de procesos Sistemas Operativos Edwin Morales
Programación secuencial vs programación concurrente
Sincronización de Procesos
Sincronización de Procesos
Tema 9.6: Sincronización de Procesos
Monitores Cabudare, noviembre de 2010 Universidad Fermín Toro
Sistemas Operativos Tema 4
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Teoría de Sistemas Operativos Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
COMPONENTES DEL SISTEMA OPERATIVO.
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Integrantes: Ma Carmen Zaragoza Santiago Leticia González Hernández Abraham Obispo Antonio Alexis González Ramírez Eduardo Hernández Tolentino.
Administrador de procesos
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
1 EL PROCESADOR,LOS PROCESOS Y ESTADOS Esperanza Lozada de Coronel
Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez
Sistemas Operativos Unidad III Procesos.
ARQUITECTURA DE SISTEMAS OPERATIVOS.
GESTIÓN DE PROCESOS.
Unidad 2 – Gestión de Procesos
Por Luis Esteban Monsalve Martínez
Estados de procesos El estado de un proceso define su actividad actual. Durante su existencia, un proceso pasa por una serie de estados discretos. Transiciones.
UTFSM - Sistemas Operativos
INTERRUPCIONES – ABRAZO MORTAL
Elementos y tipos de sistemas operativos
Funciones principales!
Sesión 8 Procesos.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
Gestión de Memoria – Parte 2
Estructura del sistema operativo
1 Tema 6: Concurrencia de Procesos Sistemas Operativos.
Transcripción de la presentación:

GESTION DE PROCESOS

Que es un Proceso ? Definición Requisitos Es la ejecución de un programa individual. Requisitos Intercalar la ejecución de procesos para maximizar la utilización del procesador. Priorización de tareas y evitar el interbloqueo. Vigilar la creación, comunicación y cancelación de procesos.

Estados de un Proceso Modelo con 2 Expedir Entrar NO Ejecución Ejecución Salir Interrumpir Cola Procesador Expedir Salir Entrar Interrumpir

Razones para la Creación o Terminación de un Proceso Solicitud del padre Terminación del Padre Intervención del operador o del SO Mal uso de los Datos Instrucción Privilegiada Instrucción Invalida Fallo de E/S Tiempo máximo de espera rebasado Error aritmético Error de protección Violación de limites Generado por un Proceso Existente No hay memoria disponible Creado por S.O. Para dar Servicio Tiempo Limite excedido Conexión interactiva Terminación Normal Nuevo trabajo por lotes Terminación Creación

Estados de un Proceso Modelo con 5 Admitir Pasar Liberar Nuevo Listo Ejecución Terminado Time out Ocurre Suceso Espera de Suceso Bloqueado

Modelos de colas para manejo de procesos bloqueados Cola de listos Pasar a ejecución Procesador Liberar Entrar Ocurre Suceso Time out Esperar Suceso Cola de bloqueados Ocurre Suceso N Esperar Suceso N Cola de Sucesos N

Estados de un Proceso Modelo con 6 Admitir Pasar Liberar Nuevo Listo Ejecución Terminado Time out Activar Ocurre Suceso Espera de Suceso Suspender Bloqueado Suspendido

Estados de un Proceso Modelo con 7 Nuevo Admitir Pasar Liberar Listo Ejecución Admitir Terminado Activar Time out Suspender Listo Suspendido Ocurre Suceso Espera de Suceso Ocurre Suceso Bloqueado Suspendido Bloqueado Activar

Razones para la Suspensión de un Proceso Proceso Suspendido Es el que no esta disponible para ejecución. Razones para la Suspensión de un Proceso Solicitud del proceso padre Por tiempo Solicitud del usuario Otra razón de SO Intercambio de memoria

Estructuras de Control del S.O. Imagen del proceso P 1 Memoria Tablas de Memoria Dispositivos Tablas de E/S Archivos Procesos Tablas de Archivos P 2 Proceso 1 Proceso 2 Proceso 3 Proceso n

Imagen del Proceso y el BCP Identificación del proceso Identificador del proceso Identificador del Proceso Padre Identificador del Usuario Información estado del procesador Registros visibles para el usuario Registros de control y de estado Punteros de pila Información de control del proceso Planificación y estado Estructuración de datos Comunicación entre procesos Privilegios de los procesos Gestión de memoria Propiedad de recursos y utilización Datos del Usuario Programa del Usuario Pila del Sistema Bloque de Control de Proceso

Control de Procesos Gestión de procesos Creación y terminación Planificación y expedición Cambio de Procesos Sincronización de procesos y comunicación Gestión de bloques de control Gestión de memoria Asignación de espacio de memoria Intercambio Gestión de pagina y segmentos Gestión de entrada y salida Gestión de buffer Asignación de canales de E/S y dispositivos Funciones de soporte Tratamiento de Interrupciones Contabilidad Supervisión Existen dos modos en que un procesador ejecuta las instrucciones. Modo de usuario Modo de control o privilegiado Funciones Básicas del Núcleo del SO

API del Sistema Operativo El Sistema operativo ofrece una serie de servicios a los programas de usuario referentes a la gestión de procesos. Accesibles mediante llamadas al sistema Cada sistema operativo ofrece las que quiere. Crear (IdProceso, Atributos) Crear nuevo proceso con el identificador y los atributos que se pasan como parámetro S.O. obtiene nuevo identificador y PCB Asigna memoria para el nuevo proceso Rellena PCB con atributos proporcionados o predeterminados Enlaza proceso con las estructuras del S.O., insertando el PCB del proceso en la lista de listos.

API del Sistema Operativo Eliminar (IdProceso) SO destruye proceso y lo elimina del sistema Reclama los recursos asignados al proceso Elimina el PCB de la lista en que está y queda libre Un proceso puede eliminarse a sí mismo y a otros Se invoca como parte de la terminación ordenada de un programa Dividir/Unir Método de creación y terminación de procesos. Dividir : Divide una secuencia de instrucciones en dos secuencias ejecutables concurrentemente Se crea nuevo proceso (hijo) al que se le asigna una copia del código ejecutable del padre Devuelve identidad del hijo al padre que lo puede usar para esperar fin del hijo antes de invocar unir. Unir : Reúne las secuencias de código divididas y el padre puede usarlo para sincronizarse con el hijo.

API del Sistema Operativo Bloquear (IdProceso) Proceso IdProceso permanece en el sistema -> bloqueado indefinidamente y estado bloqueado Proceso puede suspenderse a sí mismo o a otros dependiendo de su nivel de privilegios. El SO responde poniendo el PCB del proceso en la lista de bloqueados y actualizando el estado Reanudar(IdProceso) Reanuda proceso bloqueado SO pone PCB en listos para ejecución y actualiza estado Retardar(IdProceso, tiempo) Proceso queda bloqueado el tiempo especificado Leer_Atributos(IdProceso, grupoatributos) Consulta a la que el SO responde proporcionando los valores actuales de los atributos del proceso designado. Modificar_Atributos(IdProceso, nuevoatributo) Ejemplo: modificar la prioridad del proceso

Gestión de Procesos Concurrencia Requisitos a la solución del Problema de la Sección Critica. Exclusión Mutua Progreso Espera limitada Métodos implementados para afrontar el problema Soluciones por software Soluciones por hardware Semáforos Monitores Mensajes

Gestión de Procesos Concurrencia Multiprogramación Multiproceso Proceso Distribuido Proceso Cooperativo

Gestión de Procesos Sincronización Solución Por Software Algoritmo de Dekker Algoritmo de Peterson

Solución 1 de software Var Turno: 0 .. 1; Inconvenientes : Proceso 0 -- While Turno != 0 do FIN <sección critica> Turno := 1; Proceso 1 -- While Turno != 1 do FIN <sección critica> Turno :=0; Inconvenientes : El tiempo lo determina el proceso mas lento Si se bloquea un proceso el otro también

Solución 2 de software Var Señal[0..1] of booleano; # inicializada en falso Proceso 0 -- While señal[1] do FIN; Señal[0] := verdadero <sección critica> Señal[0] := falso Proceso 1 -- While señal[0] do FIN; Señal[1] := verdadero <sección critica> Señal[1] := falso Inconvenientes: Porque un proceso cambia el estado después que el otro ha Comprobado pero antes de entrar a su sección crítica.

Gestión de Procesos Sincronización Solución por Hardware Deshabilitar la ocurrencia de interrupciones ( Solo aplica a mono procesadores ). En Multiprocesadores se debe usar una instrucción indivisible de maquina TS donde establece en un ciclo de instrucción si la llave esta disponible y si lo esta la coloca como no disponible. Posee problemas de Inanición con muchos procesos por que la competencia por los pocos recursos es aleatoria. Espera Activa de los procesos.

Gestión de Procesos Sincronización Program exclusión_mutua; Const n= .... (*# de procesos*) Var C:entero Procedure P(i:entero); begin repeat repeat FIN until TS ( C ); <sección crítica> C:=0 -- forever end Begin ( *Pma Ppal*) P(1); P(2); P(n) Solución por hardware Test and Set ( Comparar y Fijar) Function TS (var i:entero):booleano Begin if i = 0 then begin i:= 1; TS:=verdadero; end else TS:=falso; End.

Gestión de Procesos Sincronización Semáforos Dos procesos pueden cooperar por medio de simples señales, deforma que pueda obligar a un proceso detenerse en una posición determinada hasta que reciba una señal específica. Es una variable entera no negativa ( s ) utilizada como bandera y que puede ser accesada por medio de dos operaciones : La operación wait decrementa el valor del s. Si el valor se hace negativo el proceso que ejecuta el wait se bloquea La operación signal incrementa el valor de s. Si el valor no es positivo, se desbloquea a un proceso bloqueado por wait. Problema espera activa

Solución por medio de Semáforos Program exclusión_mutua; Const n= .... (*# de procesos*) Var s: semáforo ( :=1) Procedure P(i:entero); begin repeat wait(s); <sección crítica> signal(s) -- forever end Begin ( *Pma Ppal*) C:=0 P(1); P(2); P(n)

Solución a Exclusión Mutua por medio de Semáforos Casos interesantes Lectores y escritores Modelo de acceso a una base de datos compartida por varios procesos: Propuesto por Courtois, 1971. Puede haber varios lectores a la vez. La escritura ha de hacerse exclusivamente (no puede haber otros lectores o escritores simultáneamente). Una posible solución: Primer lector: Wait sobre un semáforo. Siguientes lectores: incrementan un contador. Los lectores van acabando: decrementan el contador. El último, Signal al semáforo. Escritores: Wait sobre el semáforo al comenzar y Signal al terminar. Prioridad implícita de lectores sobre escritores...

Monitores Es un módulo de software que sirve para manejar procesos concurrentes y distintas condiciones de sincronización y exclusión mutua. Esta compuesto por : Conjunto de datos Conjunto de procedimientos Variables de Condición. E D A T O S 1 n 1 2 n S

Mensajes Es el mecanismo mediante el cual los procesos se sincronizan y se comunican. ( Exclusión mutua e intercambio de información) Primitivas Enviar ( Destino, mensaje ) Recibir ( Origen, mensaje ) Sincronización Bloqueante y No bloqueante Bloqueante-Bloqueante No Bloqueante-Bloqueante No Bloqueante-No Bloqueante Direccionamiento Directo Envío Recibir Explícita Implícita Indirecto ( Buzón ) Colas Primeros en entrar / primeros en salir