Sistemas Concurrentes y Distribuidos
|
|
Seminario 1:
Programación multihebra con semáforos.
El objetivo de este seminario es hacer una introducción a las funciones
básicas de POSIX para creación y espera (join) de hebras, así como el uso
de las mismas para la realización de un cálculo concurrente que puede aprovechar
todos los procesadores un ordenador personal.
Transparencias del seminario (PDFs)
Archivos disponibles:
Todos estos archivos deben descargarse en una misma cárpeta. El código
y el makefile que se proporcionan se han probado en Linux.
-
Archivos fuente C/C++ con los tres ejemplos de creación de hebras
- ejemplo1.cpp:
creación y ejecución de dos hebras desde la principal.
- ejemplo2.cpp:
creación, ejecución y espera con 'join' de dos hebras desde la principal.
- ejemplo3.cpp:
creación, ejecución y espera con 'join' de varias hebras cuyos
identificadores se almacenan en un vector.
-
Archivos fuente C para las funciones de cálculo de tiempos:
-
Código fuente C/C++ incompleto (plantilla) para el programa de cálculo concurrente del
número PI
-
Archivos fuente C/C++ con los dos ejemplos de sincronización con semáforos:
- ejemplo4.cpp:
uso de un semáforo para exclusión mutua entre dos hebras.
- ejemplo5.cpp:
uso de un semáforo para sincronización en accesos de lectura
y escritura a una variable compartida.
-
Archivo para compilar todos los fuentes C/C++ con la orden make:
Usar:
- make 1 : para compilar y ejecutar el ejemplo 1 (igual para los ejemplos 2,3,4 y 5).
- make pi : para compilar y ejecutar el programa del cálculo concurrente de pi.
sitio web modificado por última vez el 15 de Septiembre de 2015