En este repositorio encontraran algunos ejemplos respecto a la utilidad de los hilos en el contexto de los sistemas operativos.
-
fork.c
ythread.c
Este par archivos evidencian las ventajas a la hora de crear hilos de ejecucion versus el crear procesos con la llamada al sistemafork()
-
Compile
fork.c
,gcc fork.c -o fork
-
Ejecute el recien creado
fork
,time ./fork
-
Compile
thread.c
,gcc -pthread thread.c -o thread
-
Ejecute el recien creado
thread
,time ./thread
-
-
threadprime.c
Este codigo evidencia las ventajas de usar hilos- Reduccion en el tiempo de ejecucion
- Uso del procesador
-
thread_01*.c
En esta serie de programas se evidencian los cuidados que se deben tener a la hora de trabajar con hilos, en particular lo que tiene que ver con la destruccion de hilos. -
riemann_scheme.c
Este programa da el esqueleto de lo que podria ser la implementacion del metodo de Riemann para calcular el area bajo la curva usando hilos de ejecucion.
-
Documente lo observado con los programas
fork
ythread
.- Asegúrese que tanto
fork.c
comothread.c
tengan en las variablesNFORKS
yNTHREADS
el valor de50000
, respectivamente. - Tome los tiempos de ejecutar ambos programas. Ejecúte cada programa 5 veces. De cada programa elimine el valor más alto y el más bajo; saque el promedio de los tres valores restantes.
- Asegúrese que tanto
-
Para el codigo threadprime.c, ejecute el binario de compilar este codigo y grafique los tiempos de respuesta al ejecutar su codigo con 1, 2, 4, 8, 16, 32, 64 y 128; hilos. Hint: Haga los ajustes en el codigo para que uste pueda correr el programa con 64 y 128 hilos.
-
Escriba un programa en C que haga lo siguiente
- Incluya el archivo de cabecera
pthread.h
- El programa principal cree varios hilos y cada uno de ellos ejecuta un
hola n
, donden
es el identificador del hilo. Hint: use la funcionpthread_self()
, detalles de la funcion aqui
- Incluya el archivo de cabecera
-
Compile el programa
hello32.c
y ejecutelo varias veces (5 esta bien). ¿Observa algun patron en la salida de la ejecucion del programa? -
Complete el codigo en
riemann_scheme.c