Documente Academic
Documente Profesional
Documente Cultură
Sistemas Embebidos
Pontificia Universidad Javeriana
2015-II
Fecha de Entrega: Septiembre 8
Resumen
Los sistemas operativos nos presentan multiples servicios que facilitan la implementacion de aplica-
ciones complejas. En este proyecto se utilizaran Hilos (procesos) un concepto fundamental en Linux para
paralelizar tareas dentro de una misma aplicacion.
Escriba dos programas en C que genere el numero de Fibonacci n, donde n es (un numero natural)
recibido como entrada. En el primer programa, el numero es generado en un nuevo proceso; en el segundo
es generado en un nuevo hilo. Tome como referencia el ejercicio 3.15 (pg. 143) y 4.14 (pg. 175) del libro de
referencia en sistemas operativos [1].
Ud recibe como referencia un codigo fuente (fib.c) de un programa que calcula el n-esimo numero de
Fibonacci. No tiene la obligacion de usarlo, y solo se entrega como gua. Basado en [2].
Debera generar un conjunto de experimentos que le permitan diferenciar el overhead para los procesos y
los hilos con el objetivo de calcular los numeros de Fibonacci. Estas son algunas ideas que puede probar:
Multiples hilos/procesos son creados y calculan el numero de Fibonacci de manera cooperativa. Por
ejemplo, su programa puede tener dos parametros: n y k, donde k es un entero positivo. El programa
creara k hilos/procesos, donde cada proceso i (entre 0 y k 1) calcula el (n + 1)-esimo numero de
Fibonacci.
1
2. Entregables
Cada grupo debera entregar un informe presentando los detalles de las aplicaciones desarrolladas, las
condiciones lmite de uso y prueba, y la descripcion de la configuracion requerida para generar los resul-
tados del informe. Se deben presentar los resultados obtenidos, asegurar las condiciones lmite y analizar
detalladamente los resultados, encontrando las ventajas y posibles limitantes.
2.1. Informe
Los items a continuacion deben entregarse en la fecha lmite especificada:
Informe impreso siguiendo formato IEEE conferencia a una columna 1 .
Codigo fuente.
Makefile.
Archivo README explicativo del uso del programa (help file).
2.2. Instrucciones
Todos los archivos deben ser comprimidos.
Condiciones lmites deben probarse en el codigo.
La prueba de este codigo se hara sobre una BeagleBone Black corriendo la distribucion Debian.
En caso de errores, con base en el codigo y la documentacion se podra asignar credito parcial.
Referencias
[1] A. Silberschatz, P. Galvin, G. Gagne. Operating System Concepts. Wiley. 8th Edition. 2008.
[2] Prof. Adriana Iamnitchi - COP 6611: Graduate Operating Systems http://www.csee.usf.edu/ an-
da/cop6611
[3] POSIX Threads Programming: https://computing.llnl.gov/tutorials/pthreads/
1 http://www.ieee.org/conferences_events/conferences/publishing/templates.html