Académique Documents
Professionnel Documents
Culture Documents
-Implementacin de Concurrencia
-Tres mecanismos bsicos para implementar la concurrencia en la programacin de tiempo real:
A) Ejecutivo Cclico (Cyclic Executive)
-El programa consta de un slo bucle que se repite con una frecuencia dada (quizs guiado por
un temporizador). En cada pasada, se realiza el proceso correspondiente a las tareas que vayan
con esa frecuencia. Cada dos pasadas, las tareas de frecuencia doble. As, sucesivamente.
-Requiere que todas las tareas sean peridicas de frecuencias armnicas (mltiplos).
-Difcilmente escalable y modificable.
-Vlido en sistemas pequeos y simples con restricciones temporales adecuadas.
-Control de Excepciones
-Un programa de tiempo real debe reaccionar adecuadamente ante eventos imprevistos
(excepciones), puesto que el mundo real no es completamente predecible.
-Formas de detectar excepciones en lenguajes de programacin:
A) Por Valor de Retorno:
-Cada rutina puede devolver un valor de error a quien la llame, si detecta una excepcin.
-Tpico de lenguajes antiguos (C, Pascal).
-Es sencillo de usar, pero complica el cdigo y es propenso a olvido.
B) Por Bifurcacin Forzada:
-Al llamar a una rutina, sta manipula la direccin de retorno para retornar a un lugar o a
otro dependiendo de si hay excepcin o no.
-Tpico de lenguajes ensambladores.
-Complica la comprensin del programa, y difcil de usar y modificar.
C) Salto Global:
-Se establece en una variable global la direccin a donde saltar si hay error. Cuando
alguien detecta el error, salta ah limpiando previamente la pila de llamadas.
-Lenguajes antiguos (C, RTL/2)
-Complica la comprensin del programa y es difcil de modificar. Slo sirve para errores
no recuperables.
Juan Antonio Fernndez Madrigal, 2004
Dpto. Ingeniera de Sistemas y Automtica, Universidad de Mlaga
D) Variables de Procedimiento:
-Se establece en una variable global la direccin de una rutina a la que se puede saltar
cuando haya un error. La rutina trata el error y retorna a donde se la llam.
-Lenguajes antiguos (C, Pascal, RTL/2)
-Complica la comprensin del programa y slo sirve para errores recuperables. Se puede
mezclar con Salto Global.
E) Excepciones Provistas por el Lenguaje:
-El lenguaje provee un objeto o tipo de datos Excepcin, y mecanismos para
generarlas (sentencias de generacin) y tratarlas (manejadores de excepciones).
-Lenguajes modernos, no necesariamente orientados a objetos (C++, JAVA, CHILL)
-Es el mtodo ms adoptado en la actualidad, facilita la lectura del cdigo y las
modificaciones. Sin embargo, en muchos lenguajes es opcional (C++) y sobrecarga la
ejecucin normal del programa cuando no hay excepciones.
10