Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Wuolah Free ResumenTema1
Wuolah Free ResumenTema1
Raultl12
Como ejemplos tenemos sistemas de gestión de vuelos, control de una central nuclear, gestión
de una gasolinera, etc.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Modelo abstracto de concurrencia
Sentencias atómicas
Una sentencia es atómica si se ejecuta de principio a fin sin interrumpirse por otras sentencias.
Nunca se va a ver afectada si el funcionamiento de esta instrucción no depende de otras.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Leer un registro de una celda de memoria, incrementar el valor de un registro, o escribir el
valor de un registro en memoria.
El estado final de una instrucción atómica se puede determinar sabiendo el estado de inicio.
Normalmente las sentencias de un programa son no atómicas, como por ejemplo la sentencia
x = x + 1;
En las sentencias no atómicas aparece una indeterminación ya que no sabemos con certeza
que valor va a tener x al acabar la sentencia anterior. El valor dependerá de si hay o no otra
sentencia modificando el valor de x a la vez.
Abstracción
Para el estudio de las posibles interfoliaciones de los procesos, se consideran solo las
características relevantes que determinan el resultado del cálculo, simplificando el análisis y
diseño de programas concurrentes. Se ignora todo lo demás como los registros que se usan, la
memoria asignada a los procesos, la asignación de CPU por el SO, etc.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Una instrucción atómica de lectura de una variable siempre leerá el valor que ha escrito una
instrucción atómica de escritura que sea anterior a dicha instrucción de lectura. Esto hace más
sencillo el análisis de las interfoliaciones.
Un programa concurrente comienza en un estado de inicio y los procesos van modificando ese
estado.
Si en el grafo tenemos A -> B, esto significa que B no puede ejecutarse hasta que A haya
acabado.
Ejemplos:
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Exclusión mutua y sincronización
Concepto de exclusión mutua
En procesos cooperativos, hay algunas interfoliaciones que no son válidas. Hay una condición
de sincronización, habiendo restricciones sobre el orden en el que se pueden mezclar las
instrucciones de los procesos.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Un caso es la exclusión mutua. Son secuencias que se deben ejecutar de inicio a fin por un solo
proceso, sin que otro proceso las esté ejecutando a la vez.
El conjunto de estas instrucciones se llama sección crítica. Ocurre exclusión mutua cuando solo
un proceso ejecuta las instrucciones de la sección crítica.
Como ejemplos tenemos la entrada por texto del teclado, o enviar datos a una impresora.
Supongamos que una sección critica esta formada por la instrucción x = x + 1. En código
máquina esto se traduce en 3 instrucciones:
Si tenemos dos procesos que ejecutan esta instrucción, los dos accederán a la misma variable.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
Esto ocurre cuando uno o varios procesos deben esperar a que se cumpla una condición global
para poder ejecutarse.
Por ejemplo, en el problema del productor consumidor, la única posible interfoliación es: E, L,
E, L, E, L, E, L. Donde E = escritura en la variable global y L = lectura de la variable global.
No será correcta otra interfoliación en la que, por ejemplo, se escriba o se lea 2 veces seguidas,
o se lea antes de escribir, etc.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
Propiedades de seguridad
Deben cumplirse siempre para que nada malo suceda. Ejemplos:
1. Exclusión mutua: Dos procesos nunca entrelazan sus operaciones de la sección critica
2. Ausencia de interbloqueo: Un proceso nunca va a espera algo que nunca va a ocurrir.
Propiedades de vivacidad
Deben cumplirse eventualmente. Ejemplos:
1. Operacional: Se examinan todos los casos, pero esta limitado porque el numero de
interfoliaciones de algunos programas puede ser enorme.
2. Enfoque axiomático.
Enfoque axiomático
Se define un sistema lógico formal que contiene fórmulas lógicas (asertos). Las sentencias
atómicas transforman esos asertos. Los teoremas tienen esta forma:
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-4839722
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.