Certamen 1 ELO-321 Parte 1: Profesor: Mauricio Araya 13 de Octubre Del 2022
Certamen 1 ELO-321 Parte 1: Profesor: Mauricio Araya 13 de Octubre Del 2022
Certamen 1 ELO-321 Parte 1: Profesor: Mauricio Araya 13 de Octubre Del 2022
#include <stdio.h>
#include <unistd.h>
void main(){
int i;
for (i=0; i<3; i++)
fork();
print("Hola\n");
wait(NULL);
}
4. Una lı́nea férrea une dos ciudades A y B, donde existe una sección del
tramo que tiene una única vı́a, tal como se indica en la figura:
1
Existen trenes que viajan de A a B y de B a A. En la sección del tramo de
vı́a única se deben coordinar los trenes de manera que en un determinado
instante en la sección sólo existan trenes viajando en un solo sentido.
Elabore una estrategia de semáforos para simular y solucionar este prob-
lema, indicando los procesos existentes en su solución y cómo se coordinan.
Puede usar prosa, pseudo-código o código para explicar mejor su solución
si ası́ lo estima conveniente (10p).
N
X (−1)k
5. El siguiente código aproxima el valor de pi utilizando la serie, π ≈ 4 .
2k + 1
k=0
Cada elemento de la serie es tratada por una hebra.
#i n c l u d e <s t d i o . h>
#i n c l u d e <p t h r e a d . h>
#d e f i n e N 100
double p i ;
v o i d ∗ r u n n e r ( v o i d ∗ param ){
i n t ∗ v=( i n t ∗ ) param ;
i n t k=∗v ;
f l o a t v a l = 1 . 0 / ( 2 . 0 ∗ k +1);
i f ( k%2==1)
v a l=−v a l ;
p i+=v a l ;
}
i n t main ( ) {
p t h r e a d t workers [N ] ;
pthread attr t attr ;
p t h r e a d a t t r i n i t (& a t t r ) ;
p i =0;
f o r ( i n t i =0; i <N ; i ++){
p t h r e a d c r e a t e (& w o r k e r s [ i ] , & a t t r , r u n n e r ,& i ) ;
p t h r e a d j o i n ( w o r k e r s [ i ] , NULL ) ;
}
p r i n t f ( ”% l f \n” , 4 ∗ p i ) ;
}