Filter

Preparación para el control del miércoles 10 de abril 155

Luis Mateu B. 4 AprApril 4 at 19:062024-04-04 19:06:04
Información

El control es el miércoles 10 (la próxima semana) en el horario extendido de la clase auxiliar (16:00 a 18:00).  Es muy importante haber resuelto las 2 primeras tareas pasando exitosamente el test de prueba.  Si recibieron mucha ayuda en una tarea, consideren volver a resolver esa tarea sin ayuda esta vez, partiendo desde cero.

Para preparar el control resuelvan el control 1 del semestre pasado.

Recuerden que todos los controles previos están en esta página.  Ejemplos de soluciones de este tipo de problemas son los que se han visto en las clases auxiliares.

El control es con apuntes personalmente manuscritos en papel, pero pueden llevar apuntes impresos tomados en una tablet.  No se acepta otro tipo de material impreso ni fotocopias de apuntes.  La idea es que se aprende mucho al escribir en papel.

Entra hasta semáforos, es decir la clase del martes pasado.

Auxiliar #4 Semáforos 52

José Astorga Tobar 3 AprApril 3 at 14:582024-04-03 14:58:03
auxiliares

La auxiliar #4 se desarrollará de manera presencial y online hoy a las 16:15, veremos la herramienta de sincronización Semáforos:

  • Sección 1 será online a cargo de José.
  • Sección 2 será en la G301 a cargo de Pablo.
  • Sección 3 será en la G111 a cargo de Vicente.

codigos.zip (5.8 kb)
Auxiliar_4_Semaforos.pdf (517 kb)
Video 03/04/2024

Saludos!

Cátedras del martes 2 y jueves 4 81

Luis Mateu B. 1 AprApril 1 at 19:262024-04-01 19:26:01
Cátedras

Martes 2

(viernes 5 para la sección 3)

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
Video de un semestre previo.

Errata: 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.

Jueves 4

(miércoles 10 para la sección 3)

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: pdf

Video de un semestre previo

Auxiliar #3: Patrón Request 133

Pablo Jaramillo V. 27 MarMarch 27 at 13:052024-03-27 13:05:27
auxiliares

Hola!

Hoy a las 16:15 vamos a tener una de las clases más importantes del semestre donde vamos a aprender sobre un patrón de diseño esencial para programar en paralelo y mantener un orden coherente. Por secciones:

  • Sección 1 será online a cargo de José.
  • Sección 2 será en la G301 a cargo de Pablo.
  • Sección 3 será en la G111 a cargo de Vicente.

El auxiliar de José quedará grabado. Como siempre están todos invitados al auxiliar que puedan/prefieran ir, pero preferentemente el suyo ;)

Material(es)

Les reitero que vayan! Les va a servir mucho de aquí al fin del semestre!

Cátedras del martes 26 y jueves 28 136

Luis Mateu B. 25 MarMarch 25 at 15:162024-03-25 15:16:25
Cátedras


Martes 26

(miércoles 27 para la sección 3)

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 28

(miércoles 3 para la sección 3)

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: Sincronización de Threads 123

Vicente I. González 19 MarMarch 19 at 17:132024-03-19 17:13:19
auxiliares

Buenas!

Les doy la bienvenida al curso (again), soy Vicente González y seré el auxiliar de la sección 3, fui el último en unirme al equipo docente y por eso no pude hacerles la primera auxiliar, espero de verdad que eso no se un impedimento para vengan mañana (miercóles) a clase :D

Mañana a las 16:15 tendrán el segundo auxiliar donde verán uno de los conceptos fundamentales del curso lo cuál es la sincronización de threads, partiremos con mutex y condiciones. Por secciones:

  • Sección 1 será online a cargo de José.
  • Sección 2 será en la G301 a cargo de Pablo.
  • Sección 3 será en la G111 a cargo de Vicente (yop).

El auxiliar de José quedará grabado en este link. Idealmente asistan a sus correspondientes auxiliares pero todos están abiertos a quien quiera.

Material(es)

o7

Edit: Código con pauta y link del video añadidos :D

Calendario de controles y tareas 118

Luis Mateu B. 14 MarMarch 14 at 13:172024-03-14 13:17:14
Información

Están publicados en la sección presentación.

Cátedra del jueves 14 de marzo 151

Luis Mateu B. 13 MarMarch 13 at 12:582024-03-13 12:58:13
Cátedras

Secciones 2 y 3: La cátedra será presencial y el tema es la paralelización con threads. clase2.pdf (271 kb)

Todavía no hay pdf con la presentación y no habrá video, pero las 3 próximas cátedras están disponibles con el relator como se indica a continuación.

Para la sección 1 las próximas 3 cátedras serán asíncronas, pero abriré una sesión de zoom para que puedan hacer consultas relacionadas con el curso.  Para ver las cátedras 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.

También hay java para MacOS, pero cuidado porque MacOS no permite al relator leer archivos desde cualquier carpeta.  Si tienen problemas para encontrar el archivo descargado (threads8.rto,) muévanlo a la carpeta raíz de su cuenta.

Para la sección 1 recomiendo este calendario para estudiar los threads:

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

Martes 19: secciones críticas, sincronización con mutex y condiciones, el problema del productor/consumidor.  Desde el minuto 35 hasta el minuto 95. clase3.pdf (197 kb)

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

La sección 1 retomará las clases online a partir del martes 26.

Auxiliar #1 Introducción a pthreads 158

Pablo Jaramillo V. 12 MarMarch 12 at 17:522024-03-12 17:52:12
auxiliares

Sean tod@s muy bienvenid@s al curso de parte del equipo docente de las 3 secciones! 

Mañana a las 16:15 va a comenzar el primer auxiliar del semestre, el cual tendrá 2 versiones simultáneas. José realizará un auxiliar online para  la sección 1 y 3,  mientras que yo, Pablo, realizaré una presencial en la sala G301 para la sección 2.

El auxiliar de José quedará grabado. Ambos auxiliares están abiertos a quien quiera.

El material y contenido entre ambas versiones tanto para esta auxiliar como toda futura será coordinado (salvo que las diapositivas pueden variar en estilo dependiendo del aux)
Material (Sección 2)

Edit: José sugirió un cambio al código del auxiliar y modifiqué el .zip disponible, ahora viene con test!

Edit 2: Ahora está disponible la grabación de la clase online de José

Edit 3: No me había dado cuenta que no incluí la pauta en el zip, ahora está incluido, perdón!

Primera cátedra 165

Luis Mateu B. 11 MarMarch 11 at 11:102024-03-11 11:10:11
Cátedras

Esta semana tendremos la primera cátedra.

Sección 1: Profesor Luis Mateu por zoom, martes a las 12:00 por zoom.
Sección 2: Profesor Lucas Torrealba, martes a las 12:00, presencial en la E216.
Sección 3: Profesor Rodrigo Arenas, miércoles a las 10:15, presencial en sala G111.

Se hablará de los siguientes temas:

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

Slides: Intro.pdf
video

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