CSC369H: Operating Systems -- Fall 2014

Key Course Information

Please be sure to read the course information sheet. It contains information about the course objectives and grading policies.

Class Discussions:
Tutorials:
Mon, 9-11 @ IB250
Wed, 9-10 and 10-11 @ DH2020
Discussion Board: Discussion Board
Instructor Availability:
(DH3096)
Priority for 369: Mon/Wed, 11-12
Priority for 108: Mon/Wed/Fri, 4-5
or by open door policy
Email: click for email@utoronto.ca
or Send Feedback

Course Materials

Most readings come from Operating Systems: Three Easy Pieces, an online textbook by Remzi and Andrea Arpaci-Dusseau.

Week Readings For Credit Reference Materials
Sep 8-12 (1) Intro to Operating Systems, Single-threaded Processes
Intro
Processes
For reference: 258 Webpage (for function calls)
Monday: In-class exercises
Wednesday: In-class exercise about function/system calls
Administrative and Intro Slides
Mon Discussion Questions
Wed Discussion Questions
Function Call Diagram (credit: Andrei Moraru)
Sep 15-19 (2) System Calls and Address Spaces
Process API
Direct Execution
Address Spaces
Monday: In-class exercise
Wednesday: In-class work on A1
Assignment 1 Posted
Processes (pdf)
Mon Discussion Question
OS/161 Syscall code (tgz)
Sep 22-26 (3) Threads and Intro to Concurrency
Concurrency Intro
Thread API
Locks
Locked Data Structures
Monday: In-class exercise
Wednesday: Concurrency exercise due Sunday @ 10:00
Threads (pdf)
Sep 29-Oct 3 (4) Synchronization
Condition Variables
Semaphores
Concurrency Bugs
Event-based Concurrency
Monday: In-class exercise
Wednesday: In-class sample midterm
Assignment 1 phase 1 due by midnight on Wednesday
Semaphores and CVs (pdf)
CV-based synchro solution
Oct 6-10 (5) Scheduling
Scheduling
MLFQ
Lottery Scheduling
Multiprocessor Scheduling
Monday: In-class exercise
Wednesday: Malloc Rodeo
Assignment 1 phase 2 due by midnight on Wednesday
Scheduling (pdf)
Problem #1 (pdf)
Problem #2 (pdf)
Oct 13-17 (6) None Monday: No Class! (Thanksgiving)
Wednesday: Sample Midterm
Oct 20-24 (7) Intro to Virtual Memory
Before Memory was Virtual (Denning)
Address Translation
Monday: Midterm in lecture
Wednesday: Eviction heuristics exercise
Assignment 2 Posted
Administrivia
Oct 27-31 (8) Paging and Faults
Segmentation
Intro to Paging
TLBs
Monday: Address Exercise in class
Wednesday: TLB Questions in class
VM Slides
Nov 3-7 (9) Efficient Page Tables and Swapping
Advanced Page Tables
Swapping Mechanisms
Swapping Policy
Monday: TLB and Paging exercises in class
Wednesday: Assignment work time (no exercise)
Pagetable slides
Comparison of Page Table Implementations
Nov 10-14 (10) Intro to Filesystems
Files and Directories
File System Implementation
A Five-Year Study of File-System Metadata (Agrawal et al)
Assignment 2 due by midnight on Monday Monday: In-class exercise
Wednesday: Virtual Disks
Assignment 3 Posted
Directory Slides (pdf)
File Writing Code (.c)
Nov 17-21 (11) Filesystem Examples
FFS
Journaling
Log Structured
Monday: In-class exercise
Wednesday: Path Traversal
Inodes
Path traversal exercise
Video of disk seeking (external link)
Nov 24-28 (12) Disk I/O and Security
I/O Devices
Hard Drives
File Integrity
Extra: Secure Deletion of Data from Magnetic and Solid-State Memory (Gutmann)
Monday: Mapped Files (due in lab Wed)
Wednesday: A3 "Office Hours" in lab
Filesystem Errors
Dec 1-5 (13) Wrap-up
Monday: Sample exam (with real exam cover sheet)
Assignment 3 due by midnight Monday