L.I. Gerardo Ortiz Rivera

Slides:



Advertisements
Presentaciones similares
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Advertisements

HILOS Y COMUNICACIÓN ENTRE PROCESOS
Analisis de Planificación
Integrantes: Ma Carmen Zaragoza Santiago Leticia González Hernández Abraham Obispo Antonio Alexis González Ramírez Eduardo Hernández Tolentino.
Unidad 2 – Gestión de Procesos
Capa de Acceso de Red (Network Access Layer). Definición: Es la primera capa del modelo TCP/IP. Ofrece la capacidad de acceder a cualquier red física,
  Ciencias de la Educación  Ramírez Mendoza Mayra Aurora  Tema.
Resumen de Sistemas Operativos I Msc./Ing. Antonio Mena.
LAS EMPRESAS COMO SISTEMAS DINÁMICOS Organización - Sistemas - Objetos - Elementos - Interrelaciones - Contexto Gestión Administrativa - 4to año
MUTEX. QUE ES CONCURRENCIA - MUTEX  Son el mecanismo que nos ayuda en la sincronización para proteger una sección crítica en nuestro código.  Estas.
Beneficios de promocionar tu portafolio en medios digitales
Semáforos y Comunicación entre Procesos
METODOLOGÍA DE SISTEMAS
ESTRATEGIAS DE ENSEÑANZA
Conmutación de Ethernet
SISTEMAS OPERATIVOS Sección Crítica.
Mecanismos de Comunicación usando Paso de Mensajes
UNIDAD III: LAS TIC COMO FUENTES DE INVESTIGACION y DIFUSION DE INFORMACION Objetivo: Conocer y aplicar adecuadamente los principios básicos de estructura.
Procesos Concurrentes
Comunicación, Sincronización y Concurrencia de procesos
Paul Leger Procesos (capitulo 2) Paul Leger
Jornadas técnicas del GUL
MODELO CLIENTE -SERVIDOR
Exclusión mutua de secciones
Comunicación de redes informáticas
Sistemas Distribuidos
Comunicación Serial: Conceptos Generales
Monitores Mecanismo sincronización de nivel más alto que semáforos Construcción a nivel de lenguaje de programación que controla el acceso a datos compartidos.
METODOLOGÍA DE SISTEMAS
Tema 6. Conceptos básicos de programación (Clase 2)
DIRECCIONAMIENTO IPV4 Prof.: Nelson Calderón.
Tema 3. Lenguaje unificado de modelado UML
Qu é define el Plan Maestro de Producci ó n - MPS?
Codificación y Modulación Nombre: Fernando Jesús Uc Huchín.
L.I. Gerardo Ortiz Rivera
Exclusión mutua Un Algoritmo Centralizado Algoritmo Descentralizado
PROCESOS COMENZAR.
Salvador Arteaga Gracia
Capa Sesión REPUBLICA BOLIVARIANA DE VENEZUELA
Sincronización de Procesos
Conceptos Relacionados Unidad I. Parte A.
Sincronización de procesos
CONCEPTOS PRELIMINARES (Cont)
Sistemas Operativos Semáforos II.
Capa de Red: comunicación de host a host  La Capa de red o Capa 3 de OSI: Provee servicios para intercambiar secciones de datos individuales a través.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
L.I. Gerardo Ortiz Rivera
COORDINACIÓN Y SINCRONIZACIÓN DE PROCESOS: 1.1. Concurrencia 1.2. Semáforos 1.3. Sección Critica 1.4. Bloqueos.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
Punto 4 – Componentes del servicio DNS
L.I. Gerardo Ortiz Rivera
L.I. Gerardo Ortiz Rivera
Planificación Cíclica
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Estructura general de un programa. Estructura general de un programa. Pseudocódigo Diagrama de flujo Concepto de programas. Concepto de programas. Instrucciones.
CAPA FÍSICA DEL MODELO OSI La capa física: Señales de comunicación.
Concurrencia: exclusión mutua y sincronización Capítulo 5.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
Gestión del sistema de entrada / salida
Pipelining Peligros de control.
Procesos Lic. Gonzalo Pastor.
Estructura de los sistemas operativos
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FILIAL CHINCHA ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS Por: Nestares Torres Luis Jesús Enrique.
SISTEMAS OPERATIVOS En el mundo de la informática se denomina sistema operativo al programa, o conjunto de ellos, que gestiona los recursos físicos de.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Mg. Jorge Vladimir Pachas Huaytán C.I.P CLAD MODELAMIENTO DE PROCESOS.
Modbus RTU. ¿Qué es el protocolo Modbus RTU? El protocolo Modbus RTU es un medio de comunicación que permite el intercambio de datos entre los controladores.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Exclusión Mutua Repaso Tema relacionado a la sesión anterior: Sincronización del reloj.
Transcripción de la presentación:

