COMS W4118 Operating Systems I

Spring 2024 Course Overview

HW Due Dates

Date Assignment
F 1/19 HW0 due
F 1/26 HW1 due
Su 2/10 HW3 due
Fr 2/23 HW4 due
Su 3/17 HW5 due
Fr 4/5 HW6 due
Fr 4/19 HW7 due
Tu 5/7 HW8 due

Course Schedule

1/16

Course overview and logistics


1/18

Introduction to OS/Unix


HW1: VM Setup & Linux Linked List


1/23

Linux Overview


1/25

UNIX File I/O


HW3: Multi-Server

Recitation: Sockets API and HTTP 1.0 in preparation for HW3


1/30

UNIX signals


2/1

Interprocess communication in UNIX

POSIX threads


2/6

Nonblocking I/O and I/O multiplexing

UNIX domain sockets


2/8

Linux system calls


2/13

Run queues and wait queues


HW4: Tabletop


2/15

Interrupts & Spin Locks


2/20

Synchronization


2/22

No class


HW5: Fridge


2/27

Synchronization (cont.)


2/29

Scheduling algorithms


3/5

Midterm Review


3/7

Midterm


3/12

No class – Enjoy the spring break!


3/14

No class – Enjoy the spring break!


3/19

Scheduling in Linux


HW6: Freezer


3/21

Introduction to Paging


3/26

x86 Memory Management


3/28

Virtual Memory Beyond Physical Memory


4/2

No class


4/4

Memory Management in Linux


HW7: Farfetch’d


4/9

Storage Devices


4/11

Storage Devices (continued)


4/16

UNIX File System and Journaling


4/18

VFS and LFS


HW8: ezfs


4/23

Final Review & Wrap-up


4/25

eBPF Tutorial

Guest lecture presented by Yannis Zarkadas, Columbia CS Ph.D. Student


5/7

Final is canceled