SISTEMAS INFORMÁTICOS EN TIEMPO REAL EXAMEN DE TEORÍA 3ª ITI Sistemas 4 de Diciembre de 2003 1. (1.5 ptos.)Excepciones: Indicar que formas hay en los lenguajes actuales de tratamiento de excepciones, el dominio de los manejadores de excepciones, propagación. Indicad en que consiste el modelo de reanudación y terminación. 2. (1.5 ptos.)En una aplicación de control se calienta gas en una cámara cerrada. Esta se encuentra rodeada por un refrigerante que reduce la temperatura del gas. También hay una válvula que, al ser abierta, libera gas en la atmósfera. La operación del proceso está controlada por un paquete Ada que se indica más adelante. El paquete reconoce condiciones de error: excepciones. La excepción Calentador_Atascado se genera desde el procedimiento Apaga_Calentador cuando no se puede apagar el calefactor. La excepción Temperatura_Subiendo se genera desde el procedimiento Aumenta_Refrigerante si es incapaz de apagar la temperatura del gas. La excepción Valvula_Atascada se genera desde el procedimiento Abre_Valvula si es incapaz de liberar el gas. Escribe un procedimiento que al ser llamado intente apagar el calentador de la cámara de gas. Si el calentador está atascado y encendido aumentará el caudal del refrigerante que rodea la cámara. Si la temperatura sigue subiendo, deberá abrir la válvula de escape para soltar el gas. Si falla, deberá hacer sonar una alarma e informar a los bomberos. Package Control_Temperatura is Calentador_Atascado, Temperatura_Subiendo, Valvula_Atascada : exception; Procedure Enciende_Calentador; ------ enciende calentador Procedure Apaga_Calentador; ------ apaga calentador y genera Calentador_Atascado Procedure Aumenta_Refrigenrante; ------ Aumenta caudal del refrigenrante y genera Temperatura_Subiendo Procedure Abre_Valvula; ------ Abre la valvula para soltar algo degas y genera Valvula_Atascada Procedure Panico; ------ hace sonar una alarma y llama a los bomberos end Control_Temperatura; 3. (2 ptos.) Indicar y explicar brevemente los mecanismos de ejecución concurrente. Para el pseudocódigo dado abajo, indicar que bloque es el padre y cual el guardián de X e Y.all. declare Task type T; Type A is access T; begin …………… declare X : T; Y : A:= new T; begin …………….. end; …………….. end; 4. (2.5 ptos.) Supongamos el siguiente conjunto de tareas periódicas con los siguientes tiempos de computación (C) , periodos (T): Tarea Tarea 1 Tarea 2 Tarea 3 Tarea 4 T 20 15 10 20 D 5 7 10 20 C 3 3 4 3 4.1 (0.75 ptos.)Para las tareas 1,3 y 4 basándose en el test de planificabilidad basado en el factor de utilización, indicar la viabilidad de realizar una planificación donde se cumplan los plazos. Usar el cronograma para comprobar si se cumplen los plazos. El factor de utilización para 3 procesos es 0.779 (U). 4.2 (0.75 ptos.)Idem pero usando el test de cálculo del tiempo de respuesta en el peor caso. 4.3 (1 pto.)Supongamos que son 4 tareas esporádicas y aperiódicas y que sus deadlines son las indicadas en la columna D. ¿sería posible una planificación donde se cumplan los plazos? usar el test de cálculo de tiempo en el peor caso. 5. (2.5 ptos.) Dado el siguiente conjunto de procesos y recursos, indicad mediante un cronograma como sería la interacción entre tareas y bloqueos según el protocolo de prioridad de techo inmediato. Tarea Tarea 1 Tarea 2 Tarea 3 Tarea 4 P 4 3 2 1 E PPabPP PbbP PP PaaaaP C 4 2 2 0 P: Prioridad. 4 > 1 C: Instante de liberación del proceso. E: Secuencia de ejecución del proceso. a-> recurso A. b-> recurso B