12

Click here to load reader

07 Pascal-FC

Embed Size (px)

Citation preview

Page 1: 07 Pascal-FC

PROGRAMACION PROGRAMACION CONCURRENTE Y CONCURRENTE Y

PARALELAPARALELA

Pascal-FCPascal-FC

Page 2: 07 Pascal-FC

TEMAS TEMAS

¿Por qué Pascal-FC?¿Por qué Pascal-FC?

IntroducciónIntroducción

Estructura de un programaEstructura de un programa

Estados de un proceso en Pascal-FCEstados de un proceso en Pascal-FC

Ejecución de un programa en Pascal-FCEjecución de un programa en Pascal-FC

Page 3: 07 Pascal-FC

¿Por qué Pascal-FC?¿Por qué Pascal-FC?

Lenguaje diseñado para ser empleado como herramienta Lenguaje diseñado para ser empleado como herramienta en la enseñanza de la Programación Concurrente.en la enseñanza de la Programación Concurrente.

Proporciona una amplia variedad de herramientas de Proporciona una amplia variedad de herramientas de comunicación y sincronización entre procesos (no comunicación y sincronización entre procesos (no existentes todas ellas en ningún lenguaje “comercial”).existentes todas ellas en ningún lenguaje “comercial”).

Elimina características de otros lenguajes como punteros, Elimina características de otros lenguajes como punteros, ficheros, etc. de forma que el alumno pueda centrarse en el ficheros, etc. de forma que el alumno pueda centrarse en el aprendizaje del manejo de las herramientas de aprendizaje del manejo de las herramientas de comunicación y sincronización entre procesos.comunicación y sincronización entre procesos.

Page 4: 07 Pascal-FC

¿Por qué Pascal-FC?¿Por qué Pascal-FC?

Todo ello hace que el alumno pueda empezar a escribir Todo ello hace que el alumno pueda empezar a escribir sus primeros programas casi inmediatamente después de sus primeros programas casi inmediatamente después de la instalación del programa.la instalación del programa.

Y que por ello nuestro esfuerzo se centre más en el Y que por ello nuestro esfuerzo se centre más en el aprendizaje de las herramientas propias de la aprendizaje de las herramientas propias de la Programación Concurrente que en el lenguaje.Programación Concurrente que en el lenguaje.

Page 5: 07 Pascal-FC

Burns and Davies, 1993.Burns and Davies, 1993.Está basado en un subconjunto del Lenguaje Está basado en un subconjunto del Lenguaje

Pascal: el Pascal-S (Wirth, 1979).Pascal: el Pascal-S (Wirth, 1979).No trae algunas características que No trae algunas características que

proporciona Pascal:proporciona Pascal: Ficheros Ficheros No puede usarse "With"No puede usarse "With" PunterosPunteros No existe el tipo setNo existe el tipo set Registros VariantesRegistros Variantes No existe el tipo rangoNo existe el tipo rango

IntroducciónIntroducción

Page 6: 07 Pascal-FC

Añadidos respecto al PascalAñadidos respecto al Pascal

bucle "repeat ...forever"bucle "repeat ...forever"

Sentencia "null'Sentencia "null'

La función "random"La función "random" i:=random(n) : Devuelve un número i:=random(n) : Devuelve un número

aleatorio entre 0 y abs(n)aleatorio entre 0 y abs(n)

IntroducciónIntroducción

Page 7: 07 Pascal-FC

Estructura de un programaEstructura de un programa

program identificador;program identificador;

• • (* Declaraciones globales: constantes, tipos. *)(* Declaraciones globales: constantes, tipos. *)

• • (* variables, procedimientos, funciones, *)(* variables, procedimientos, funciones, *)

• • (* tipos de procesos, procesos, monitores *)(* tipos de procesos, procesos, monitores *)

beginbegin

• • (* sentencias *) (* sentencias *)

end.end.

Page 8: 07 Pascal-FC

Estados de un proceso en Estados de un proceso en Pascal-FCPascal-FC

Page 9: 07 Pascal-FC

Gestión de procesos en Gestión de procesos en Pascal-FCPascal-FC

Pascal-FC es un lenguaje didáctico Pascal-FC es un lenguaje didáctico pensado incluso para SO sin soporte de pensado incluso para SO sin soporte de concurrencia.concurrencia.

Por ello el compilador al generar el Por ello el compilador al generar el ejecutable ejecutable

empaqueta código empaqueta código

de usuario + de usuario +

planificador.planificador.

Page 10: 07 Pascal-FC

Planificación de procesosPlanificación de procesos

Política injustaPolítica injusta: ejecutar un proceso : ejecutar un proceso hasta que termine, luego otro, etc.hasta que termine, luego otro, etc.

Política justaPolítica justa: Compartir el tiempo del : Compartir el tiempo del procesador dando rodajas de tiempo a los procesador dando rodajas de tiempo a los procesosprocesos

Page 11: 07 Pascal-FC

Ejecución de un programa en Ejecución de un programa en PascaI-FCPascaI-FC

Pascal-FC consiste en dos programas Pascal-FC consiste en dos programas separados: un compilador (pfccomp) y un separados: un compilador (pfccomp) y un intérprete (pint, ufpinf)intérprete (pint, ufpinf)

pfccomp FichFuente FichListado FichObjetopfccomp FichFuente FichListado FichObjeto

pint FichObjeto FichProblemaspint FichObjeto FichProblemas

ufpint FichObjeto FichProblemasufpint FichObjeto FichProblemas

Page 12: 07 Pascal-FC

DUDAS, CONSULTAS, DUDAS, CONSULTAS, SUGERENCIAS, ETC…???SUGERENCIAS, ETC…???