Filtrar

Cátedras del martes 4 y jueves 6 de abril 81

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

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

Auxiliar #3 Patrón Request 66

Pablo Jaramillo V. 28 Mar 202328/03/23 a las 12:13 hrs.2023-03-28 12:13:28
Auxiliares

Hola! La auxiliar #3 de mañana a las 16:15 será en la sala B112, pero es posible que haya un cambio, de ser así lo anunciaré en el foro antes de almuerzo. Vamos a ver el Patrón Request usando pthreads resolviendo un problema de paralelización inspirado en el transporte de contenedores con camiones.

Material:

Existe el vídeo del año pasado que cubre el mismo problema para quienes no puedan asistir presencialmente.

Edit (28/03 - 19:40):
Acorde al comunicado FCFM recientemente publicado actualizo este post para confirmar que en efecto voy a hacer el auxiliar en formato online, misma hora. Si desean posterior a este podemos continuar en una sesión de consultas para resolver dudas adicionales que tengan sobre el aux y/o la tarea.

Adicionalmente añadí aparte de la solución del auxiliar una versión plantilla por si les parece útil para mañana (mismo archivo pero sin la respuesta, como para seguir el aux).

Edit (29/03 - 18:02):
Hice una pequeña corrección en los archivos de código que me indicaron durante el aux donde había un error ortográfico en la llamada a mutex_lock. Cosa pequeña pero igual lo hago para evitar confusiones al futuro.

Cátedras presenciales del martes 28 y jueves 30 de marzo 70

Luis Mateu B. 27 Mar 202327/03/23 a las 13:03 hrs.2023-03-27 13:03:27
Cátedras presenciales

Esta semana volvemos al formato presencial para las cátedras.

Martes 28


Temario: orden de atención indefinido, atención por orden de llegada, lectores/escritores sin hambruna (por orden de llegada), patrón request para atender en un orden específico

Presentación: pdf
Video de una clase equivalente de un semestre anterior.

Jueves 30


Temario: continuación de la solución eficiente de los lectores/escritores sin hambruna, semáforos.

Presentación: pdf
Video de una clase equivalente de un semestre anterior.

Auxiliar #2 75

José Astorga Tobar 21 Mar 202321/03/23 a las 16:05 hrs.2023-03-21 16:05:21
Auxiliares

La auxiliar #2 se desarrollará de manera presencial mañana a las 16:15 en la sala B112. Veremos pthreads y sincronización de threads usando mutex y condiciones, resolveremos dos problemas:

  • Resolución de Quicksort en paralelo.
  • Sincronización de threads (problema de la colecta).

Material:

Existen videos de semestres anteriores para quienes no puedan asistir presencialmente:
  • Para ver la resolución de quicksort en N cores, pueden ver este video desde el minuto 21:18 hasta el minuto 53:00
  • Para ver la resolución del problema de la colecta, pueden ver este video desde el minuto 29:06 hasta el minuto 53:00

Cátedras del martes 21 y jueves 23 de marzo 59

Luis Mateu B. 20 Mar 202320/03/23 a las 15:02 hrs.2023-03-20 15:02:20
Cátedras con el relator

Les recuerdo que las 2 cátedras de esta semana son asíncronas, sobre pthreads.  El material se publicó en esta noticia.

Abriré la sesión de zoom para que puedan hacer consultas sobre la materia o cualquier tema relacionado con el curso.  Por ejemplo problemas de instalación de Debian 11.

Clase de cátedra del jueves 16 de marzo (con el relator) 113

Luis Mateu B. 15 Mar 202315/03/23 a las 14:31 hrs.2023-03-15 14:31:15
Cátedras con el relator

Iniciaremos el curso estudiando el tema de la paralelización con threads y su sincronización.  Este es el calendario recomendado de estudio para las cátedras grabadas de mañana jueves hasta el jueves 23 de marzo (3 cátedras).  El material está grabado con el relator, conocido ya por la mayoría.

Para ver las clases en Windows deben descargar el relator y las clases sobre threads.  El relator es un programa en java y por lo tanto deben instalar el java run time environment (jre).  Basta hacer doble click en el archivo relator-v031.jar para ejecutarlo.  Si esto no funciona tiene que lanzarlo manualmente con el intérprete de comandos de Windows (cmd.com).  Algo así como:

"...ruta de java..."\javaw -jar "...ruta del relator..."\relator-v031.jar

En Linux deben instalar openjdk y ejecutar en un terminal: java -jar relator-v031.jar

En el relator seleccionen open en el menu File y seleccionen el archivo threads8.rto que descargaron.  Usen la tecla "enter" para iniciar/pausar la reproducción.

Recomiendo este calendario para estudiar los threads:

Jueves 11: paralelización con threads.  Desde el comienzo hasta el minuto 35.

Martes 16: secciones críticas, sincronización con mutex y condiciones, el problema del productor/consumidor.  Desde el minuto 35 hasta el minuto 95.

Jueves 18: la cena de filósofos y lectores/escritores.  Desde el minuto 95 hasta el final.

A partir del martes 28 continuaremos profundizando sobre los threads con clases presenciales.

Auxiliar #1 92

José Astorga Tobar 14 Mar 202314/03/23 a las 19:27 hrs.2023-03-14 19:27:14
Auxiliares

Mañana a las 16:15 en la sala B112  tendremos la primera auxiliar del semestre. Veremos una introducción a pthreads.

Disapositivas (85 kb)
Códigos

Hay un video disponible de un semestre anterior para quienes no puedan asistir: video

Primera clase presencial: mañana martes 14 de marzo a las 12:00 95

Luis Mateu B. 13 Mar 202313/03/23 a las 12:59 hrs.2023-03-13 12:59:13
Cátedras presenciales

Bienvenidos al curso CC4302 Sistemas Operativos. Publicaré en novedades las noticias más relevantes del curso. Mañana martes tendremos la primera clase presencial.

Hablaré de los siguientes temas:

  • Resultados de aprendizaje
  • Nuevo programa de curso
  • Bibliografía
  • Evaluación
  • Historia de los sistemas operativos

El curso será muy similar al del semestre pasado.  Si no puede asistir a la clase de mañana, vea el Video y pdf de la clase del semestre pasado.

En la sección presentación de U-cursos escribí una breve introducción a CC4302.