Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 1 Programacion Avanzada Compress
Practica 1 Programacion Avanzada Compress
Programación Avanzada
Prof. Miguel Alejandro Martı́nez Rosales Malagón Hernández Edgar H.
Grupo: 2TM2 Fecha de Entrega: 17/02/17
1 2 3
7 8
4 5 10
6 9
11
1719
1724 1725
1726 1727 1723
1730 1729
1728
2
Anexos
1 #i n c l u d e <s t d i o . h>
#i n c l u d e <u n i s t d . h>
3
// Funcion que imprime PID y PPID a c t u a l e s .
5 v o i d printPIDS ( ) {
p r i n t f ( ” \nPPID= %d” , g e t p p i d ( ) ) ;
7 p r i n t f ( ” \tPID= %d\n” , g e t p i d ( ) ) ;
};
9
i n t main ( ) {
11 // Cabecera y PIDs p r i n c i p a l e s como r e f e r e n c i a
// para c r e a r e l a r b o l .
13 p r i n t f ( ” Arbol de p r o c e s o s con f o r k ( ) \n” ) ;
p r i n t f ( ”PID de l a c o n s o l a : = %d” , g e t p p i d ( ) ) ;
15 p r i n t f ( ” \nPID d e l programa : = %d\n” , g e t p i d ( ) ) ;
17 i f ( f o r k ( ) ) { // Padre p r e p a r a P−1
i f ( f o r k ( ) ) { // Padre p r e p a r a P−2
19 i f ( f o r k ( ) ) { // Padre p r e p a r a P−3
}
21 else { // Nace P−3
printPIDS ( ) ;
23 i f ( f o r k ( ) ) { // P−3 p r e p a r a P−3−1
}
25 else { // Nace P−3−1
printPIDS ( ) ;
27 i f ( f o r k ( ) ) { // P−3−1 p r e p a r a P−3−1−1
}
29 else { // Nace P−3−1−1
printPIDS ( ) ;
31 }
}
33 }
}
35 else { // Nace P−2
printPIDS ( ) ;
37 i f ( f o r k ( ) ) { // P−2 p r e p a r a P−2−1
i f ( f o r k ( ) ) { // P−2 p r e p a r a P−2−2
39 }
else { // Nace P−2−2
41 printPIDS ( ) ;
}
43 }
else { // Nace P−2−1
45 printPIDS ( ) ;
i f ( f o r k ( ) ) { // P−2−1 p r e p a r a P−2−1−1
47 }
else { // Nace P−2−1−1
49 printPIDS ( ) ;
}
51 }
}
53 }
3
else { // Nace P−1
55 printPIDS ( ) ;
i f ( f o r k ( ) ) { // P−1 p r e p a r a P−1−1
57 i f ( f o r k ( ) ) { // P−1 p r e p a r a P−1−2
}
59 else { // Nace P−1−2
printPIDS ( ) ;
61 }
}
63 else { // Nace P−1−1
printPIDS ( ) ;
65 i f ( f o r k ( ) ) { // P−1−1 p r e p a r a P−1−1−1
}
67 else { // Nace P−1−1−1
printPIDS ( ) ;
69 }
}
71 }
sleep (1) ;
73 return 0;
}
Practica1.c