Universidad de Málaga Dpto. Lenguajes y Ciencias de la Computación Programación Concurrente Introducción a Pascal-FC Ma
Views 130 Downloads 6 File size 346KB
Universidad de Málaga Dpto. Lenguajes y Ciencias de la Computación Programación Concurrente
Introducción a Pascal-FC Manuel Díaz, Daniel Garrido
Pascal-FC z Lenguaje
para docencia
– Desarrollado en la Univ. de York z Alan Burns, Geoff Davies – Pascal simplificado z No tiene strings, ficheros, punteros ni módulos – Mecanismos para concurrencia z Semáforos, monitores, paso de mensajes, rendezvous, recursos protegidos
1
Pascal-FC z
Modelo de procesos en lenguajes concurrentes – Estructura z z
Estáticos Dinámicos
– Nivel z
Jerarquías de procesos
– Inicialización z
¿Parámetros en tiempo de ejecución?
– Representación z z
Procesos explícitos Procesos no explícitos
– Forma de terminación z
Normal, errores, abortados, ...
Pascal-FC z Modelo
de procesos en Pascal-FC
– Estructura estática – Lenguaje plano – Permite inicialización – Procesos explícitos
2
Pascal-FC program const (* Constantes *) type (* Tipos de usuario *) process A() var (* Variables locales *) begin (* Cuerpo del proceso *) end;
(* Cuerpo principal *) begin .... cobegin (* Creación de procesos *) A; B; C; coend; end.
Pascal-FC z Procesos process A() var (* Variables locales del proceso*) begin (* Cuerpo del proceso *) end;
process type tipo_proceso() var (* Variables locales del proceso*) begin (* Cuerpo del proceso *) end;
3
Pascal-FC z Procesos process type tipo_proceso(id:integer) begin writeln(‘Mi id: ‘,id) end;
var a,b:tipo_proceso; c:array [1..10] of tipo_proceso; begin cobegin a(20); b(30); for i:=1 to 10 do c[i]; coend end.
Pascal-FC z Declaraciones const PI=3.14; type lista=array [1..10] of integer; punto=record x:integer; y:integer; end;
var a:integer; b:char; c:real; d:boolean; e:array [1..10] of integer; f:lista;
4
Pascal-FC z Asignación:
variable:=valor; z Sentencia nula: null;
Pascal-FC z Sentencias
de selección: if
if then sentencia else sentencia_else;
if a