COMS W4118 Operating Systems I

Spring 2016

Important dates

R 1/21 HW0 due
T 1/26 HW1 due
F 2/5 HW2 due
W 2/24 HW3 due
Su 3/6 HW4 due
R 3/10 Exam #1
W 4/6 HW5 due
Su 4/17 HW6 due
R 4/21 Exam #2
F 4/29 HW7 due (hard deadline)
W 5/4 HW8 due

Syllabus

T 1/19: Course overview and logistics

R 1/21, T 1/26: Introduction to OS; Linux System Overview

T 1/26, R 1/28: UNIX File I/O

R 1/28, T 2/2: Interprocess communication in UNIX

HW2: Linux Linked List

R 2/4: Signals

Review Session: Sockets API and HTTP 1.0

HW3: HTTP Server – Group project

T 2/9, R 2/11: POSIX threads

T 2/16: Nonblocking I/O and I/O multiplexing

R 2/18: UNIX domain sockets

T 2/23, R 2/25: Linux system calls

HW4: Building a custom kernel in Arch Linux – Individual assignment

T 3/1: Thread design and implementation

R 3/3, T 3/8: Synchronization I

R 3/10: Exam #1

T 3/15, R 3/17: Spring break – No class

T 3/22: Synchronization II

HW5a: Linux System Calls – Group project

HW5b: Fridge – Group project

HW5c: Empty Fridge – Group project

R 3/24, T 3/29: Linux processes, run queues & wait queues

R 3/31: Interrupts, Spin Locks, and Preemption

T 4/5: Disks – Optional topic

T 4/5, R 4/7: Block allocation methods & UNIX file system

R 4/7: Journaling and log-structured file system

HW6: Linux Virtual File System – Group project – due Thu, Apr 14

T 4/12: Scheduling algorithms

R 4/14: Scheduling in Linux

HW7a: BFS – Group project

HW7b: Freezer – Group project

T 4/19: Journaling and log-structured file system

R 4/21: Exam #2

T 4/26, R 4/28: Memory management

HW8: Virtual Memory Simulation – Group project – due Wed, May 4

R 4/28: Semester review


Last updated: 2016–04–28