Programación con Pthreads: Un Estándar Posix para un Mejor Multiprocesamiento


Precio:
Precio de venta$39.99

Descripción

Hoy en día, las computadoras están tan ocupadas como el resto de nosotros. Tienen muchas tareas que hacer a la vez y necesitan algo de astucia para realizarlas todas al mismo tiempo. Es por eso que los hilos se ven cada vez con más frecuencia como un nuevo modelo de programación. Los hilos han estado disponibles desde hace algún tiempo. El sistema operativo Mach, el Entorno de Computación Distribuida (DCE) y Windows NT, todos cuentan con hilos. Una ventaja de la mayoría de las implementaciones de UNIX, así como de DCE, es que se ajustan a un estándar POSIX recientemente ratificado (originalmente 1003.4a, ahora 1003.1c), lo que permite que sus programas sean portátiles entre ellos. Los hilos POSIX son comúnmente conocidos como pthreads, por la palabra que inicia todos los nombres de las llamadas a funciones. El estándar es compatible con Solaris, OSF/1, AIX y varios otros sistemas operativos basados en UNIX. La idea detrás de la programación con hilos es tener múltiples tareas ejecutándose concurrentemente dentro del mismo programa. Pueden compartir una sola CPU como lo hacen los procesos, o aprovechar múltiples CPUs cuando estén disponibles. En cualquier caso, proporcionan una forma limpia de dividir las tareas de un programa mientras se comparten datos. Una interfaz de ventana puede leer entradas en docenas de botones diferentes, cada uno responsable de una tarea separada. Un servidor de red tiene que aceptar llamadas simultáneas de muchos clientes, proporcionando a cada uno un tiempo de respuesta razonable. Un multiprocesador ejecuta un programa de procesamiento numérico en varias CPUs a la vez, combinando los resultados cuando todos han terminado. Todos estos tipos de aplicaciones pueden beneficiarse de los hilos. En este libro, aprenderá no solo qué son las llamadas a pthread, sino cuándo es una buena idea usar hilos y cómo hacerlos eficientes (que es la razón principal para usar hilos en primer lugar). Los autores profundizan en problemas de rendimiento, comparando hilos con procesos, contrastando hilos de kernel con hilos de usuario, y mostrando cómo medir la velocidad. También describe de manera sencilla y clara para qué sirven todas las características avanzadas y cómo interactúan los hilos con el resto del sistema UNIX. Los temas incluyen:

  • Técnicas básicas de diseño
  • Mutexes, condiciones y técnicas de sincronización especializadas
  • Programación, prioridades y otras cuestiones en tiempo real
  • Cancelación
  • Bibliotecas UNIX y rutinas reentrantes
  • Señales
  • Consejos de depuración
  • Medición del rendimiento
  • Consideraciones especiales para el Entorno de Computación Distribuida (DCE)


Autor: Dick Buttlar, Jacqueline Farrell, Bradford Nichols
Editorial: O'Reilly Media
Publicado: 24/09/1996
Páginas: 286
Tipo de encuadernación: Tapa blanda
Peso: 0.85lbs
Tamaño: 9.10h x 7.00w x 0.60d
ISBN13: 9781565921153
ISBN10: 1565921151
Categorías BISAC:
- Informática | Programación | General
- Informática | Sistemas operativos | UNIX
- Informática | Lenguajes | JavaScript

Acerca del autor

Dick Buttlar es un escritor consultor en el Grupo de Ingeniería UNIX de Digital Equipment Corporation, donde recientemente completó su período como líder de proyecto para la documentación del clúster Digital UNIX. Se especializa en documentación de programación, tanto a nivel de usuario como de kernel, y, en una vida anterior, escribió la documentación del controlador de dispositivo para el sistema operativo VMS. Hace unos años, gestionó la planificación inicial del esfuerzo de documentación corporativa para el procesador Alpha de Digital. Ha trabajado para Wang Laboratories, Recal/Redac, North American Technologies y la American Trial Lawyers Association, entre otros lugares. Tiene una licenciatura en inglés de Boston College y una maestría en inglés de la Universidad de Wisconsin en Madison.

Brad Nichols es un tipo freelance que hace cualquier cosa relacionada con la informática por dinero, y trabaja desde Milford, NH. Obtuvo una licenciatura en ingeniería mecánica de la Universidad de New Hampshire en 1985 y una maestría del Worcester Polytechnic Institute (WPI) en 1991. Comenzó su carrera informática trabajando en hardware muy duro (bombas y válvulas de combustible). Se abrió camino a través de las capas de hardware hasta el software en proyectos que involucraban sistemas de aviónica integrados en Textron Lycomming y United Technologies Hamilton Standard Division. Brad dejó estos trabajos para aprender más sobre IA en WPI, pero en su lugar se contagió de la fiebre de Mach, y fue introducido a la programación de hilos en UNIX. Mientras estaba en WPI, también trabajó en un proyecto de rendimiento de OSF/1 para la Open Software Foundation (OSF). Después de asistir a WPI, Brad impartió seminarios de capacitación a desarrolladores de software sobre las interfaces del kernel de Mach. Luego se unió a Digital Equipment Corporation para trabajar en la adaptación del sistema de archivos distribuido del Entorno de Computación Distribuida de OSF (OSFDCEDFSDU para abreviar) a Digital UNIX. Ahora, Brad está de nuevo por su cuenta y dedica la mayor parte de su tiempo a enseñar a ingenieros de software sobre tecnologías con acrónimos mucho más cortos, como Pthreads.