Ayudarme a plantear el siguiente arbol de procesos

Imagen de pacorubio77
0 puntos

* Editar mensaje
* Reporte este mensaje
* Responder citando

desarrollo de procesos

Notapor pacorubio77 » 16 Feb 2009 11:41 pm
Hola,no se como empezar a plantear el siguiente árbol de procesos,no se que regla a seguir.el problema dice lo siguiente:

Realiza un programa llamado arbol.c o arbol.cc que reciba un argumento X,por ejemplo arbol 4,se cree el siguiente árbol

p11 8541
|
|
p21 8542 8543 8548
|
|
p31 8544
|
|
p41 8545 8546 8547

Ejemplo de ejecución:
$ arbol 4
Soy el proceso padre (11): mi pid es 8541
Soy el proceso 21: mi pid es 8542. Mis padres son: 8541
Soy el proceso 22: mi pid es 8543. Mis padres son: 8541
Soy el proceso 23: mi pid es 8548. Mis padres son: 8541
Soy el proceso 31: mi pid es 8544. Mis padres son: 8543, 8541
Soy el proceso 41: mi pid es 8545. Mis padres son: 8544, 8543, 8541
Soy el proceso 42: mi pid es 8546. Mis padres son: 8544, 8543, 8541
Soy el proceso 43: mi pid es 8547. Mis padres son: 8544, 8543, 8541
/*Tras un intervalo de n segundos aparecerá */
Soy 41 (8545) y muero
Soy 42 (8546) y muero
Soy 43 (8547) y muero
Soy 31 (8544) y muero
Soy 21 (8542) y muero
Soy 22 (8543) y muero
Soy 23 (8548) y muero
Soy 11 (8541) y muero

No puedo señalarlo,pero 8542,8543,8548 son hijos de 8541 y 8545,8546 y 8547 son hijos de 8544 ,los número no tienen porque ser estos,solo lo pongo a modo de orientacion,pero es que no se el proceso a seguir....

Me podeis ayudar a entender,como empezar el desarrollo?

Espero respuesta.
Gracias.

Imagen de slap
+1
0
-1

Falta información.
No dices qué es el argumento que le pasas al programa auqnue supongo que se trata de la profundidad del árbol.
Tampoco dices sobre qué procesos hay que hacer el árbol, si sobre procesos existentes ya en el sistema o procesos creados por el propio programa.

Te aconsejo que mires las funciones getpid() y getppid():

man getpid
man getppid

Saludos.


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://7grados.injiniero.es

+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de pacorubio77
+1
0
-1

Hola,yo creo que el argumento es la profundidad del programa..y yo creo que los procesos los crea el programa con fork()....

Aun sigo intentando entender el problema.

+1
0
-1
Imagen de ssm22
+1
0
-1

Hola Pacorubio77:

Yo también soy de la UA y estoy atascado con esto, me salen hijos por todos lados... te ha salido? me podrias decir cómo hacerlo? te lo agradeceria mucho.... que estoy que ya no se que hacer...gracias...

+1
0
-1