| Fecha | Temas |
- Semana 1: Mar/09 a Mar/13 del 2026
- Grupo 2: martes 10
- Grupo 3: viernes 13
|
- Revisión de la carta al estudiante
- Análisis del material de estudio
- Teoría Cap. XVI [G2:34; G3:34]
- Comunicación de procesos (IPC)
- Recordatorio: pueden ir leyendo los dos primeros capítulos
|
- Semana 2: Mar/16 a Mar/20 del 2026
- Grupo 2: martes 17
- Grupo 3: viernes 20
|
- Lectura designada para examen corto la próxima semana del Cap. I
- Teoría Cap. XVI [G2:Fin; G3:Fin]
- Teoría Cap. XVII [G2:30; G3:30]
- Temas de seguridad
|
- Semana 3: Mar/23 a Mar/27 del 2026
- Grupo 2: martes 24
- Grupo 3: viernes 27
|
- Revisión de dudas: capítulo I
- Lectura designada del Cap. II
- Teoría Cap. XVII [G2:Fin; G3:Fin]
- Quiz: capítulo I
- Primera tarea programada: rotonda de circunvalación (5% del 30% de proyectos prácticos)
- Fecha de entrega: 2026/Abr/10
- Completar la clase "Buzon" para envio de mensajes por medio de buzones
- Enunciado
|
- Semana 4: Mar/30 a Abr/03 del 2026
- Grupo 2: martes 17
- Grupo 3: viernes 20
|
|
- Semana 5: Abr/06 a Abr/10 del 2026
- Grupo 2: martes 07
- Grupo 3: viernes 10
|
- Teoría Cap. III Procesos [G2:??; G3:Fin]
- Teoría Cap. IV Hilos [G2:??; G3:20]
- Quiz: capítulo II
|
- Semana 6: Abr/13 a Abr/17 del 2026
- Grupo 2: martes 14
- Grupo 3: viernes 17
|
- Teoría Cap. III Procesos [G2:Fin; G3:Fin]
- Teoría Cap. IV Hilos [G2:Fin; G3:20]
- Teoría Cap. V CPU Scheduling [G2:25; G3:44]
|
- Semana 7: Abr/20 a Abr/24 del 2026
- Grupo 2: martes 21
- Grupo 3: viernes 24
|
- Teoría Cap. VI Synchronization tools [G2:??; G3:??]
- Teoría Cap. VII Synchronization examples [G2:??; G3:??]
- Lectores/Escritores, Buffer acotado
- H2O
- Otros (barbería, caníbales/misioneros, puente, supersticioso, fumadores, Santa, baduinos, etc. )
- Otros ejemplos de sincronización
- NachOS
- NachOS Threads/Synchronization tools
- Dining philosophers (monitors and condition variables)
- H2O
- Tarea corta: resolver el problema del agua en NachOS
- Completar la clase "synch" y lograr que funcionen "Lock" y "Condition"
- Hacer correr el código de los filósofos en el método "ThreadTest" del archivo "threadtest.cc"
- Recuerden que deben solicitar el código al profesor, descompactarlo, cambiarse al directorio "NachOSx64/code/threads", correr "make depend" y "make"; para correrlo "./nachos"
- Entrega: 2026/Abr/30
- Anuncio: quiz del Cap. XVI para la próxima clase
|
- Semana 8: Abr/27 a May/01 del 2026
- Grupo 2: martes 21
- Grupo 3: viernes 01
|
- Proyecto programado (15% del 30% de proyectos programados)
- Revisión del proyecto del programas de usuario de NachOS
- Lograr que varios programas puedan estar cargados en memoria
- Agregar llamados al sistema, entre ellos los relacionados a sockets
- Administrar recursos: tabla de recursos (archivos) abiertos
- Lograr que varios programas de usuario funcionen correctamente
- todos, addrspacetest, agua
- shell
- Entre otros
- Entrega: 2026/May/29 EOD
- Ejercicios prácticos de sincronización de tareas
- Quiz del capítulo XVI para grupo 2
|
- Semana 9: May/04 a May/08 del 2026
- Grupo 2: martes 05
- Grupo 3: martes 05
|
- Primer examen parcial (Aula 302-IF):
- Grupo 2 y 3: martes 05 de mayo de 4 a 7 p.m.
|
- Semana 10: May/11 a May/15 del 2026
- Grupo 2: martes 12
- Grupo 3: viernes 15
|
- Teoría Cap. V CPU Scheduling [G2:??; G3:??]
|
- Semana 11: May/18 a May/22 del 2026
- Grupo 2: martes 19
- Grupo 3: viernes 22
|
- Teoría Cap. IX Main Memory [G2:50; G3:50]
- Detalles del proyecto programado
- Revisión de código de NachOS
- Proceso de simulación de instrucciones MIPS de NachOS (Machine->OneInstruction)
- Proceso de atención de llamados al sistemas desde MIPS con "syscall"
- Revisión de un programa MIPS (hexdump)
- Detalles de la tabla de páginas (tamaño de la página, protección)
- Declaración de variables del sistema (mapa de bits para los marcos libres en "system.h" y "system.cc")
- Manejo de las páginas libres de memoria (bitmap)
- Revisión del proceso de carga de programas a memoria
- Estrategia de versionamiento con "#ifdef"
- Asistencias para el proyecto (entrega 2026/May/22 EOD)
|
- Semana 12: May/25 a May/29 del 2026
- Grupo 2: martes 26
- Grupo 3: viernes 29
|
NachOS
- Revisión de tareas por hacer en NachOS
- MIPS ISA
- Llamados al sistema de NachOS
- Llamados al sistema sin relativos en Linux (obligatorios)
- Halt, Exit, Exec, Fork, Join, Yield
- Llamados al sistema con similares en Linux (obligatorios)
- Create, Open, Close, Read, Write
- Ocupan una tabla de archivos abiertos
- Llamados al sistema de sincronización (opcionales)
- SC_SemCreate, SC_SemDestroy, SC_SemWait, SC_SemSignal
- SC_LckCreate, SC_LckDestroy, SC_LckAcquire, SC_LckRelease
- SC_CondCreate, SC_CondDestroy, SC_CondWait, SC_CondSignal, SC_CondBroadcast
- Utilizan los recursos de NachOS (en synch.h)
- Ocupan una tabla de recursos abiertos
- Llamados al sistema para Sockets (obligatorios para el cliente)
- SC_Socket, SC_Connect, Read, Write (client)
- SC_Bind, SC_Listen, SC_Accept, SC_Shutdown (server)
- Ocupan una tabla de recursos abiertos
Clases
- Teoría Cap. IX Main Memory [G2:??; G3:??]
|
- Semana 13: Jun/01 a Jun/05 del 2026
- Grupo 2: martes 02
- Grupo 3: viernes 05
|
- Teoría Cap. X Virtual Memory [G2:??; G3:??]
- Ejemplos en el sistema operativo NachOS
- Entrega del proyecto de "Programas de Usuario" de NachOS
|
- Semana 14: Jun/08 a Jun/12 del 2026
- Grupo 2: martes 09
- Grupo 3: viernes 12
|
- Inicio del proyecto de memoria virtual de NachOS (10% del 30% de proyectos programados)
- Fecha de entrega: Martes 2026/Jul/03 (eod)
- Teoría Cap. X Virtual memory [G2:??; G3:??]
- Revisión de NachOS para el proyecto de memoria virtual
|
- Semana 15: Jun/15 a Jun/19 del 2026
- Grupo 2: martes 16
- Grupo 3: viernes 19
|
- Teoría Cap. XI Mass Storage Systems [G2:??; G3:??]
- Algoritmos de atención de solicitudes de disco
- FCFS
- SSTF
- SCAN y CSCAN
- LOOK y CLOOK
|
- Semana 16: Jun/22 a Jun/26 del 2026
- Grupo 2: martes 23
- Grupo 3: viernes 26
|
|
- Semana 17: Jun/29 a Jul/03 del 2026
- Grupo 2: martes 30
- Grupo 3: viernes 03
|
- Teoría Cap. XI Mass=storage systems [G2:??; G3:??]
- Teoría Cap. XIII File system interface [G2:??; G3:??]
- Teoría Cap. XIV File system implementation [G2:??; G3:??]
|
(°v°) Linux
<( )>
w w
|
\|||/
(O O)
--ooO--(o)------
/ UCR/ECCI \
| |
| CI0122 |
| |
\ /
------------ooO--
| | y |
|___|___|
|| ||
(d] [b)
|