Filtrar
× Cátedras (10)
Cátedra del jueves 23 de mayo (sección 3: miércoles) 41
Luis Mateu B. 5hHoy, a las 11:52 hrs.2024-05-20 11:52:20 Cátedras
Cátedras del martes 14 y 16 de mayo 60
Luis Mateu B. 12 May12 de Mayo a las 19:31 hrs.2024-05-12 19:31:12 Cátedras
Martes 14
(sección 3: miércoles 15)Temario: Núcleo clásico vs. núcleo moderno, núcleo monolítico vs. micro núcleo, el scheduler de Linux, prioridad estática y dinámica, colas de activos y expirados, modelos de consistencia de memoria, consistent locking behavior
Video de un semestre previo, pdf
Jueves 12
(sección 3: viernes 17)Empezaremos con la tercera unidad: administración de memoria. Es un buen momento para asistir a las clases presenciales, porque la nueva unidad casi no requiere conocimiento sobre la materia previa.
Temario: administración de memoria, paginamiento, espacios de direcciones virtuales, tabla de páginas, traducción de direcciones virtuales a reales, translation lookaside buffer (TLB), extensión explícita de los datos, extensión implícita de la pila, implementación de fork.
Presentación: pdf (el pdf dice capítulo 5, pero es la unidad 3 en el nuevo programa)
Video de un semestre previo
Cátedras del martes 7 y 9 de mayo 64
Luis Mateu B. 6 May6 de Mayo a las 19:40 hrs.2024-05-06 19:40:06 Cátedras
Martes 7
Temario: Implementación de un núcleo de Unix, espacio de direcciones virtuales, peers (contrapartes), relación entre Unix y nThreads, núcleo clásico y núcleo moderno, spin-locks
Presentación: pdf
Video de un semestre previo.
Jueves 9
Temario: Uso de spin-locks, implementación básica de spin-locks, el problema de la memoria caché con los spin-locks, protocolo MESI, implementación eficiente de spin-locks
Presentación: pdf
Video de un semestre previo
Cátedras del martes 23 y 25 de abril 108
Luis Mateu B. 22 Abr22 de Abril a las 11:27 hrs.2024-04-22 11:27:22 Cátedras
Martes 23
(sección 3: miércoles 24)Temario: Implementación de secciones críticas, nSelf, implementación de FCFS para multicore
Presentación: pdf
Video de la clase presencial de este semestre
Jueves 25
(sección 3: viernes 26)Temario: Implementación de timeouts, nSleepNanos, implementación del scheduling round robin, cómo despertar los cores, implementación de la rutina de atención del timer de tiempo virtual
Presentación: pdf
Video de la clase presencial de este semestre
Cátedras del martes 16 y jueves 18 de abril 58
Luis Mateu B. 15 Abr15 de Abril a las 18:38 hrs.2024-04-15 18:38:15 Cátedras
Martes 16
(sección 3: miércoles 17)Temario: estrategias de scheduling, first come first served (FCFS), shortest job first (SJF), prioridades, round robin
Presentación: pdf
Video de un semestre previo
Jueves 18
(sección 3: viernes 19)Temario: Implementación de threads, la pila, threads nivel de núcleo (pthreads) vs. threads nivel usuario (nThreads), compatibilidad de nThreads con pthreads, el cambio de contexto, implementación de un scheduler FCFS para single core, implementación de semáforos, implementación de secciones críticas, caso single core.
Presentación: pdf
Video de la clase presencial de un semestre previo
Cátedras del martes 9 y jueves 11 de abril 100
Luis Mateu B. 9 Abr9 de Abril a las 00:15 hrs.2024-04-09 00:15:09 Cátedras
Martes 9
Sección 1: no hay cátedraSección 2: no hay cátedra
Sección 3: La cátedra es el miércoles 10
Se recupera la cátedra no hecha el viernes 29 de marzo.
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
Jueves 11
(viernes 12 para la sección 3)Comenzamos con la segunda unidad: administración de procesos
Temario: principio de virtualización, procesos livianos vs. procesos pesados, preemptiveness, scheduling de procesos, interrupciones y timer, estados de un proceso, descriptor de proceso, ráfagas de CPU.
Presentación: pdf
Video de un semestre previo
Cátedras del martes 2 y jueves 4 81
Luis Mateu B. 1 Abr1 de Abril a las 19:26 hrs.2024-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
Cátedras del martes 26 y jueves 28 136
Luis Mateu B. 25 Mar25 de Marzo a las 15:16 hrs.2024-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.
Cátedra del jueves 14 de marzo 151
Luis Mateu B. 13 Mar13 de Marzo a las 12:58 hrs.2024-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.
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.
Primera cátedra 165
Luis Mateu B. 11 Mar11 de Marzo a las 11:10 hrs.2024-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:
Slides: Intro.pdf
video
En la sección presentación de U-cursos escribí una breve introducción a CC4302.
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.