logo

Programación Concurrente y Tiempo Real [3ª Edición]

¡Con ejercicios y ejemplos de código fuente!

Aprende a gestionar procesos y manejar secciones críticas, evitando condiciones de carrera e interbloqueos. Maneja semáforos, variables de memoria compartida y buzones de mensajes POSIX desde tu programas desarrollados en C/C++. Adéntrate en las posibilidades de Ada como lenguaje de alto nivel. Planifica sistemas críticos de tiempo real.

Cómpralo en Amazon


Programación Concurrente y Tiempo Real
Programación Concurrente y Tiempo Real

logo

Entrevista de trabajo en IBM: "Describa una condición de interbloqueo."

Entrevista de trabajo en Dropbox: "¿Qué es una condición de carrera?"

¿Para qué sirve este libro?

Domina conceptos esenciales en el ámbito de la programación concurrente y de tiempo real. Ponlos en práctica con plantillas de código fuente y soluciones. El contexto de uso es el relativo a segundo o tercer curso de Grado en Ingeniería Informática.

Habilidades que adquirirás

  1. Conoce los fundamentos de la programación concurrente y de la gestión de procesos.
  2. Maneja adecuadamente las secciones críticas y evita las tan temidas condiciones de carrera para evitar interbloqueos
  3. Aprende a manejar los semáforos, segmentos de memoria compartida y buzones de mensajes POSIX utilizando el lenguaje de programación C.
  4. Explora patrones de sincronización para reutilizarlos en nuevos problemas de concurrencia.
  5. Adéntrate en las posibilidades que te ofrece el lenguaje Ada para gestionar la concurrencia desde una perspectiva de más alto nivel.
  6. Domina los conceptos relativos a la planificación de sistemas de tiempo real, como ejecutivo cíclico o los protocolos de acotación de prioridad.
  7. Iníciate en el uso de bibliotecas de desarrollo asociadas a C++, como la biblioteca de hilos de ZeroC ICE.

Esquemas gráficos

  • Procesos (página 7). Creación básica de procesos con primitivas POSIX (fork() + execl()).
  • Interbloqueo (página 30). Familia de métodos de tratamiento del deadlock.
  • Semáforos (página 44). Sincronización de eventos mediante las primitivas wait y signal.
  • Paso de Mensajes (página 8). Sincronización entre procesos mediante un esquema beeper para simular recuperación selectiva.
  • Monitores (página 177). Buffer compartido modelado mediante un monitor para garantizar la exclusión mutua.
  • Planificación TR (página 145). Esquema gráfico de aplicación del protocolo de techo de prioridad inmediato.

logo

Complementa el estudio de este libro con ejercicios y soluciones de problemas concretos resueltos en el lenguaje de programación C. Utiliza las herramientas que POSIX proporciona para manejar semáforos, segmentos de memoria compartida y buzones de mensajes.

Descarga ahora el material extra

Opiniones

Sin lugar a duda es uno de los mejores libros que he utilizado a lo largo del grado en Ing. Informática. Es muy fácil de leer y los conceptos están muy claros, haciendo que los que a priori pueda parecer complejo no lo sea. Ademas incluye una gran cantidad de ejemplos de código que ayudan a afianzar los conceptos aprendidos. Destacar también el esfuerzo realizado en la recopilación de patrones. En definitiva, el mejor libro de programación concurrente y tiempo real que he utilizado.

Ismael (Amazon.es 19 de Mayo de 2016)

Como docente, reconozco en el libro una gran vocación docente llevada a cabo con éxito. El orden en que se muestran los contenidos, la redacción y presentación, códigos de ejemplo a su debido tiempo, y gran cantidad de notas extra al margen, hacen del libro una muy buena opción para aquellos que quieran introducirse al mundo de la programación concurrente con material escrito en castellano.

Pablo (Amazon.es 21 de Septiembre de 2015)

Fue el libro que utilizamos en la asignatura homónima de Ingeniería Informática, además de ser perfecto para establecer las bases de otras como Sistemas Distribuidos. Lectura fácil y ejemplos incrementales hacen de este libro un material ameno y totalmente recomendable para cualquiera que quiera aprender los fundamentos de la programación concurrente y los sistemas de tiempo real.

Pedro Manuel (Amazon.es 13 de Abril de 2016)

Es el libro que hemos usado en una asignatura del grado en ingeniería informática y acoge perfectamente todos los conocimientos necesarios para aprender de forma sencilla y práctica a programar de forma concurrente, con todos los conceptos explicados de forma clara y con ejemplos de código.

José María (Amazon.es 7 de Julio de 2016)

Sobre el Autor

David Vallejo

David Vallejo
(Coautores C. González y J. Albusac)

David Vallejo es Doctor en Ingeniería Informática (2010) por la Universidad de Castilla-La Mancha. Desde 2007 imparte asignaturas relacionadas con Programación, Sistemas Operativos, Estructuras de Datos, Informática Gráfica, Algoritmos y Desarrollo de Videojuegos. Sus principales líneas de investigación son la Inteligencia Artificial Aplicada, la Vigilancia Inteligente y el Renderizado Distribuido.

Actualmente también es presidente y socio co-fundador de Furious Koalas SL, una empresa de base tecnológica dedicada al desarrollo de videojuegos, gamificación y simulación. Furious Koalas es la creadora de Whizz, The Massive Quiz.

Cómpralo en Amazon