L.I. Gerardo Ortiz Rivera Interacción entre Tareas L.I. Gerardo Ortiz Rivera Departamento de Ciencias Exactas e Ingenieria

Indice Comunicación y Sincronizacion Comunicación con datos comunes Comunicación mediante mensajes Problemas en la Interacción entre tareas. Inversión de Prioridad Protocolos.

Interacción entre tareas En la mayoría de los sistemas de interés práctico las tareas interaccionan mediante datos comunes (protegidos) mensajes señales La interacción puede darse entre tareas con distintas prioridades. El acceso a datos comunes debe protegerse. El uso de mensajes se produce a traves de buzones. El uso de señales se produce a traves de semáforos En todos estos casos puede ocurrir que una tarea tenga que esperar un suceso de otra menos prioritaria

Comunicación y Sincronización Raras veces los procesos de un sistema son independientes unos de otros. Mas a menudo, cooperan para un fin común o compiten por la utilización de los recursos. Para ello, es necesario realizar operaciones de comunicación y sincronización entre procesos. Dos procesos se comunican cuando hay una transferencia de información de uno a otro. Dos procesos estan sincronizados cuando hay restricciones en el orden en que se ejecutan sus acciones. Los dos conceptos estan relacionados. Hay distintas formas de abordar el problema: Datos comunes. Mensajes.

Comunicacion entre procesos mediante Buzones

Coordinacion entre procesos mediante semaforos

Datos en memoria compartida utilizados por varios procesos

Comunicacion con datos comunes En un sistema monoprocesador, la forma mas directa de comunicación entre dos o mas procesos consiste en compartir datos comunes. El acceso incontrolado a variable comunes Puede producir resultados anomalos. Se dice que hay una condicion de carrera cuando el resultado de la ejecucion depende del orden en que se intercalan las instrucciones de dos o mas procesos. Se trata de una situacion que hay que evitar

Ejemplo: A B Contador = 0 El resultado final puede ser 1 o 2 Incrementar Contador LDA contador INC STA contador Incrementar Contador LDA contador INC STA contador Contador = 0 El resultado final puede ser 1 o 2 Depende de las velocidades relativas de los procesos. Para evitar este problema hay que asegurar que las Operaciones con variable comunes sean atómicas. Deben de usarse mecanismos de exclusión mutua (p.ej. Semàforos)

Comunicacion mediante mensajes Las tareas se pueden comunicar y sincronizar mediante mensajes. Esta forma de comunicacion no necesita de memoria comun. Es posible utilizar buzones como mencanismo de comunicación. Hay tres aspectos de interes: Sincronizacion. Identificacion del proceso emisor y receptor. Estructura de los mensajes

Diagrama de secuencia de mensajes Representan la interacción entre procesos mediante el intercambio de mensajes El tiempo va hacia abajo A B B send receive Buzón

Sincronización en el envío de mensajes El proceso receptor siempre espera si el mensaje no ha llegado todavia. Para el proceso emisor hay tres modelos basicos: Comunicación asíncrona: el emisor continua su ejecución. Comunicación síncrona (cita): el emisor espera a que el receptor reciba el mensaje. Invocación remota (cita extendida): el emisor espera a que el receptor reciba el mensaje, y la respuesta de éste.

Comunicación Asíncrona El numero de mensajes que pueden enviarse depende del tamaño del buzón. El emisor puede saturar el buzón (si no hay receptcion) y hasta entonces bloquearse. El receptor puede bloquearse si el buzón se encuentra vacio. A B send Buzón receive

Comunicación Síncrona El buzón acepta solo un mensaje Al enviar un mensaje el emisor espera (bloqueado) hasta que el receptor ha recibido el mensaje. Lo mismo ocurre cuando el receptor ejecuta el receive primero. A B send Buzón receive mensaje A send(m); receive (ack); B receive(m); send (ack);

Invocación Remota A B send mensaje receive bloqueo reply A s_send(m); El buzón acepta solo un mensaje Al enviar un mensaje el emisor espera (bloqueado) hasta que el receptor ha recibido el mensaje. Lo mismo ocurre cuando el receptor ejecuta el receive primero. A B send mensaje receive bloqueo reply A s_send(m); s_receive (ack); B s_receive(m); preparar reply s_send(r);

Estructura de los mensajes El mensaje podria llevar los siguentes campos: Encabezado. Identificador del emisor. Identificador del receptor. Longitud del mensaje Mensaje. Campo de ack. Campo de seguridad El contenido del mensaje deberia poder ser de cualquier tipo.

