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

Temario: paginamiento en demanda, la estrategia del reloj.

pdf de la clase presencial

Video y pdf de un semestre previo.

Sección 3:
Esta cátedra se realizará el miércoles 22 y el viernes 24 no habrá cátedra.

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átedra
Secció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.

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:

  • 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.