Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2014, 09:55
albalejandre
Invitado
 
Mensajes: n/a
Puntos:
Información Programa de procesos en c

Buenas tardes alguien me podría echar una mano con este programa?
Un programa cuyo proceso principal va a representar el abuelo de una
familia. Dicho programa va a crear un proceso hijo que es el medico familiar.
El proceso abuelo sabe que sus nietos van a salir esta noche, y como
suelen ponerse enfermos debido al agua de los hielos de los refrescos que
toman es posible que le toque llevarlos al medico, ya que sus hijos tienen
que trabajar al día siguiente. Ante esta situación el proceso abuelo debe
asegurarse de que el medico esta disponible y esperar por los nietos. Para
ello:
• Una vez el abuelo ha creado al proceso medico, debe averiguar si el
medico va a estar disponible esa noche. Para ello el abuelo manda
una señal SIGUSR1 al medico. Este, que debe estar pendiente de la ´
recepción de la señal sin hacer otra cosa, si recibe esa señal debe
generar un numero aleatorio entre 0 y 1. Si el numero es 0 no estar´a
disponible y lo comunicar´a al proceso abuelo mediante la señal
SIGUSR1 y si lo estuviera le enviar´a la señal SIGUSR2.
• El abuelo debe estar esperando por una de estas señales. Si se recibe
la señal SIGUSR1 el abuelo imprime por pantalla que el medico no
esta disponible y no deja salir a sus nietos y as´ı se acaba el problema.
• En caso de recibir SIGUSR2 el abuelo crea 2 hijos y cada uno de
sus hijos crean a su vez 3 nietos. Esos nietos duermen un numero
de segundos aleatorio entre 2 y 6 y generan un aleatorio 0 o 1 para
decir si vuelven enfermos o no. Los hijos deben devolver al padre ese
numero aleatorio.
• Los padres de los nietos esperan por ellos y cuentan el numero de hijos
enfermos, esta información se la devuelven al abuelo cuando todos
los nietos hayan terminado. Una vez el abuelo reciba la información
de los hijos enfermos imprimirá por pantalla “tengo X nietos que
han llegado a casa enfermos habrá que ir al doctor” y terminar´a el
programa