10. Apéndice D. BIBLIOGRAFÍA.

  1. BIBLIOGRAFÍA COMENTADA.
  2. BIBLIOGRAFÍA GENERAL ALFABÉTICA.
  3. DIRECCIONES WEB DE INTERÉS.

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.

BIBLIOGRAFÍA GENERAL ALFABÉTICA.

[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

DIRECCIONES WEB DE INTERÉS.

- 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