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 :
- Presentación
: Se realiza una breve descripción del
problema que se trata, e incluye los siguientes epígrafes :
- Objetivos del trabajo :
Se explican los objetivos marcados en la realización del
trabajo.
- Aportaciones del trabajo :
Se indican las aportaciones realizadas en el presente trabajo.
- Posibles aplicaciones :
Se exponen las aplicaciones posibles del problema.
- 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.
- 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.
- Arquitecturas multihilo
: Se describen las características y problemática
de las nuevas arquitecturas hardware con soporte multihilo, junto
con un ejemplo concreto.
- Sistemas operativos
: Se presentan algunos de los nuevos sistemas
operativos con soporte de hilos, explicando sus arquitectura e
implementación.
- 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.
- 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.
- 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.
- 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.
- 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
- PRESENTACION.
- CONCEPTOS BÁSICOS.
- INTRODUCCIÓN A LOS THREADS.
- ARQUITECTURAS MULTIHILO.
- SISTEMAS OPERATIVOS CON GESTIÓN DE HILOS.
- PAQUETES DE HILOS.
- Apéndice A. EJEMPLOS DE PROGRAMACIÓN.
- Apéndice B. MIT Pthreads.
- Apéndice C. GLOSARIO DE TÉRMINOS.
- Apéndice D. BIBLIOGRAFÍA.
E-mail : jmtoribi@poboxes.com
©1997 Jose Mª Toribio Vicente