3.13.3 PD/Comunicación y coordinación (3 horas Core-Tier1)

Temas:
Core Tier1

Core Tier2

Electivo

Objetivos de Aprendizaje (Learning Outcomes):
Core-Tier1:

  1. Usar exclusión mútua para evitar una condición de carrera [Usar (Usage)]
  2. Dar un ejemplo de una ordenación de accesos entre actividades concurrentes (por ejemplo, un programa con condición de carrera) que no son secuencialmente consistentes [Familiarizarse (Familiarity)]
Core-Tier2:
  1. Dar un ejemplo de un escenario en el que el bloqueo de mensajes enviados pueden dar deadlock [Usar (Usage)]
  2. Explicar cuándo y por qué mensajes de multidifusión (multicast) o basado en eventos puede ser preferible a otras alternativas [Familiarizarse (Familiarity)]
  3. Escribir un programa que termine correctamente cuando todo el conjunto de procesos concurrentes hayan sido completados [Usar (Usage)]
  4. Usar una apropiada cola de sincronización para almacenar temporalmente datos pasados entre actividades [Usar (Usage)]
  5. Explicar por qué verificaciones para precondiciones, y acciones basados en estas verificaciones, deben compartir la misma unidad de atomicidad para ser efectivo [Familiarizarse (Familiarity)]
  6. Escribir un programa de prueba que pueda revelar un error de programación concurrente; por ejemplo, falta una actualización cuando dos actividades intentan incrementar una variable [Usar (Usage)]
  7. Describir al menos una técnica de diseño para evitar [Familiarizarse (Familiarity)]
  8. Describir las ventajas relativas del control de concurrencia optimista y conservadora bajo diferentes tipos de carrera entre actualizaciones [Familiarizarse (Familiarity)]
  9. Dar un ejemplo de un escenario en el que un intento optimista de actualización puede nunca completarse [Familiarizarse (Familiarity)]
Elective:
  1. Usar semaforos o variables de condición para bloquear hebras hasta una necesaria precondición de mantenga [Usar (Usage)]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM