CSE 120: Principles of Operating Systems (Winter 2021)
Lecture and Discussion Times
-
Section A Lectures: Mon/Wed 5:00-6:20, RCLAS R63
-
Section B Lectures: Mon/Wed 6:30-7:50, RCLAS R32
-
Section A Discussion: Tue 5:00-5:50p, RCLAS R100
-
Section B Discussion: Tue 6:00-6:50p, RCLAS R51
Instructor
-
Joseph Pasquale
Office hours: Wed 2:00-3:00 via Zoom (link available on canvas page)
Teaching Assistants
-
Dong Jun Suh
-
Jessica
-
JiMin Mun
-
Lavanya Satyan
-
Pushpak Gautam
-
Shawn Gu
Tutors
-
Cesar Monsivais
-
Jefferson Chien
-
Holly Ham
-
Sam Liu
-
Zijing Di
-
Ziyu Lin
Description
This is an introductory course on the principles of operating systems.
Topics include processes, scheduling, synchronization, memory management,
virtual memory, file systems, I/O, protection, security, networking,
and distributed systems.
There is a significant systems programming component to the course,
where students are required to design and implement some basic kernel
functions (context switching, scheduling, synchronization) and
a user-level thread package.
The course is organized of the following:
-
Lectures: the lectures comprise the core material, and are based
on the instructor's lecture notes that are provided to the students
-
Discussion: the discussion sections are led by the TA, and may be
organized as discussions on specific topics or question/answer sessions
-
Readings: the readings in the textbook supplement the lecture notes
-
Labs: there are four lab programming assignments (in C)
using UMIX, a user-mode UNIX-based operating system developed by the instructor
-
Exams: there is a midterm exam and a final exam (both closed-book)
covering the material in the lectures and the labs
Lectures
The notes for each lecture will be posted
one day prior to that lecture's class.
-
Jan 4:
Introduction
-
Jan 6:
Processes
-
Jan 11: Time-Sharing
-
Jan 13: Scheduling
-
Jan 20: Synchronization
-
Jan 25: Synchronization, Interprocess Communication
-
Jan 27: Interprocess Communication
-
Feb 1: Deadlock
-
Feb 3: Memory Management
-
Feb 8: MIDTERM
-
Feb 10: Logical Memory
-
Feb 17: Virtual Memory I
-
Feb 22: Virtual Memory II
-
Feb 24: File Systems I
-
Mar 1: File Systems II
-
Mar 3: Input/Output System
-
Mar 8: Protection
-
Mar 10: Advanced topics, Review
Grading
-
30% Midterm Exam
(Mon, Feb 1, during lecture time)
-
40% Final Exam
(SATURDAY COMMON FINAL, Mar 13, 7:00PM-9:59PM, Section A: TBA/ONLINE)
-
30% Programming assignments (four, each worth: 10%, 20%, 30%, 40%)
Textbooks
-
Required: Operating System Principles, by J. Pasquale, 2021
-
Recommended: Operating System Concepts, 10th Ed., by Silberschatz, Galvin, Gagne; Wiley, 2018
Resources