Programación utilizando C threads

por Jose Mª Toribio Vicente

Dpto. de Informática.

Ingeniería Informática.

Universidad de Valladolid (España)

Febrero 1997

PRÓLOGO

El trabajo que se presenta consiste en un estudio de la situación actual en relación a los threads o hilos de ejecución, y su influencia tanto a nivel hardware, con la aparición de nuevas arquitecturas multihilo, como a nivel software, con el desarrollo de nuevos sistemas operativos con soporte de threads y bibliotecas de programación multihilo, centrándonos en aquellas desarrolladas para el lenguaje de programación C. Además se presentan algunos de los problemas más clásicos de la programación concurrente resueltos mediante las nuevas técnicas de programación con hilos.

También se presenta la documentación del paquete de hilos MIT Pthreads de Chris Provenzano, desarrollada como soporte del programador de hilos.

El trabajo consta de un único volumen organizado en capítulos. Además cada capítulo se subdivide en distintos apartados. Se dispone del presente trabajo en formato comprimido así como los fuentes de los ejemplos y el manual en línea de MIT Pthreads.

La estructura general del trabajo es la siguiente :

  1. Presentación  : Se realiza una breve descripción del problema que se trata, e incluye los siguientes epígrafes :
    1. Objetivos del trabajo : Se explican los objetivos marcados en la realización del trabajo.  
    2. Aportaciones del trabajo : Se indican las aportaciones realizadas en el presente trabajo. 
    3. Posibles aplicaciones : Se exponen las aplicaciones posibles del problema.
  2. Conceptos básicos  : Se presentan los conceptos básicos necesarios para comprender el resto del trabajo : conceptos de sistema operativo, proceso, concurrencia y comunicación entre procesos.
  3. Introducción a los threads  : Se exponen los conceptos básicos sobre hilos, su historia, sus ventajas e inconvenientes, la forma de realizar su diseño e implementación, y una serie de técnicas de programación.
  4. Arquitecturas multihilo  : Se describen las características y problemática de las nuevas arquitecturas hardware con soporte multihilo, junto con un ejemplo concreto.
  5. Sistemas operativos  : Se presentan algunos de los nuevos sistemas operativos con soporte de hilos, explicando sus arquitectura e implementación. 
  6. Paquetes de hilos : Se describen los principales paquetes de hilos que existen en la actualidad empleados en la programación multihilo, junto con el nuevo estándar POSIX 1003.1c sobre hilos. 
  7. Apéndice A. Ejemplos de programación : Se muestran algunos de los problemas más clásicos de programación concurrente, para dar una idea de la forma de programar con hilos. Se dispone de los fuentes de los ejemplos en formato comprimido. 
  8. Apéndice B. MIT Pthreads : Se acompaña la documentación desarrollada del paquete de hilos MIT Pthreads : manual de instalación, manual del responsable del sistema, manual del programador y manual de usuario. También existe un manual en línea de las funciones del paquete en el formato de la utilidad man de UNIX. 
  9. Apéndice C. Glosario de términos : Se muestra una breve descripción de los términos más habituales empleados en el entorno de los hilos.  
  10. Apéndice D. Bibliografía : Se presenta una lista alfabética de referencias bibliográficas sobre el estudio de los hilos, junto con una serie de direcciones Internet de interés.

CONTENIDO
  1. PRESENTACION.
  2. CONCEPTOS BÁSICOS.
  3. INTRODUCCIÓN A LOS THREADS.
  4. ARQUITECTURAS MULTIHILO.
  5. SISTEMAS OPERATIVOS CON GESTIÓN DE HILOS.
  6. PAQUETES DE HILOS.
  7. Apéndice A. EJEMPLOS DE PROGRAMACIÓN.
  8. Apéndice B. MIT Pthreads.
  9. Apéndice C. GLOSARIO DE TÉRMINOS.
  10. Apéndice D. BIBLIOGRAFÍA.

E-mail : jmtoribi@poboxes.com

©1997 Jose Mª Toribio Vicente