Arslan Khan

CMPSC 473 - Operating Systems

This page is under development. Check back later for updates.

Course Information

We will study design and implement computer operating systems; manage various system resources: processes, memory, processors, files, input/output devices.

Timing:
Section 1: Tu Th 12:05PM - 1:20PM
Section 2: Tu Th 1:35PM - 2:50PM

Location:
ECoRE Bldg 028

Prerequisites:

  • CMPSC311
  • CMPEN331
  • C Programming

Not required, but highly recommended:

  • Linux
  • GDB debugger

Schedule

This schedule is tentative and may change. Check back later for updates.

Week Topic Resources
Jan 13, 2025 Introduction & Logistics
Deep C dive
Resources
Jan 20, 2025 Deep C dive
ELF, Loaders, LibC & Memory Allocators
Details
Jan 27, 2025 ELF, Loaders, LibC & Memory Allocators Details
Feb 3, 2025 Bash & Debugging Details
Feb 10, 2025 Firmware Interface & Booting Details
Feb 17, 2025 Init & Userspace Details
Feb 24, 2025 Processes & Threads Details
Mar 3, 2025 IPC & Concurrency Details
Mar 10, 2025 Review & Midterm Details
Mar 17, 2025 Userspace-Kernel Interface Details
Mar 24, 2025 Scheduling Details
Mar 31, 2025 Virtualization (CPU) Details
Apr 7, 2025 Virtualization (Memory) Details
Apr 14, 2025 Device Drivers
Kernel-Driver Interface
Details
Apr 21, 2025 Storage & Filesystems Details
Apr 28, 2025 Security
Operating Systems Architectures
Details
May 2, 2025 Review & Finals Details

Homework

Tentatively, there will be four major projects.

Exams

  • Midterm
  • Final Exam