Professional Documents
Culture Documents
Ayudantı́a 3: Capı́tulo 3
Profesor: Viktor Tapia
Ayudante de cátedra: Francisco Olivares
Ayudantes de tareas: Giorgio Pellizzari y Gabriel Valenzuela
1 Ejercicios de desarrollo
1. En estructuras de datos usted aprendió (se supone) lo que era un árbol binario, entonces se
le pide que genere un código en C el cual genere una jerarquı́a de procesos que simule un
árbol binario de n niveles.
1
Universidad Técnica Federico Santa Marı́a
Campus Santiago San Joaquı́n
Sistemas operativos
2◦ semestre 2017
int num;
pid_t pid;
srandom(getpid());
for(num = 0; num < 4; num++){
pid=fork();
printf("Soy el proceso de PID %d. \n", getpid());
if(pid==0)
break;
}
if(pid==0)
sleep(random()%5);
else
for(num=0; num < 4; num++)
wait(null);
a) Dibuje la jerarquı́a de procesos. Recuerde que los hijos del mismo padre van en el mismo
nivel.
b) Escriba la salida que genera el código una vez es ejecutado. Considere que el primer
proceso tiene pid = 0 y a sus hijos se le asignará el pid más cercano disponible (2, 3,
etc)
c) Describa lo más simple posible la jerarquı́a que genera el código. Recuerde hablar de la
finalización de los procesos.
2
Universidad Técnica Federico Santa Marı́a
Campus Santiago San Joaquı́n
Sistemas operativos
2◦ semestre 2017