BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACION PROGRAMACION CONCURRENTE Y PARALELA PRIMAVERA 2015 MANUAL III DE PRACTICAS DE LABORATORIO Dr. Mario Rossainz López H. Puebla de Z. a 17 de marzo de 2015 1. Implemente la solución concurrente en CTJ del siguiente problema: Un hospital con 200 habitaciones, desea construir una aplicación que le permita monitorizar las constantes vitales de los pacientes. Para ello dispone de un sistema como el que se muestra en la siguiente figura. Cada paciente está conectado a una computadora que toma cada 500 ms la temperatura, las pulsaciones y la presión arterial de dicho paciente. Se dispone de una computadora que hace de monitor y que visualiza las constantes vitales de todos los pacientes. El funcionamiento de la aplicación es el siguiente: cuando llega un paciente, la computadora a la que se conecta el paciente envía un mensaje al monitor indicándole que va a comenzar el proceso de monitorización. Cada 500 ms envía al monitor las constantes vitales del paciente. Cuando el paciente abandona la habitación, la computadora a la que estaba conectada envía un mensaje al monitor indicándole que deja de enviarle datos. Diseñe la aplicación considerando un sistema basado en colas de mensajes. 2. Hay tres personas sentadas alrededor de una mesa. Cada una tiene una pila de papel impreso. El comportamiento de cada persona consiste en colocar un papel en la mesa y esperar a que una cuarta persona los recoja (una vez que los 3 papeles están puestos en la mesa) y los engrape, volviéndose a repetir el procedimiento. Implemente su solución concurrente en CTJ. 3. Hacer un proceso que reciba caracteres en paralelo por sus dos canales de entrada (izq1 e izq2) y por cada par de asteriscos “**” que entren (uno en cada canal), dé cómo salida el carácter “#” por su canal derecho de salida. En cualquier otro caso el proceso enviará el caracter “$” por su canal derecho como salida. Implemente su solución concurrente en CTJ. 4. Escribe un programa concurrente en CTJ (sólo el programa principal que genera la composición de procesos) que simule un sistema digital formado de compuertas AND, OR y NOT conectadas entre sí tal como lo muestra la figura siguiente: Test1 AND NOT Output 1 Test2 Test3 OR Output 2 5. Resuelva El Problema de los Amigos Comelones con paso de mensajes usando CTJ: Un grupo de N personas se van a vivir juntas a una misma casa, como si fueran hermanos, junto a un cocinero. Todos ellos, salvo el cocinero, comen de una cacerola común que tiene capacidad para M raciones de guiso, con las siguientes restricciones: Cuando una persona quiere comer, se sirve él mismo directamente de la cacerola, salvo que esté vacía. En ese caso, el sujeto debe despertar al cocinero y esperar a que éste haya rellenado el caldero de nuevo. Antes de dejar comer a otro hermano, él debe terminar de comer su ración completa. Después de comer, los hermanos deben continuar con las tareas de limpieza del hogar común, hasta que les vuelva a entrar el apetito. El cocinero, por su parte, regresa a dormir en cuanto a rellenado el caldero. FECHA DE ENTREGA 22 de abril de 2015 FORMA DE ENTREGA Código Fuente compilado, sin errores sintácticos y código ejecutable en un CD rotulado con su nombre y matrícula. Cada programa deberá estar almacenado en una carpeta independiente. NOTA Podrán hacer y entregar los ejercicios de este manual en equipos de a lo más 5 personas
© Copyright 2024