Identificación del emisor y el receptor Identificación directa o indirecta: Directa: el emisor identifica explicitamente al receptor send mensaje to proceso Indirecta: se utiliza un intermediario (buzón, canal, tubería, etc) send mensaje to buzón Simetria: Comunicacion simétrica: el emisor identifica al receptor y viceversa. send mensaje to proceso (buzón) receive mensaje from proceso (buzón) Comunicacino Asimétrica: el receptor acepta mensajes de cualquier emisor o buzón.

Problemas con la Interacción entre tareas Cuando dos o mas tareas comparten datos, sen envian mensajes o se sincronizan entre si, puede ocurrir que una tarea tenga que esperar un suceso de otra menos prioritaria Esta situación se denomina bloqueo, y produce una inversión de prioridad indeseable La inversión de prioridad no se puede eliminar completamente, pero es posible limitar su duración

Ejemplo 1 X Y

Ejemplo 1: inversión de prioridad bloqueo a1 ax ay a2 b1 by by b2 c1 d1 dx dx d2 0 2 4 6 8 10 12 14 16 18

Herencia de prioridad Una forma de reducir la duración de los bloqueos es variar dinámicamente la prioridad de las tareas Cuando una tarea está bloqueando a otra más prioritaria, hereda la prioridad de está La prioridad dinámica de una tarea es el máximo de su prioridad básica las prioridades de todas las tareas bloqueadas por ella La herencia de prioridad es transitiva

Ejemplo 1: herencia de prioridad ax ay a2 b1 by by b2 c1 d1 dx dx d2 0 2 4 6 8 10 12 14 16 18

Duración máxima de bloqueo Con el protocolo de herencia de prioridad, una tarea se puede bloquear como máximo una vez por cada sección crítica una vez por cada tarea de prioridad inferior La duración total máxima de los bloqueos es donde K es el número de recursos compartidos C es el tiempo durante el cual la tarea j accede al recurso K(=0 si no usa el recurso) j,k

Ejemplo 1: cálculo de bloqueo B = C + C = 2+4=6 B = C = 4 B = 0 Una tarea puede bloquearse por recursos a los que no accede (por ejemplo, 2) Una tarea puede sufrir bloqueo aunque no acceda a recursos compartidos (por ejemplo, 3) La tarea de menor prioridad ( 4) no sufre bloqueo 1 2,Y 4, X 2 4, X 4, X 3 4

Tiempo de respuesta con bloqueos Cuando hay bloqueos, la ecuación del tiempo de respuesta queda así: La solución se obtiene mediante la relación de recurrencia

Protocolos de techo de prioridad El techo de prioridad de un recurso es la máxima prioridad de las tareas que lo usan El protocolo del techo de prioridad consiste en: la prioridad dinámica de una tarea es el máximo de su prioridad básica y las prioridades de las tareas a las que bloquea una tarea sólo puede usar un recurso si su prioridad dinámica es mayor que el techo de todos los recursos en uso por otras tareas

Ejemplo 1: techo de prioridad ax ay a2 by b1 by b2 c1 d1 dx dx dx d2 0 2 4 6 8 10 12 14 16 18

Propiedades Cuando se usa el protocolo del techo de prioridad en un sistema monoprocesador, Cada tarea se puede bloquear una vez, como máximo, en cada ciclo No puede haber interbloqueos No puede haber bloqueos encadenados Se consigue la exclusión mutua sin mecanismos de protección adicionales La duración máxima del bloqueo es ahora B = max C lc(i) es el conjunto de recursos que pueden bloquear i j,k felp(f),k lc(i)

Protocolo del techo de prioridad inmediato Con este protocolo, una tarea que accede a un recurso hereda inmediatamente el techo de prioridad del recurso la prioridad dinámica de una tarea es el máximo de su prioridad básica y los techos de prioridad de los recursos que usa Las propiedades son las mismas que las del protocolo del techo de prioridad, y además, si una tarea se bloquea, lo hace al principio del ciclo Es más fácil de implementar que el protocolo básico Es más eficiente ( menos cambios de contexto )

Ejemplo 1: techo de prioridad inmediato ax ay a2 b1 by b2 c1 d1 dx d2 0 2 4 6 8 10 12 14 16 18

Resumen Un método de planificación tiene dos partes: un algoritmo de reparto de recursos un método de análisis del comportamiento temporal El método clásico se basa en un ejecutivo cíclico el análisis es inmediato (por construcción) es poco flexible y de bajo nivel Un método mejor se basa en el uso de prioridades fijas las prioridades se asignan por orden de período, plazos o de forma arbitraria se puede analizar el tiempo de respuesta de las tareas se pueden analizar tareas con interacción si se usa un protocolo de herencia o techo de prioridad