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.