CSCI - 3753: Design and Analysis of Operating Systems
Course Description
This course introduces students to important Operating Systems concepts. The course will cover key aspects of how an operating systems functions on a modern computer, including Basic System Structure, Processes and Threads, Virtual Memory, File Systems, Security, Networking and Distributed (File) Systems, and Virtual Machines. In addition, with the class, you will gain familiarity with important software tools such as debuggers, compilers, editors, kernel modules, and virtual machines.
TA Office Hours
Monday 10:15 AM - 12:15 PM @ ECAE 133
Recitations
Friday 08:00 AM - 08:50 AM @ ECES 112
Friday 10:00 AM - 10:50 AM @ ECCE 141
Recitation Slides
Week | Topic | Code |
---|---|---|
Week 1 | Environment and Setup | - |
Week 2 | Programming Assignment 1 and LKM | - |
Week 3 | LKM Example and Device Drivers | LKM Example |
Week 4 | Programming Assignment 2, Processes & Threads | Useful Commands |
Week 5 | IPC, Pipes, PA2 Help Session | IPC Pipe Example |
Week 6 | Threads, PThreads, Shared Memory | PThreads Examples |
Week 7 | Programming Assignment 3 | - |
Week 8 | Producer Consumer Example | Producer Consumer Example |
Week 9 | Banker’s Algorithm | - |
Week 10 | Page Replacement | - |
Week 11 | PA4 and Memory Management | Memory Management Examples |
Week 12 | Thrashing, Working Set Model | - |
Week 13 | Virtual File System, PA4 Help | - |
Week 14 | Final! | - |
Additional References
CS Virtual Machine (Fall 2018 edition)
Credit
Thank you to Ann Nguyen for her lecture material which has been used as a reference.