Está en la página 1de 2

Universidad Latina

Ingeniería en TICs

BIT-28 Sistemas Operativos II

Laboratorio #1
Programación paralela Multi-core (share memory con OpenMP)
Instrucciones
Trabaje individualmente. Siga los siguientes puntos paso a paso. Debe trabajar en Linux (Ubuntu o Fedora).
Debe entregar un reporte antes de la próxima clase en el Moodle.

1. Obtener ejemplos de GitHub

En este laboratorio vamos a ejecutar algunos ejemplos que se subieron en GitHub. Proceda a descargar todos
los ejemplos, en algún directorio de su máquina virtual, con el siguiente comando:

git clone https://github.com/carlosandres-mendez/operativos.git

Si ya cuenta con el directorio, entonces solo actualice y descargue las últimas versiones (debemos
posicionarnos dentro de la carpeta operativos). Se obtendrá la siguiente salida.

git pull

Estos programas deben comprenderse por el estudiante (y no solo ejecutarlos). El código fuente de estos
programas deben ser estudiados conforme se realice el laboratorio, y en caso de tener consultas con el
código fuente, se debe investigar o preguntar al profesor.

2. OpenMP
OpenMP es una interfaz de programación de aplicaciones (API) para la programación multiproceso de
memoria compartida en múltiples plataformas. Permite añadir concurrencia a los programas escritos en C, C+
+ y Fortran sobre la base del modelo de ejecución fork-join. Está disponible en muchas arquitecturas, incluidas
las plataformas de Unix y de Microsoft Windows. Se compone de un conjunto de directivas de compilador,
rutinas de biblioteca, y variables de entorno que influyen el comportamiento en tiempo de ejecución.

Revise y ejecute el ejemplo ch4/openmp.c. Para ello compile con el siguiente comando.

gcc -fopenmp openmp.c

Esto generará un archivo a.out, puede ejecutarlo de la siguiente manera:

./a.out

Revise y ejecute los ejemplos en openMP/. Compile y ejecute de la misma manera.

Fuente y lecturas recomendadas

[1] Silberschatz, A. y otros. Operating System Concepts Essentials (10a ed). Espana: McGraw-Hill.

CHAPTER 19 Networks and Distributed Systems

[2] Ajay, D. (2008). Distributed Computing, Principles, Algorithms, and Systems.

[3] The OpenMP API specification for parallel programming


https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf

También podría gustarte