BIBLIOGRAFÍA COMENTADA.
A continuación se presentan las referencias
consultadas para cada uno de los distintos capítulos que
se tratan en el trabajo, y se da una breve explicación
del contenido de cada una de estas referencias, aunque existen
muchas otras que no han sido consultadas pero están relacionadas
con el tema y se presentan en la bibliografía genérica.
Algunas referencias han sido empleadas en varios capítulos,
pero la descripción solo se hace en la referencia del primero
de los capítulos en los que aparece.
Capítulo 2 : Conceptos básicos.
[BAC86] Bach, Maurice J. The Design of the UNIX Operating System.
Es un libro clásico sobre el sistema operativo
UNIX. Explica todas las características del sistema, su
historia, la estructura del kernel, la planificación, las
estructuras que manejas, así como los algoritmos empleados.
También introduce algunos conceptos de UNIX en sistemas
multiprocesador y sistemas distribuidos.
[BEN82] Ben-Ari, M. Principles of Concurrent Programming.
Es un libro clásico sobre programación
concurrente. Presenta los principios básicos de la concurrencia,
así como las técnicas para abordar los problemas :
semáforos, regiones críticas condicionales, monitores,
tareas Ada, etc. La explicación se realiza planteando problemas
clásicos de la programación concurrente : productor/consumidor,
lecotores/escritores, la cena de los filósofos, etc. Existe
una edición más reciente que aborda también
la programación en sistemas distribuidos [BEN90].
[BIC88] Bic, L. and A. Shaw. The Logical Design of Operating Systems.
Es un libro clásico sobre diseño de
sistemas operativos. Aborda todas las facetas que se deben tener
en cuenta en el diseño de un sistema operativo.
[TAN87] Tanenbaum, A. S. Operating Systems : Design and Implementation
Este libro aborda también el diseño
y la implementación de sistemas operativos. Para ello a
lo largo del libro se explica una implementación concreta
: el desarrollo del sistema operativo MINIX.
[TAN93] Tanenbaum, A. S. Sistemas Operativos Modernos.
Es uno de los libros más clásico sobre
sistemas operativos en general. Trata todos los aspectos de un
sistema operativo : procesos, sistema de ficheros, sistema
de E/S, etc. Aborda los paquetes de hilos y los sistemas distribuidos,
y presenta ejemplos de distintos sistemas operativos : UNIX,
MS-DOS, Amoeba, Mach, etc.
Capítulo 3 : Introducción a los threads.
[AMU96] Amundsen, Torsten. Oslo Bibliography on Threads and Multithreading.
Es una gran recopilación de referencias bibliográficas
sobre hilos. Presenta referencias perfectamente organizadas sobre
programación, paquetes, implementaciones, arquitecturas
hardware, etc. en relación a los hilos. Las referencias
pueden ser libros, artículos de conferencias, artículos
de revistas,e tc. En algunos casos las referencias presentan direcciones
de internet donde conseguir el artículo, aunque estas direcciones
en muchos casos están obsoletas. Existe la posibilidad
de localizar artículos concretos mediante un servicio de
búsqueda.
[ASC96c] Asche, Ruediger. Detecting Deadlocks in Multithreaded Win32 Applications.
Presenta la noción de invariante, y el marco
teórico de las redes de Petri como una forma de modelar
las aplicaciones multihilo.
[BEN82] Ben-Ari, M. Principles of Concurrent Programming.
Véase Capítulo 2.
[BIR89] Birrell, Andrew D. An introduction to programming with threads.
Es uno de los primeros artículos sobre programación
de hilos que se escribieron, y resulta un clásico. Se han
escrito muchos otros artículo basados en este. Nos presenta
principios sobre la programación multihilo, el diseño
de un paquete de hilos, y las técnicas (mútex, variables
de condición, señales,etc.).
[DEC96a] Varios. Guide to DECThreads.
Presenta un completo manual de referencia sobre la
programación con hilos en sistemas Digital UNIX y OpenVMS.
Aborda el API DECthreads comparado con POSIX.1c. Presenta conceptos
básicos, modelos y técnicas de programación,
bibliotecas hilo-seguras, un paquete de gestión de excepciones,
depuración de aplicaciones, y un ejemplo de programación.
Es una buena referencia.
[DIP94] DiPasquale, Mark. An Introduction to Threads.
Es un artículo escrito introducción
a los hilos. Introduce los niveles de hilos, las ventajas de los
hilos, los problemas de los hilos, pero no trata conceptos sobre
programación.
[IBM94a] Varios. AIX Kernel support of Pthreads.
Este artículo presenta la implementación
que realiza el sistema AIX 4.1 del estándar POSIX Threads,
describiendo conceptos básicos sobre hilos, el API y algún
ejemplo.
[IBM95] Varios. Using signals with POSIX threads.
Presenta la implementación de la gestión
de señales realizada por el entorno AIX en relación
al estándar POSIX Threads. Se presenta la problemática
y la forma de resolverla, junto con las funciones empleadas para
ello.
[KEP93] Keppel, David. Tools and Techniques for Building Fast Portable Threads Packages.
En este artículo se presenta una serie de
técnicas para la construcción de paquetes de hilos
independientes de plataformas, apoyados sobre un paquete de nivel
inferior construido por el propio autor, llamado QuickThreads
y que ha sido implementado y probado en diversas plataformas.
Es una buena referencia para obtener algunos ideas sobre implementación,
pero los paquetes que podemos construir sobre QuickThreads tienen
una funcionalidad muy limitada, ya que no permite planificación
preemptiva de los hilos.
[LEW96a] Lewis, Bil and Daniel J. Berg. How to program with threads.
Es una artículo introducctorio a la programación
con hilos, extraído del libro de los mismos autores. Se
abordan las ventajas de los hilos, y se explican algunos conceptos
básico. Incluye ejemplos clásicos empleando el API
UI Threads.
[LEW96b] Lewis, Bil. COMP.PROGRAMMING.THREADS Newsgroup.
Bil Lewis mantiene el grupo de las news COMP.PROGRAMMING.THREADS.
Presenta una serie de conceptos sobre el estado de la programación
de hilos : paquetes, referencias bibliográficas, enlaces
internet, empresas que organizan cursos de formación, etc.
[LEW96c] Lewis, Bil. FAQ of COMP.PROGRAMMING.THREADS.
Es el FAQ del grupo de news COMP.PROGRAMMING.THREADS
que es mantenido por Bil Lewis. Se pueden encontrar las respuestas
a las preguntas más habituales que se formulan entorno
a los hilos y la programación con hilos. Es una referencia
indispensable.
[MAR95] Marejka, Richard. Multi-threaded Programming.
Es una guía tutorial sobre la programación
multihilo. Presenta todos los conceptos básicos, apoyado
en numerosos ejemplos conceptuales y codificados. Describe las
arquitecturas multihilo, especialmente la implementada por Solaris,
presenta el API UI Threads y el API POSIX Threads, comparándolos,
y presenta numerosos consejos sobre programación multihilo.
También propone una serie de problemas a resolver, proporcionando
también las soluciones. Es una referencia básica.
[MIL95] Miller, Marc. Threads Programming in AIX Version 4.
Este artículo aborda la programación
con hilos, centrándose en la implementación que
realiza el sistema operativo AIX 4 sobre el estándar POSIX
Threads. Presenta los coceptos clave de la programación
multihilo.
[MUE92] Mueller, Frank. Implementing POSIX Threads under UNIX.
Es una referencia sobre la implementación
de un paquete de hilos de nivel usuario, en este caso del estándar
POSIX Threads sobre plataformas UNIX. Presenta una situación
del estado del proyecto que estaba realizando el autor en ese
momento, y los problemas que debía resolver.
[MUE93] Mueller, Frank. A Library Implementation of POSIX Threads under UNIX.
Es un documento básico sobre el diseño
e implementación de un paquete de hilos de nivel usuario,
en este caso del estándar POSIX Threads sobre plataformas
UNIX. Aborda toda la problemática de la implementación
con especial dedicación a la gestión de señales.
Las explicaciones se realizan presentando el ejemplo del paquete
de hilos realizado por el propio autor como parte del proyecto
PART (Portable Ada Run-Time).
[OSU96] O'Sullivan, Bryan. Frecuently asked questions of comp.os.research.
Presenta las respuestas a las preguntas más
habituales sobre investigación y nuevas tendencias en sistemas
operativos. Contiene un apartado especial sobre los hilos, en
el que se describe brevemente la historia de los hilos, así
como los paquetes e implementaciones disponibles en la actualidad.
[OUS94] Ousterhout, John. Why Threads are a bad idea (for most purposes).
En este artículo se presentan los inconvenientes
que presentan los hilos y la programación con hilos para
la resolución de muchos problemas, y plantea la programación
con eventos como alternativa más efectiva en la mayoría
de los casos, especialmente en entornos uniprocesador.
[ROC85] Rochkind, Marc J. Advanced UNIX Programming.
Es un libro clásico sobre la programación
en entorno UNIX. Explica conceptos y técnicas avanzadas
de programación, como la comunicación entre procesos,
gestión de E/S, etc.
[SAM96] Samal, Ashok, Basic Concepts on Threads.
Este artículo presenta todos los conceptos
básicos de la programación con hilos, como primitivas
de sincronización, planificación y datos específicos
de hilo, de una forma clara, sencilla y abreviada. Presenta pequeños
ejemplos de código y se basa en el paquete UI Threads.
[STE92] Stein, D., D. Shah. Implementing Lightweight Threads.
Es una buena referencia sobre la implementación
de un paquete de hilos tanto a nivel usuario como a nivel kernel.
Presenta toda la problemática de la implementación
y la forma de abordar su resolución. Presenta como ejemplo
el diseño e implementación del paquete de hilos
de Solaris.
[SUN96a] Varios. FAQ of threads. SunSoft, Inc. SunSoft, Inc.
Presenta las respuestas a las preguntas más
habituales en relación al sistema Solaris y los hilos.
Muchas de las preguntas son comunes a otros sistemas operativos.
Es una referencia básica.
[TAM94] Tamirisa, Chary G. Introduction to Multithreaded Programming.
Es una buena introducción a la programación
multihilo, presentando los conceptos básicos, las primitivas
de sincronización y la gestión de hilos. Es una
referencia básica.
[TAN93] Tanenbaum, A. S. Sistemas Operativos Modernos.
Véase Capítulo 2.
[WAG95] Wagner, Tom y Don Towsley. Getting Started With POSIX Threads.
Es un artículo presentado como tutorial, que
introduce los conceptos de programación multihilo empleando
el estándar POSIX Threads. Presenta las primitivas de sincronización,
y algunos ejemplos simples. Es una buena referencia inicial.
Capítulo 4 : Arquitecturas Multihilo.
[HWA93] Hwang, K., Advanced Computer Architecture.
Es un libro clásico sobre arquitecturas hardware
de sistemas. Presenta algunos capítulos donde se explican
arquitecturas multiprocesador con soporte de múltiples
contextos o múltiples hilos, analizando su diseño.
También posee un capítulo en el que se anlizan algunos
sistemas operativos distribuidos para arquitecturas multicomputador
que soportan múltiples hilos de control, como Mach y OSF/1.
Es una buena referencia en relación al hardware.
[KLE92] Kleiman, Steven y otros. Symmetric Multiprocessing in Solaris 2.0.
Este artículo presenta las características
de bajo nivel que presenta el sistema Solaris para soporte de
multiprocesadores. Explica la problemática y el diseño
realizado en el sistema.
[POW91a] M.L. Powell y otros. Solaris SunOS 5.0 Multithread Architecture : A White Paper.
Este artículo presenta las características
de una de las mejores arquitecturas multihilo existentes en la
actualidad. Presenta la estructura a dos niveles del sistema,
el soporte hardware, el soporte kernel, y las bibliotecas de usuario
en las que se apoya el programador. Es una referencia básica.
Capítulo 5 : Sistemas Operativos.
Mach, OSF/1, Amoeba :
[HWA93] Hwang, K., Advanced Computer Architecture.
Véase Capítulo 4.
[RID96] Rideau, Francois-Rene. Review of Other Operating Systems.
Es una buena referencia para buscar información
sobre distintos sistemas operativos tanto comerciales como no
comerciales y en desarrollo. Presenta referencias a numerosos
proyectos en desarrollo en el campo de los sistemas operativos.
[TAN87] Tanenbaum, A. S. Operating Systems : Design and Implementation
Véase Capítulo 2.
[TAN93] Tanenbaum, A. S. Sistemas Operativos Modernos.
Véase Capítulo 2.
[WAL89] Walmer, L.R. y otros. A programmer's Guide to the Mach User Environment.
Guía de introducción a la programación
de hilos en el sistema operativo Mach. Presenta el API de programación
y algunos ejemplos básicos.
Windows NT :
[ASC96a] Asche, Ruediger. Win32 Multithreading Performance.
En este artículo se discuten las distintas
estrategias para convertir aplicaciones clásicas en aplicaciones
multihilo bajo Win32, y presenta algunos datos sobre el rendimiento
esperado.
[ASC96d] Asche, Ruediger. Synchronization on the Fly.
Este artículo da una visión de como
se debe analizar la concurrencia en una aplicación multihilo,
y presenta los métodos de sincronización que se
deben emplear, siempre bajo Win32.
[CAB95] Cabana González, Juan José. Introducción a la Programación en Windows NT.
Es una introducción a la arquitectura del sistema operativo Windows NT, presentando todas sus nuevas características. Se compara el subsistema Win32 con Win16, y se presentan los nuevos conceptos de hilos y algunas técnicas de programación con hilos. Presenta algunos ejemplos de código.
[CUS93] Custer, Helen. El libro de Windows NT.
Es una referencia básica para comprender la
arquitectura y diseño del sistema Windows NT. Presenta
la estructura del kernel, los distintos subsistemas y conceptos
básicos sobre hilos y su relación con los objetos
de NT.
SunOS :
[EYK92] Eykholt, J.R. y otros. Beyond Multiprocessing ... Multithreading the SunOS Kernel.
Este artículo presenta la modificación
que se realizó al kernel del sistema operativo SunOS para
que soportara múltiples hilos de control. Presenta el diseño
y la estructura del nuevo kernel.
[KHA92] Khanna, Sandeep y otros. Realtime Scheduling in SunOS 5.0.
Este artículo presenta las características
y añadidos realizados al kernel multihilo de SunOS para
que soportara aplicaciones de tiempo real de una forma efectiva.
[KLE92] Kleiman, Steven y otros. Symmetric Multiprocessing in Solaris 2.0.
Véase Capítulo 4.
[POW91a] M.L. Powell y otros. Solaris SunOS 5.0 Multithread Architecture : A White Paper.
Véase Capítulo 4.
[POW91b] M.L. Powell y otros. SunOS Multi-thread Architecture.
Este artículo presenta las características
de la arquitectura multihilo de SunOS. Presenta la estructura
a dos niveles del sistema y el soporte kernel.
[SUN96a] Varios. FAQ of threads.
Véase Capítulo 3.
Capítulo 6 : Paquetes de hilos :
C-Threads :
[TAN93] Tanenbaum, A. S. Sistemas Operativos Modernos.
Véase Capítulo 2.
[WAL89] Walmer, L.R. y otros. A programmer's Guide to the Mach User Environment.
Véase Capítulo 5. Mach.
DCE Threads :
[DCE96] Varios. Developing DCE Applications.
Presenta una buena introducción a la programación
de aplicaciones con DCE Threads. Aborda la gestión de hilos,
sincronización, políticas de planificación
y algunas consideraciones sobre programación. Además
presenta un ejemplo de aplicación DCE Threads.
[IBM94a] Varios. AIX Kernel support of Pthreads.
Véase Capítulo 3.
[IBM94b] Varios. Porting DCE threads to AIX 4.1 (POSIX draft 7).
Este artículo presenta las características
del paquete DCE Threads implementado en AIX 4.1 y la forma de
realizar aplicaciones DCE threads basándose en el soporte
POSIX threads que realiza AIX.
[MIL95] Miller, Marc. Threads Programming in AIX Version 4.
Véase Capítulo 3.
[TAM94] Tamirisa, Chary G. Introduction to Multithreaded Programming.
Véase Capítulo 3.
[TAN93] Tanenbaum, A. S. Sistemas Operativos Modernos.
Véase Capítulo 2.
Win32 :
[ASC93] Asche, Ruediger. Multithreading for Rookies.
Presenta una buena introducción a la programación
de aplicaciones multihilo en el entorno Win32, presentando el
API de hilos de este entorno, algunas aplicaciones básicas,
y partes de código explicando las aplicaciones. Es una
buena referencia para la programación multihilo en Win32.
[ASC96b] Asche, Ruediger. Compound Win32 Synchronization Objects.
Este artículo presenta las características
de sincronización de Win32. Explica como crear objetos
de sincronización complejos a partir de las primitivas
básicas de sincronización ofrecidas por el sistema
Win32.
[ASC96c] Asche, Ruediger. Detecting Deadlocks in Multithreaded Win32 Applications.
Véase Capítulo 5. Win32.
[CAB95] Cabana González, Juan José. Introducción a la Programación en Windows NT.
Véase Capítulo 5. Win32.
[WIN96] Winnick Cluts, Nancy. Multiple Threads in the User Interface.
Este artículo explica la forma de implementar
aplicaciones con múltiples hilos para gestionar el interfaz
de usuario, las razones para ello, el coste que implica, y las
funciones necesarias para ello que dispone el entorno Win32.
UI Threads :
[KLE93] Kleiman, Steven y otros. Writing Multithreaded Code in Solaris.
Este artículo presenta ejemplos de programación
codificados con el API UI Threads y describe algunas técnicas
de programación.
[LEW96a] Lewis, Bil y otros. How to program with threads.
Véase Capítulo 3.
[MAR95] Marejka, Richard. Multi-threaded Programming.
Véase Capítulo 3.
[POW91a] M.L. Powell y otros. Solaris SunOS 5.0 Multithread Architecture : A White Paper.
Véase Capítulo 4.
[SUN94a] Varios. Solaris 2.4 Multithreaded Programming Guide.
Este documento presenta el API de programación
UI Threads, las características de la implementación
realizada para Solaris, y algunas técnicas y consejos de
programación.
[SUN94b] Varios. Pthreads and Solaris threads. A comparison of two usel level threads APIs.
Este artículo presenta el API UI Threads comparándolo
con el API POSIX Threads. Describe los dos APIs de programación,
explicando las similitudes y diferencias de cada una de las dos
implementaciones. Es una referencia básica.
[SUN96a] Varios. FAQ of threads.
Véase Capítulo 3.
MIT Pthreads :
[PRO96] Provenzano, Chris Angelo. Pthreads: An implementation of POSIX Threads.
Es la implementación del estándar POSIX.1c
que realiza Chris Provenzano en el MIT. Existe una página
web donde se informa del estado del proyecto así como enlaces
donde obtener el paquete, y enlaces a un manual en línea
de algunas de las funciones del paquete, aunque está bastante
obsoleto, y en muchas funciones el funcionamiento no corresponde
con la última versión del paquete.
[SUN95d] Varios. POSIX.1c/D10 Summary.
Este artículo presenta un resumen del estándar
POSIX 1003.1c en su borrador Draft 10. Presenta el API del estándar
y alguna de sus características. Es una referencia básica.
POSIX.1c :
[MUE92] Mueller, Frank. Implementing POSIX Threads under UNIX.
Véase Capítulo 3.
[SUN95b] Varios. Tutorial POSIX Threads.
Véase Capítulo 3.
[SUN95c] Varios. Late Breaking News.
Este artículo presenta algunos consejos y
precauciones que se deben tener en cuenta a la hora de escribir
aplicaciones POSIX Threads.
[SUN95d] Varios. POSIX.1c/D10 Summary.
Véase Capítulo 6. MIT Pthreads.
[WAG95] Wagner, Tom y Don Towsley. Getting Started With POSIX Threads.
Véase Capítulo 3.
Otros Paquetes :
[LEW96c] Lewis, Bil. FAQ of COMP.PROGRAMMING.THREADS.
Véase Capítulo 3.
[WAL96] Walton, Sean. Linux Threads FAQ.
Presenta las respuestas a las preguntas más
habituales en relación a Linux y los hilos. Muchas de las
preguntas son comunes a otros sistemas operativos. Es una referencia
básica.
[AKL92] Akl,
Selim G., Diseño y análisis de algoritmos paralelos.
Ed. Rama, Madrid, 1992.
[AMU96] Amundsen, Torsten. Oslo Bibliography on Threads and Multithreading. Department of Informatics, University of Oslo, Norway. 1996.
http://www.ifi.uio.no/~torstena/threads.bib.gz http://liinwww.ira.uka.de/bibliography/Os/threads.html
[AND90] Anderson, T.E., B.N.
Bershad, E.D. Lazowska, H.M. Levy, Scheduler Activations: Effective
Kernel Support for the User-Level Management of Parallelism.
Department of Computer Science and Engineering, University of
Washington, Technical Report 90-04-02, Abril 1990.
[AND91] Anderson, T.E., Bershad,
B.N., Lazowska, E.D., y Levy, H.M., Scheduler Activations :
Effective Kernel support for the User-Level Management of Parallelism,
Proc. Thirteenth Symp. on Operating Systems Principles, ACM, pp.95-109,
1991.
[ARM90] Armand, F. , F. Herrmann,
J. Lipkis, M. Rozier, Multi-threaded Processes in Chorus/MIX.
Proc. EUUG Spring 1990 Conference, Munich, Germany, Abril 1990.
[ASC93] Asche, Ruediger. Multithreading for Rookies. Microsoft Developer Network Technology Group. Development Library. Septiembre 1993.
http://www.microsoft.com/win32dev/base/threads.htm
[ASC96a] Asche, Ruediger. Win32 Multithreading Performance. Microsoft Developer Network Technology Group. Development Library. Enero 1996.
http://www.microsoft.com/win32dev/base/threadli.htm
[ASC96b] Asche, Ruediger. Compound Win32 Synchronization Objects. Microsoft Developer Network Technology Group. Development Library. 1996.
http://www.microsoft.com/win32dev/base/locktest.htm
[ASC96c] Asche, Ruediger. Detecting Deadlocks in Multithreaded Win32 Applications. Microsoft Developer Network Technology Group. Development Library. 1996.
http://www.microsoft.com/win32dev/base/deadlock.htm
[ASC96d] Asche, Ruediger. Synchronization on the Fly. Microsoft Developer Network Technology Group. Development Library. 1996.
http://www.microsoft.com/win32dev/base/onthefly.htm
[BAC86] Bach, Maurice J. The
Design of the UNIX Operating System. Prentice-Hall, Inc. New
Jersey, 1986. ISBN : 0-13-201757-1
[BEL92] Bell, G., Ultracomputer:
A Teraflop before its time, Communications of ACM, 35(8) :
27-47, 1992.
[BEN82] Ben-Ari, M. Principles
of Concurrent Programming. Prentice-Hall International, 1982.
[BEN90] Ben-Ari, M. Principles
of Concurrent and Distribuited Programming. Prentice-Hall
International, 1990.
[BER96] Berg, Daniel J. Multithreaded
Programming: Concepts and Practice. John Wiley & Sons,
1996. ISBN 0-471-12249-1.
[BER90] Bershad, B.N., Anderson,
T.E., Lazowska, E.D., y Levy H.M., Lightweight Remote Procedure
Call, ACM Transactions on Database Systems, vol.8, pp.37-55,
Febrero 1990.
[BIC88] Bic, L. and A. Shaw.
The Logical Design of Operating Systems. Englewood Cliffs,
N.J.: Prentice-Hall, Inc., 1988.
[BIR87] Birrell, Andrew D., J. V. Guttag, J. J. Horning, y R. Levin. Synchronization Primitives for a Multiprocessor : A Formal Specification. Systems Research Center (SRC) Report, Digital Equipment Corporation, Agosto 1987.
ftp://ftp.digital.com/pub/src/
[BIR89] Birrell, Andrew D. An introduction to programming with threads. Systems Research Center (SRC) Report 35, Digital Equipment Corporation, Enero 1989.
ftp://ftp.digital.com/pub/DEC/research-reports/SRC-035.ps.gz http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-035.html http://www.research.digital.com/
[BRI75] Brinch Hansen, P., The
Programming Language Concurrent Pascal, IEEE Transactions
on Software Engineering, SE-1(2) :199-206, Junio 1975.
[CAB95] Cabana González,
Juan José. Introducción a la Programación
en Windows NT, Dpto. Informática, Universidad de Valladolid,
Abril 1995.
[CAS90] Caswell, Deborah and
David Black. Implementing a Mach debugger for Multithreaded
applicactions. Proceedings of the Winter USENIX Conference.
pp.25-40. 1990.
[CAT96] Catanzaro, Ben. Multiprocessor System Architectures. SunSoft Press, 1996. ISBN 0-13-089137-1
http://www.sun.com/smi/ssoftpress/books/Catanzaro/Catanzaro.html
[COO88] Cooper, E. y R. Draves.
C Threads. TR CMU-CS-88-154, Department of Computer Science,
Carnegie Mellon University. 1988.
[COO90] Cooper, E.C., R.P. Draves,
C Threads. Department of Computer Science, Carnegie Mellon
University, Septiembre 1990.
[CUS93] Custer, Helen. El
libro de Windows NT. Ediciones Anaya Multimedia, S.A., Madrid,
1993. ISBN : 84-7614-548-9.
[DCE96] Varios. Developing DCE Applications. 1996.
http://osiris.wu-wien.ac.at/inst/zid/abteil/azi/service/aix/htmlbooks/gg244090.01/threads.html
[DEC96a] Varios. Guide to DECThreads. DEC Inc. 1996.
http://www.partner.digital.com/www-swdev/pages/Home/TECH/documents/Digital_UNIX/V4.0/AA-Q2DPC-TKT1_html/thrd.html
[DEC96b] Varios. Symmetric Multiprocessing in Digital UNIX. DEC Inc. 1996.
http://www.unix.digital.com/unix/smp/
[DIJ65] Dijkstra, E.W., Cooperating Sequential
Processes, en Programming Languages, Genuys, F. (ed.) Academic
Press, New York, 1965.
[DIP94] DiPasquale, Mark. An Introduction to Threads, HP-UX/USR, Noviembre 1994.
http://www.interex.org/hpuxusr/nov94/pasq.html
[DOB95] Dobson, Simon. Threads in a modular World Wide Web server. British Computer Society Parallel Processing Specialist Group meeting on Programming with Threads, Imperial College. Diciembre 1995.
http://www.cis.rl.ac.uk/proj/www/docs/threads.ppt
[DOE87] Doeppner Jr., Thomas
W. Threads - a system for the support of concurrent programming.
TR CS-87-11, Department of Computer Science, Brown University,
1987.
[DOR95] Dorfman, Len y Marc J
Neuberger. Effective Multithreading with OS/2.1995
[EYK92] Eykholt, Joseph R., Steve R. Kleiman, Steve Barton, Jim Voll, Roger Faulkner, Anil Shivalingiah, Mark Smith. Beyond Multiprocessing ... Multithreading the SunOS Kernel. Proceedings of thre Summer USENIX Conference. Junio 1992.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/beyond_mp.ps
[FAU91] Faulkner, R., R. Gomes,
The Process File System and Process Model in UNIX System V.
Proc. 1991 USENIX Winter Conference.
[FLY72] Flynn, M.J., Some
computer organizations and their effectiveness, IEEE Transactions
on Computers, 21(9) : 948-960, 1972.
[GOL90] Golub, D., R. Dean, A.
Florin, R. Rashid, UNIX as an Application Program. Proc.
1990 USENIX Summer Conference, pp 87-95.
[GOO93] Goodman, Michele Ann,
Manoj Goyal, and Robert A. Massoudi. Solaris Porting Guide.
SunSoft Press/Prentice-Hall, Englewood Cliffs, NJ, 1993.
[GOR88] Gordon, Letwin. Inside
OS/2. Microsoft Press, 1988.
[GRA95] Graham, John R. Solaris
2.X: Internals & Architecture. McGraw-Hill, New York,
NY, 1995.
[GRA96a] Graham, John R. An
Introduction to Threads. SunExpert Magazine, vol. 7, No 2,
pp. 65-71, Febrero 1996.
[GRA96b] Graham, John R. An
Introduction to Threads: Synchronization. SunExpert Magazine,
vol. 7, No 3, pp. 62-69, Marzo 1996.
[GRA96c] Graham, John R. Advanced
Techniques. SunExpert Magazine, vol. 7, No 4, pp. 64-69, Abril
1996.
[GRA96d] Graham, John R. Threads
Programming: Pthreads and Special Issues. SunExpert Magazine,
vol. 7, No 5, pp. 46-56, Mayo 1996.
[HAU93] Hauser, C., C. Jacobi,
M. Theimer, B. Welsh, and M. Weiser. Using threads in Interactive
Systems: A Case Study. Proceedings of the Fourteenth ACM Symposium
on Operating Systems Principles, Diciembre 1993.
[HOA74] Hoare, C.A.R., Monitors :
An Operating System structuring concept, Commnications of
ACM, 17(10) :549-557. Octubre 1974.
[HWA93] Hwang, K., Advanced
Computer Architecture: Parallelism, Scalability, Programmability,
McGraw-Hill, Inc. Singapore, 1993. ISBN : 0-07-031622-8
[IAC88] Iacobucci, De. OS/2
Programmer's Guide. McGraw-Hill, Berkeley, 1988.
[IBM94a] Varios. AIX Kernel support of Pthreads. IBM Corporation. 1994.
http://developer.austin.ibm.com/sdp/library/ref/about4.1/df4threa.html http://www.austin.ibm.com/developer/aix/library/diff/df4threa.html
[IBM94b] Varios. Porting DCE threads to AIX 4.1 (POSIX draft 7). IBM Corporation. AIXpert Magazine. Agosto 1994.
http://www.developer.ibm.com/sdp/library/aixpert/aug94/aixpert_aug94_PTHREADS.html
[IBM95] Varios. Using signals with POSIX threads. IBM Corporation. AIXpert Magazine. Agosto 1995.
http://developer.austin.ibm.com/sdp/library/aixpert/aug95/aixpert_aug95_signal.html
[JAJ92] Jaja, Joseph. An introduction
to parallel algoritms, Addsion-Wesley, 1992.
[JON91] Jones, Michael B. Bringing
the C Libraries With Us into a Multi-Threaded Future. Proceedings
of Winter USENIX Conference. pp.81-91. 1991.
[KEP85] Kepecs, J. Lightweight
Processes for UNIX Implementation and Applications. Proc.
1985 USENIX Summer Conference, pp 299-308.
[KEP93] Keppel, David. Tools and Techniques for Building Fast Portable Threads Packages. University of Washington. Department of Computer Science and Engineering. Mayo 1993.
http://www.cs.washington.edu/homes/pardo/papers.d/thread.html ftp://ftp.cs.washington.edu/tr/1993/05/UW-CSE-93-05-06.PS.Z
[KHA92] Khanna, Sandeep, Michael Sebr'ee, John Zolnowsky, Realtime Scheduling in SunOS 5.0. Proc. USENIX Winter Conference 1992.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/rt_sched.ps
[KLE92] Kleiman, Steven, Jim Voll, Joe Eykholt, Anil Shivalingiah, Dock Williams, Mark Smith, Steve Barton, Glenn Skinner. Symmetric Multiprocessing in Solaris 2.0. SunSoft, Inc. 1992.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/symmetric_mp.ps
[KLE93] Kleiman, Steven, Bart Smaalders, Dan Stein, Devang Shah. Writing Multithreaded Code in Solaris. SunSoft, Inc. 1993.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/writing_mt_code.ps
[KLE96] Kleiman, Steve, Devang Shah and Bart Smaalders. Programming with Threads. SunSoft Press/Prentice-Hall, Mountain View, CA, 1996. ISBN 0-13-172389-8.
http://www.sun.com/smi/ssoftpress/books/Kleiman/Kleiman.html
[LEW96a] Lewis, Bil and Daniel J. Berg. How to program with threads : An introduction to multithreaded progrogramming. SunWorld On Line, Web Publishing Inc., Febrero 1996.
http://www.sun.com/sunworldonline/swol-02-1996/swol-02-threads.html http://www.eu.sun.com/sunworldonline/swol-02-1996/swol-02-threads.html http://sunsite.icm.edu.pl/sunworldonline/swol-02-1996/swol-02-threads.html
[LEW96b] Lewis, Bil. COMP.PROGRAMMING.THREADS Newsgroup. Lambda Computer Science, Marzo 1996.
Bil@LambdaCS.com http://www.lambdacs.com/welcome.html news:comp.programming.threads
[LEW96c] Lewis, Bil. FAQ of COMP.PROGRAMMING.THREADS. Lambda Computer Science, Marzo 1996.
http://www.LambdaCS.com/FAQ.htm http://www.serpentine.com/~bos/threads-faq http://www.best.com/~bos/threads-faq
[LEW96d] Lewis, Bil and Daniel J. Berg. Threads Primer: A Guide to Multithreaded Programming. SunSoft Press/Prentice-Hall, Mountain View, CA, 1996. ISBN 0-13-443698-9.
http://www.sun.com/smi/ssoftpress/books/Lewis/Lewis.html
[MAR91] Marsh, B.D., Scott, M.L., Leblanc, T.J., y Markatos, E.P., First-Class Userlevel Threads, Proc. Thirteenth Symp. on Operating Systems Principles, ACM, pp.110-121, Octubre 1991.
ftp://ftp.cs.rochester.edu/pub/papers/systems/91.SOSP.Psyche_First_Class_Threads.ps.Z
[MAR95] Marejka, Richard. Multi-threaded Programming. Solaris 2 Migration Support Centre. Sun Microsystems, Inc. Agosto 1995.
Richard.Marejka@canada.sun.com http://opcom.sun.ca/ ftp://opcom.sun.ca/pub/threads/ ftp://opcom.sun.ca/pub/docs/
[MAT95] Mathiske, Bernd, Florian
Matthes, Joachim W. Schmidt. On Migrating Threads. Fachbereich
Informatik. Universitat Hamburg. 1995.
[MCJ89] McJones, P.R. and G.F.
Swart, Evolving the UNIX System Interface to Support Multithreaded
Programs. Proc. 1989 USENIX Winter Confer ence, pp 393-404.
[MIL95] Miller, Marc. Threads Programming in AIX Version 4. IBM Corporation. AIXpert Magazine. Agosto 1995.
http://www.developer.ibm.com/sdp/library/aixpert/aug95/aixpert_aug95_thread.html
[MUE92] Mueller, Frank. Implementing POSIX Threads under UNIX : Description of work in progress. Proceedings of the 2nd Software Engineering Research Forum. Noviembre 1992. Pag. 253-261.
http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads_serf92.ps.Z
[MUE93] Mueller, Frank. A Library Implementation of POSIX Threads under UNIX. Proceedings of the USENIX Conference, Enero 1993, pag. 29-41.
http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads_usenix93.ps.Z
[MUE95] Mueller, F., Rustagi, V. y Baker, T. P. MithOS -- A Real-Time Micro-Kernel Threads Operating System. IEEE Real-Time Systems Symposium, Diciembre 1995, pp. 49-53
http://www.informatik.hu-berlin.de/~mueller/ftp/pub/mueller/papers/rtss95.ps.Z
[BAK94] T. P. Baker, F. Mueller and Viresh Rustagi. Experience with a Prototype of the POSIX "Minimal Realtime System Profile". IEEE Workshop on Real-Time Operating Systems and Software, Mayo 1994, pag. 12-16
http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/rtoss94.ps.Z
[NOR96] Northrup, Charles J. Programming with UNIX Threads. John Wiley & Sons, Marzo 1996. ISBN 0-471-13751-0.
http://www.wiley.com/compbooks/catalog/14/13751-0.html
[OSU96] O'Sullivan, Bryan. Frecuently asked questions of comp.os.research, Enero 1996.
http://www.serpentine.com/~bos/os-faq http://www.best.com/~bos/os-faq/ ftp://rtfm.mit.edu/pub/usenet/comp.os.research/
[OUS94] Ousterhout, John. Why Threads are a bad idea (for most purposes). Sun Microsystem Laboratories. Febrero, 1994.
http://www.sunlabs.com/~ouster
[PET81] Peterson, G.L. Myths
about the Mutual Exclusion Problem, Information Processing
Letters, vol.12, pp.115-116, Junio 1981.
[PHA96] Pham, Thuan Q., Pankaj K Garg. Multithreaded Programming with Windows NT. Prentice Hall. Enero 1996. ISBN 0-131-20643-5.
http://www.prenhall.com/013/120642/12064-2.html
[POS90] POSIX P1003.4a, Threads
Extension for Portable Operating Systems. IEEE. 1990.
[POS95] POSIX P1003.1c, Threads
Extension for Portable Operating Systems. IEEE. 1995.
[POW91a] M.L. Powell, S.R. Kleiman, S. Barton, D. Shah, D. Stein, M. Weeks. Solaris SunOS 5.0 Multithread Architecture : A White Paper. SunSoft, Inc. Septiembre 1991.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/solaris_whitepaper.ps
[POW91b] M.L. Powell, Steve R. Kleiman, Steve Barton, Devang Shah, Dan Stein y Mary Weeks. SunOS Multi-thread Architecture. Proceedings of the Winter USENIX Conference 1991. pp. 65-80
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/sunos_mt_arch.ps
[PRO96] Provenzano, Chris Angelo. Pthreads: An implementation of POSIX Threads. Octubre1996.
http://www.mit.edu:8001/people/proven/pthreads.html ftp://sipb.mit.edu/pub/pthreads/pthreads-1_60_beta5.tar.gz
[RAS86a] Rashid, R.F. Threads
of a New System, Unix Review, vol.4, pp.37-49, Agosto 1986.
[RAS86b] Rashid, R.F. From
RIG to Accent to Mach : The Evolution of a Network Operating
System, Fall Joint Computer Conference, AFIPS, pp.1128-1137,
1986.
[RIC93a] Richter, Jeffrey. Creating,
Managing, and Destroying Processes and Threads under Windows NT.
Microsoft Systems Journal. Julio 1993. pp.55-76.
[RIC93b] Richter, Jeffrey. Synchronizing
Win32 Threads Using Critical Sections, Semaphores, and Mutexes.
Microsoft Systems Journal. Agosto 1993. pp.27-44.
[RIC93c] Richter, Jeffrey. Advanced
Windows NT Programming. Microsoft Press, 1993.
[RIC94] Richter, Jeffrey. Windows
NT avanzado. Guía de desarrollo de Win32. Interfaz de programas
de aplicación. Microsoft Press - McGraw-Hill, 1994.
ISBN : 84-481-1888-X
[RID96] Rideau, Francois-Rene. Review of Other Operating Systems. Diciembre 1996.
rideau@clipper.ens.fr http://www.eleves.ens.fr:8080/home/rideau/Tunes/Review/OSes.html
[ROB96] Robbins, Kay A. and Steven Robbins. Practical UNIX Programming: A Guide to Concurrency, Communication, and Multithreading. Prentice-Hall, Upper Saddle River, NJ, 1996.
http://vip.cs.utsa.edu/pup
[ROC85] Rochkind, Marc J. Advanced
UNIX Programming. Prenctice-Hall, Inc. New Jersey, 1985. ISBN :
0-13-011818-4
[RUD96] David E. Ruddock and
Balakrishnan Dasarathy. Multithreading Programs: Guidelines
for DCE Applications. IEEE Software, vol. 13, No 1, pp. 80-90,
Enero 1996.
[SAA90] Saavedra, R.H., Culler,
D.E., Eicken, T. Von. Analysis of Multithreaded Architectures
for Parallel Computing, Proc. ACM Symp. Parallel Algorithms
and Architecture, Grecia, Julio 1990.
[SAM96] Samal, Ashok, Basic Concepts on Threads. 1996.
samal@cse.unl.edu http://glacier.unl.edu/~samal/class/DIST/lectures/threads.html
[SCH96] Schimmel, Curt. Unix Systems for Modern Architectures. Addison-Wesley, 1996. ISBN 0-201-63338-8.
http://www.aw.com/cp/schimmel.html
[SMA92] Smaalders, B., B. Warkentine,
K. Clarke. Prototyping MT-safe Xt and XView libraries.
Proceedings of the 6th Annual Conference on the X Window System,
1992.
[STE92] Stein, D., D. Shah. Implementing Lightweight Threads. USENIX Summer Conference. Junio 1992.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/papers/impl_threads.ps
[SUN94a] Varios. Solaris 2.4 Multithreaded Programming Guide. Sun Microsystems, Inc. 1994.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/doc/ MultithreadedProgrammingGuide_Solaris24.ps
[SUN94b] Varios. Pthreads and Solaris threads. A comparison of two usel level threads APIs. SunSoft, Inc. Mayo 1994.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/doc/pthreads_comparison.ps
[SUN95a] Varios. Solaris
Multithreaded Programming Guide. SunSoft Press/Prentice-Hall,
Mountain View, CA, 1995.
[SUN95b] Varios. Tutorial POSIX Threads, SunSoft, Inc. Mayo 1995.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/st17.tar.Z ftp://sunsite.rediris.es/docs/sun-info/development-tools/multi-threads/drop-site/st17.uu.z
[SUN95c] Varios. Late Breaking News. SunSoft, Inc. Mayo 1995.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/doc/lbn.ps
[SUN95d] Varios. POSIX.1c/D10 Summary. SunSoft, Inc. Junio 1995.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/doc/pthread_June95.ps
[SUN96a] Varios. FAQ of threads. SunSoft, Inc. SunSoft, Inc. Enero 1996.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/faq.html
[TAM94] Tamirisa, Chary G. Introduction to Multithreaded Programming, IBM Corporation, AIXpert Magazine. Noviembre 1994.
http://developer.austin.ibm.com/sdp/library/aixpert/nov94/aixpert_nov94_intrmult.html
[TAN87] Tanenbaum, A. S. Operating
Systems : Design and Implementation, Englewood Cliffs,
Prentice-Hall, 1987.
[TAN90] Tanenbaum, A.S., Van
Renesse, R., Staveren, H. Van, Sharp, G.J., Mullender, S.J., Jansen,
J., y Rossum, G. Van. Experiences with the Amoeba Distributed
Operating System, Commun. of the ACM, vol.33, pp.46-63, Diciembre
1990.
[TAN93] Tanenbaum, A. S. Sistemas
Operativos Modernos. Prentice-Hall Hispanoamericana S.A.,
México,1993. ISBN 0-13-588187-0.
[TAY90] Tay, B.H., y Ananda,
A.L. A survey of Remote Procedure Calls, Operating System
Review, vol.24, pp.68-79, Julio 1990.
[TEV87] Tevanian, A., R.F. Rashid,
D.B. Golub, D.L. Black, E. Cooper, and M.W. Young. Mach Threads
and the UNIX Kernel: The Battle for Control. Proc. 1987 USENIX
Summer Conference, pp University of California at Berkeley in
1984. 14 USENIX - Winter '91 - Dallas, TX
[VAH96] Vahalia, Uresh, Unix Internals: The New Frontiers, Prentice Hall, Upper Saddle River, NJ, 1996, ISBN 0-13-101908-2.
http://www.prenhall.com/013/101907/10190-7.html
[WAG95] Wagner, Tom y Don Towsley. Getting Started With POSIX Threads. Department of Computer Science. University of Massachusetts at Amherst. 1995.
wagner@cs.umass.edu http://centarus.cs.umass.edu/~wagner/threads_html/tutorial.html
[WAL89] Walmer, Linda R. y Mary R. Thompson. A programmer's Guide to the Mach User Environment. Department of Computer Science, Carnegie-Mellon University. Noviembre 1989.
ftp://mach.cs.cmu.edu/afs/cs/project/mach/public/doc/upublished/machuse.ps ftp://mach.cs.cmu.edu/afs/cs/project/mach/public/doc/upublished/machuse.doc http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
[WAL96] Walton, Sean. Linux Threads FAQ. Octubre 1996.
walton@oclc.org http://sunsite.unc.edu/pub/Linux/docs/faqs/Threads-FAQ/html news:comp.os.linux.development.system
[WIN96] Winnick Cluts, Nancy. Multiple Threads in the User Interface. Microsoft Developer Network Technology Group. Development Library. 1996.
http://www.microsoft.com/win32dev/base/winthr.htm
- Sun Workshop Developer Products : Threads. Sun Microsystems, Inc. Enero 1997.
Página oficial sobre Threads.
http://www.sun.com/sunsoft/Products/Developer-products/sig/threads/index.html
- Solaris Migration Initiative. Sun Microsystems, Inc. 1996.
http://www.sun.com/smcc/solaris-migration/index-new.html
- Frank Mueller. Threads Projects.
http://www.informatik.hu-berlin.de/~mueller/projects.html http://www.cs.fsu.edu/~mueller/projects.html ftp://ftp.cs.fsu.edu/pub/PART/PTHREADS/
- Mach Documentation Project. Department of Computer Science. Carnegie Mellon University.
http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
- OSF y DCE Threads.
http://www.osf.org/index.html http://www.osf.org/dce/index.html http://www.osf.org/dce/faq-mauney.html http://www.pilgrim.umass.edu/pub/osf_dce/contrib/contrib.html
- IBM Threads. IBM Corporation.
http://www.developer.ibm.com
- Microsoft Win32. Developer Network Technology Group. Microsoft Corporation.
http://www.microsoft.com/WINNTDEV/REALTIME.HTM http://www.microsoft.com/win32dev/base/wbase.htm
- LINUX.ORG.UK. Linux SMP.
http://www.linux.org.uk/ http://homer.ncm.com/linux-smp/ ftp://tinuviel.cs.wcu.edu/pub/ linux-smp@vger.rutgets.edu linux-threads@magenet.com
- ACE C++ multithreading library for Unix and NT.
http://www.cs.wustl.edu/~schmidt/ACE.html
- Portable Thread Synchronization Using C++.
http://world.std.com/~jimf/c++sync.html
- Using Pthreads (Paragon Manual). Intel Paragon.
http://128.210.250.54/Paragon/Docs/Intel/Manuals/psug/psug_1.htm
- Chant: A Talking Threads Package (extension to Posix Threads).
http://meru.uwyo.edu/~haines/proj/chant.html
- Oakridge Threads (LPVM).
http://www.epm.ornl.gov/~zhou/ltpvm/ltpvm.html http://uvacs.cs.virginia.edu/~ajf2j/docs/tpvm_paper.ps
- IEEE-P1003.1c POSIX (API) Threads Extenstion (READ).
http://www.itsi.disa.mil:5580/E4351T1908
- IEEE Parallel & Distributed Technology.
http://www.computer.org/pubs/p&dt/p&dt.htm
- IEEE POSIX Threads status.
http://stdsbbs.ieee.org/groups/pasc/sd11.html
- SEL-HPC High Performance Computing Archive. 1996.
http://www.lpac.qmw.ac.uk/SEL-HPC/Articles/HpcArchive.html
- CenterLine: Computer Science Topics.
http://140.239.1.120:8080/public/computer-science.html