Fecha | Temas |
Martes 2023/Ago/15 (Semana 1) |
- Revisión de la carta al estudiante
- Análisis del material de estudio
- Teoría Cap. XVI [14]
- Comunicación de procesos (IPC)
- Recordatorio: pueden ir leyendo los dos primeros capítulos
|
Martes 2023/Ago/22 (Semana 2) |
- Lectura designada para examen corto la próxima semana del Cap. I
- Teoría Cap. XVI [42]
- Temas de seguridad
|
Martes 2023/Ago/29 (Semana 3) |
- Revisión de dudas: capítulo I
- Lectura designada del Cap. II
- Teoría Cap. XVI [Final]
- Teoría Cap. XVII [Final]
- Quiz: capítulo I
- Primera tarea programada: rotonda de circunvalación (5% del 30% de proyectos prácticos)
- Fecha de entrega: 2023/Set/15
- Completar la clase "Buzon" para envio de mensajes por medio de buzones
- Enunciado
|
Martes 2023/Set/05 (Semana 4) |
- Teoría Cap. III Procesos [G2-Final]
- Teoría Cap. IV Hilos [G2-32]
- Quiz: capítulo II
|
Martes 2023/Set/12 (Semana 5) |
- Teoría Cap. IV Hilos [G2-Final]
- Teoría Cap V pendiente, lo vemos luego
- Teoría Cap. VI Synchronization tools [G2-50]
- Teoría Cap. VII Synchronization examples [G2-11-15]
- Anuncio: quiz del Cap. XVI el próximo martes 19/Set
|
Martes 2023/Set/19 (Semana 6) |
- Teoría Cap. VII Synchronization examples [G2-Final]
- Lectores/Escritores, Buffer acotado
- H2O
- Otros (barbería, caníbales/misioneros, puente, supersticioso, fumadores, Santa, baduinos, etc. )
- Teoría Cap. III Process management [G2-10]
- Otros ejemplos de sincronización
- NachOS Threads/Synchronization
- 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 bajar el código, descompactarlo, cambiarse al directorio "NachOSx64/code/threads",
correr "make depend" y "make"; para correrlo "./nachos"
- Entrega: 2023/Oct/03
- Quiz del capítulo XVI
|
Martes 2023/Set/26 (Semana 7) |
- Teoría Cap. V CPU Scheduling [G2-41]
- Ejercicios prácticos de sincronización de tareas
|
Martes 2023/Oct/03 (Semana 8) |
- 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: 2023/Oct/24 EOD
- Realización de ejercicios en clases
|
Viernes 2023/Oct/06 (Semana 8) |
- Primer examen parcial 9a.m. - 12 m.d.
Aula: 203 IF
- Atención: es en horario del PI
|
Martes 2023/Oct/10 (Semana 9) |
- Teoría Cap. IX Main Memory [G2-39]
- 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 2023/Oct/24 EOD)
|
Martes 2023/Oct/17 (Semana 10) |
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-final]
|
Martes 2023/Oct/24 (Semana 11) |
- Teoría Cap. X Virtual Memory [G2-47]
- Ejemplos en el sistema operativo NachOS
- Entrega del proyecto de "Programas de Usuario" de NachOS
|
Martes 2023/Oct/31 (Semana 12) |
- Inicio del proyecto de memoria virtual de NachOS (10% del 30% de proyectos programados)
- Fecha de entrega: Martes 2023/Nov/28 (eod)
- Teoría Cap. X Virtual memory [G2-final]
- Revisión de NachOS para el proyecto de memoria virtual
|
Martes 2023/Nov/07 (Semana 13) |
- Teoría Cap. XI Mass Storage Systems [G2-28]
- Algoritmos de atención de solicitudes de disco
- FCFS
- SSTF
- SCAN y CSCAN
- LOOK y CLOOK
|
Martes 2023/Nov/14 (Semana 14) |
|
Martes 2023/Nov/21 (Semana 15) |
- Teoría Cap. XI Mass=storage systems [G2-Final]
- Teoría Cap. XIII File system interface [G2-Final,]
- Teoría Cap. XIV File system implementation [G2-13]
|