CSC 4103 Operating Systems
Spring Semester 2025
Live lectures in 1200 Patrick Taylor Hall, Mon/Wed 5:00pm-6:20pm CT
CSC4103 Operating Systems introduces the basic facilities provided by modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency: how to manage multiple tasks that execute at the same time and share resources. Topics in this section include processes and threads, context switching, synchronization, scheduling, and deadlock. The second part of the course addresses the problem of memory management; it will cover topics such as linking, dynamic memory allocation, dynamic address translation, virtual memory, and demand paging. The third major part of the course concerns file systems, including topics such as storage devices, disk management and scheduling, directories, protection, and crash recovery. After these three major topics, the class will conclude with a few smaller topics such as virtual machines.
The class work consists of a series of up to four individual programming assignments honing your general programming skills and up to three group projects that are based on the PintOS kernel. You will learn a lot from these, but be prepared to spend a significant amount of time working on them.
For more information see:
- Lectures
- Lecture 1 - Welcome and Getting Started
- Lecture 2 - Four Fundamental Concepts (1)
- Interlude - Refreshing C
- Lecture 3 - Abstractions 1: Threads and Processes
- Lecture 4 - Abstractions 2: Files
- Lecture 5 - Abstractions 3: Pipes and Sockets
- Lecture 6 - Creating the Process Abstraction
- Lecture 7 - Synchronization 1: Monitors and Language Support for Concurrency
- Lecture 8 - Synchronization 2: Lock Implementation
- Lecture 9 - Scheduling 1: Concepts and Classic Policies
- Lecture 10 - Scheduling 2: Starvation
- Lecture 11 - Scheduling 3: Deadlocks
- Lecture 12 - System Performance
- Lecture 13 - Memory 1: Address Translation
- Lecture 14 - Memory 2: Paging, Caching, and TLBs
- Lecture 15 - Memory 3: Virtual Memory
- Assignments
- Assignment 0 (due January 27, 11:59 pm)
- Assignment 1 (due February 24, 11:59 pm)
- Assignment 2 (due April 14, 11:59 pm)
- Assignment 3 (due May 2, 11:59 pm)
- Course Projects
- Course material:
- Resources