Foros del Web » Programación para mayores de 30 ;) » C/C++ »

procesos padres e hijos en C

Estas en el tema de procesos padres e hijos en C en el foro de C/C++ en Foros del Web. Buenas tardes. Necesito vuestra ayuda para un trabajo urgente. No pido que me lo hagais simplemente necesito ayuda. El trabajo es sobre procesos padres, hijos ...
  #1 (permalink)  
Antiguo 17/12/2013, 06:44
 
Fecha de Ingreso: diciembre-2013
Mensajes: 1
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta procesos padres e hijos en C

Buenas tardes. Necesito vuestra ayuda para un trabajo urgente. No pido que me lo hagais simplemente necesito ayuda. El trabajo es sobre procesos padres, hijos y testigos. Os dejo el enunciado:


1.Haced un pequeño programa que cree un hijo y deje a padre e hijo en un pause(). Compiladlo, ejecutadlo, comprobadlo con ps -fu y depuradlo, si fuera necesario.
2. El siguiente paso es modificar el programa para que tenga 7 hijos.
3.Si todo va bien, lograd que se tengan tantos hijos como los especificados en una variable.
4. Es el momento de que se creen tantos hijos como se indique en la línea de órdenes.
5. Completad el tratamiento de la línea de órdenes, añadiendo la posibilidad de debug y detectando errores.
6. Ahora empecemos a programar la finalización ordenada. Al pulsar CTRL+C, el padre debe esperar por la muerte de los hijos e imprimir por pantalla su mensaje. Registrará para ello la señal SIGINT.

7. El siguiente paso consiste en hacer circular el testigo. Debéis registrar la señal SIGUSR1 y diseñar un esquema de circulación de la señal. Haced la pausa del modo de depuración. Los procesos pueden imprimir su pid cada vez que reciban el testigo para poder depurar. Uno de los procesos debe comenzar la circulación del testigo.
8.Si no funciona, pensad dónde se está recibiendo la señal y si la solución que planteamos es válida se reciba donde se reciba. Pensad que también puede estar recibiéndose la siguiente señal en la propia manejadora. Si no funciona, una solución es bloquear con sigprocmask SIGUSR1 en la zona conflictiva y desbloquearla cuando no tenga peligro el recibirla (quizá en un sigsuspend).
9. El resto del camino no es más fácil. Debéis programar la entrada y salida de la sección crítica y las pausas correspondientes, registrando la señal SIGALRM. El problema fundamental de esta etapa es que tenéis que poner orden en la posible recepción concurrente de varias señales.
10. Si veis que la cosa se complica, quizá podéis replantear la programación usada a una orientada a sucesos, tal y como vimos en clase...


Los apartados en rojo ya los tengo realizados, me gustaría que me echaseis una mano con el resto de apartados. Si pudieseis ayudarme os lo agradereceria muchisimo.

Un saludo :)

Etiquetas: funcion, hijos, padres, procesos, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.