CSE 120: Principles of Operating Systems (Winter 2017)
Lecture and Discussion Times
-
Section A Lectures: Mon/Wed 5:00-6:20, CENTR 101
-
Section B Lectures: Mon/Wed 6:30-7:50, CENTR 101
-
Section A Discussion: Fri 3:00-3:50p, SOLIS 107
-
Section B Discussion: Fri 4:00-4:50p, SOLIS 107
Instructor
Teaching Assistants
-
Saurabh Chandra
-
Ruiqing Qiu
-
Mingshan Wang
-
Edward Wong
-
Dylan McNamara
Tutors
-
Andrei Khmelnitski
-
Raymond Shi
-
Abbas Dharamsey
-
Kirill Sydykov
-
Keith Ballew
-
Huan Zhou
News
-
The course is completed. Best wishes with your future studies at UCSD.
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 9:
Introduction
-
Jan 11:
Processes
-
Jan 18: Time-Sharing
-
Jan 23: Scheduling
-
Jan 25: Synchronization
-
Jan 30: Interprocess Communication
-
Feb 1: Deadlock
-
Feb 6: MIDTERM
-
Feb 8: Memory Management
-
Feb 13: Logical Memory
-
Feb 15: Virtual Memory
-
Feb 15: File Systems I
Feb 22: File Systems II
-
Feb 27: Input/Output System
-
Mar 1: Protection
Mar 6: Security
-
Mar 8: Networks
-
Mar 13: Distributed Systems
-
Mar 15: Advanced Topics
Programming Assignments
Programming assignments will be posted
as they become available.
Grading
-
30% Midterm Exam
(Mon, Feb 6, in class)
-
40% Final Exam
(SATURDAY COMMON FINAL, Mar 18, 7:00PM-9:59PM, TBA)
-
30% Programming assignments (four, each worth: 10%, 20%, 30%, 40%)
Textbook
-
Operating System Concepts, 9th Ed., by Silberschatz, Galvin, Gagne; Wiley, 2013 (8th ed. is also ok)
Resources