Schedule
This is a tentative schedule for the class. There could be some dynamic adjustments as and when needed.
- 
            EventDateDescriptionCourse Material
 - 
            
Assignment01/12/2025
SundayCheck You C Background starts! - 
            
Assignment01/13/2025
MondayLab #0 - Setup starts! - 
            
Assignment01/13/2025
MondayVSCODE Debugging Setup starts! - 
            Lecture01/14/2025
TuesdayIntroduction[slides]Readings:
 - 
            
Assignment01/14/2025
TuesdayLab #1 - Booting a PC starts! - 
            
Due01/14/2025 23:59
TuesdayBackground Self Check - 
            
Due01/14/2025 23:59
TuesdayDebugging Setup due - 
            
Due01/15/2025 23:59
WednesdayLab #0 due - 
            Lecture01/16/2025
Thursday - 
            Lecture01/21/2025
TuesdayMemory - Address Space, Segmentation and Paging[slides] - 
            No Class01/23/2025
ThursdayInstructor Travelling (PI Meeting) - 
            
Due01/23/2025 23:59
ThursdayLab #1 due - 
            
Assignment01/24/2025
FridayLab #2 - Memory Management starts! - 
            Lecture01/28/2025
TuesdayVirtual Address Translation[slides]Readings:
 - 
            Lecture01/28/2025
TuesdayJOS Memory Management[slides] - 
            Lecture01/30/2025
ThursdayMore Virtual Memory - 
            Lecture02/04/2025
TuesdayProcess Abstraction[slides]Readings:
Examples:
 - 
            Lecture02/06/2025
ThursdayProcess Abstraction[slides]Readings:
Examples:
 - 
            Lecture02/11/2025
TuesdayInterrupt and Exception Handling - 
            
Due02/11/2025 23:59
TuesdayLab #2 due - 
            
Assignment02/12/2025
WednesdayLab #3 - User Environments starts! - 
            Lecture02/13/2025
ThursdayInterrupt and Exception Handling[slides] - 
            Lecture02/18/2025
TuesdaySystem calls and Page faults[slides]Examples:
 - 
            Lecture02/20/2025
ThursdayMore About System Calls[slides] - 
            Lecture02/25/2025
TuesdayImportance of Secure Code[slides] - 
            No Class02/27/2025
ThursdayInstructor Travelling (NDSS Conference) - 
            Lecture03/04/2025
TuesdayMulti-processing and CPU Scheduling[slides] - 
            Lecture03/06/2025
ThursdayMore Multi-processing[slides]Readings:
 - 
            
Due03/06/2025 23:59
ThursdayLab #3 due - 
            
Assignment03/07/2025
FridayLab #4 - Preemptive Multitasking starts! - 
            Lecture03/11/2025
Tuesday - 
            Exam03/13/2025 07:30
ThursdayMidterm Exam - 
            No Class03/18/2025
TuesdaySpring Vacation - 
            No Class03/20/2025
ThursdaySpring Vacation - 
            Lecture03/25/2025
TuesdayMulti-threading[slides] - 
            Lecture03/27/2025
ThursdaySynchronization[slides] - 
            Lecture04/01/2025
TuesdayConcurrency Bugs and Deadlocks[slides]Readings:
 - 
            Lecture04/03/2025
ThursdayDemand Paging and Page Replacement Algorithms[slides] - 
            
Due04/03/2025 23:59
ThursdayLab #4 due - 
            
Assignment04/04/2025
FridayLab #5 - File system, Spawn and Shell starts! - 
            Lecture04/08/2025
TuesdayThrashing and Storage Devices[slides] - 
            Lecture04/10/2025
ThursdayFile System Abstractions[slides]Readings:
Samples:
 - 
            Lecture04/15/2025
TuesdayLinux Storage Stack[slides] - 
            Lecture04/17/2025
ThursdayFile System Reliability and Journaling File System[slides]Readings:
 - 
            Lecture04/22/2025
TuesdayRAID[slides]Readings:
 - 
            Lecture04/24/2025
ThursdayDistributed File Systems and NFS[slides]Readings:
 - 
            Lecture04/29/2025
TuesdayOS Designs[slides] - 
            Lecture04/29/2025
TuesdayFinal Exam Review[slides] - 
            No Class05/01/2025
ThursdayInstructor Meeting with CISO/Final Preparation Break - 
            
Due05/03/2025 23:59
SaturdayLab #5 due - 
            Exam05/06/2025 07:30
TuesdayFinal Exam 
