Cátedras del martes 4 y jueves 6 de abril

Luis Mateu B. 3 Abr 202303/04/23 a las 21:12 hrs.2023-04-03 21:12:03

Ambas clases serán presenciales.

Martes 4


Temario: semáforos, cena de filósofos resuelta con semáforos para garantizar la exclusión mutua, productor/consumidor resuelto con semáforos, productor/consumidor resuelto con patrón request usando semáforos en vez de mutex/condiciones, lectores/escritores resuelto con patrón request/semáforos

Presentación: pdf (corregido)
Video de un semestre previo

Errata 1: en el video en la solución de productor/consumidor con patrón request y semáforos las funciones del buffer se llaman put y get, pero también se llaman así las funciones put y get para agregar y extraer en la cola.  Ese es el error.  El problema se resolvió en el nuevo pdf, haciendo que las funciones del buffer se llamen putBuf y getBuf.

Errata 2: en el video, en la misma función de la Errata 1, digo que el mutex lo hereda el thread que estoy retomando (el consumidor).  Eso es incorrecto.  El código corregido en el nuevo pdf es:

  if (emptyQueue(buf->consq))
      sem_post(&buf->mutex); // unlock
  else {
      sem_t *pw= get(buf->consq);
      sem_post(&buf->mutex); // faltaba este unlock
      sem_post(pw); // cond signal
  }

Jueves 6


Temario: equivalencia entre semáforos y mutex/condiciones, mutex y condiciones implementados a partir de semáforos, 3 patrones de paralelización con threads, dividir en subintervalos, divide y conquista en paralelo y productor/consumidor, búsqueda de un factor con patrón productor/consumidor, paralelismo del tipo AND y del tipo OR

Presentación: sem2mutex.pdf (corregido)

Video de un semestre previo

Categoría Cátedras presenciales
Última Modificación 5 Abr 202305/04/23 a las 22:34 hrs.2023-04-05 22:34:05
Vistas Únicas 81
Compartir
Comentarios
  • Luis Mateu B.

    4 Abr 202304/04/23 a las 19:09 hrs.2023-04-04 19:09:04

    Hay 2 errores en el video del semestre anterior correspondiente a la clase del martes. Lean la errata que agregué en esta misma novedad.