Académique Documents
Professionnel Documents
Culture Documents
Definicin de programa concurrente Ejecucin de un programa concurrente Representacin de la ejecucin de un programa concurrente Entrelazado arbitrario de acciones atmicas Correccin de un programa concurrente Propiedades de correccin Equidad de un programa concurrente Una manera de modelar sistemas concurrentes
Entrelazado (interleaving) de acciones atmicas: finalizada la ejecucin de una instruccin, la siguiente instruccin de cualquiera de los procesos es candidata a ser ejecutada
Toda secuencia debe ser considerada para el anlisis de la correccin de un programa concurrente El tiempo de ejecucin es ignorado en el anlisis
permite disear sistemas robustos al cambio de hard y soft es (casi) imposible repetir la historia de un programa concurrente
recordatorio: los printf() no sirven
process Q integer k2 := 2 n := k2
1
n := k1
11
process Q integer k2 := 2 n := k2
1
J. Ezpeleta-P. lvarez Univ. de Zaragoza 12
n := k1
n := n + 1
n := n + 1
13
Tcnicas de anlisis requieren considerar las posibles historias de ejecucin y atributos que expresen el comportamiento deseado
Demuestran, de manera formal, la correccin
14
15
La equidad dbil (weak fairness) es la garanta de que en toda ejecucin una accin continuamente elegible, tarde o temprano se ejecutar
determinan, en cada instante, qu acciones elegibles han de ejecutarse a continuacin viene condicionada por la disponibilidad de recursos en el sistema
16
17
18
19
20
x := x + 1
x := x + 1
integer x := 0 load R1,x add R1,#1 store R1,x Programacin de Sistemas Concurrentes y Distribuidos load R1,x add R1,#1 store R1,x
J. Ezpeleta-P. lvarez Univ. de Zaragoza 21
22
23
24
25
26
?
+ > Exclusin mutua fuera
enP2
27
28
29
30
31
32
33
34
35
36
37
b a d
c
Programacin de Sistemas Concurrentes y Distribuidos
J. Ezpeleta-P. lvarez Univ. de Zaragoza 38
39
Un primer programa
boolean seguir := true process Sigo while seguir null Programacin de Sistemas Concurrentes y Distribuidos
J. Ezpeleta-P. lvarez Univ. de Zaragoza 41
Un primer programa
boolean seguir := true process Sigo while seguir null Programacin de Sistemas Concurrentes y Distribuidos
J. Ezpeleta-P. lvarez Univ. de Zaragoza 42
Un primer programa
boolean seguir := true process Sigo while seguir null Programacin de Sistemas Concurrentes y Distribuidos
J. Ezpeleta-P. lvarez Univ. de Zaragoza 43
Un primer programa
???
boolean seguir := true process Sigo while seguir null Programacin de Sistemas Concurrentes y Distribuidos
J. Ezpeleta-P. lvarez Univ. de Zaragoza 44
Un primer programa
45