CSE 120: Principles of Operating Systems (Winter 2016)
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 214
-
Section A Discussion: Fri 9:00-9:50a, PCYNH 109
-
Section A Discussion: Fri 12:00-12:50, CENTR 212
-
Section B Discussion: Fri 1:00-1:50, CENTR 212
Instructor
Teaching Assistants
-
Wenjia Ouyang (weouyang)
-
Sridhar Srinivasasubramanian (s9sriniv)
-
Saurabh B Chandra (sbipinch)
-
Manindra Moharana (mmoharan)
-
Derrick E Smith (des003)
Tutors
-
Edward Wong (e4wong)
-
Arturo Andrade (asandrad)
-
Kyle Chan (klc014)
-
Kacy Espinoza (krespino)
-
Daniel Loza (dloza)
-
Ruiqing Qiu (rqiu)
-
Jianshen Wang (jiw066)
-
Mingshan Wang (miw034)
To send email to any staff member, append their email name (in parentheses above) to "(at) ucsd.edu"
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 4:
Introduction
-
Jan 6:
Processes
-
Jan 11: Time-Sharing
-
Jan 13: Scheduling
-
Jan 20: Synchronization
-
Jan 25: Synchronization cont'
-
Jan 27: Inter-Process Communication
-
Feb 1: Deadlock
-
Feb 3: Memory Management
-
Feb 8: Logical Memory
-
Feb 10: Midterm
-
Feb 17: Virtual Memory
-
Feb 22: File Systems
-
Feb 24: Input/Output System
Feb 28: Protection & Security
-
Mar 2: Networks
-
Mar 7: Distributed Systems
-
Mar 9: Advanced Topics
Programming Assignments
Programming assignments will be posted
when they become available.
Grading
-
30% Midterm Exam
(Wed, Feb 10, in class *** NOTE CHANGE FROM FEB 8)
-
40% Final exam
- Section A: Mon, Mar 14, 7:00pm-10:00pm, York 2722 (CHANGED FROM Center 101)
- Section B: Wed, Mar 16, 7:00pm-10:00pm, Center 214
-
30% Programming assignments (four, each worth: 10%, 20%, 30%, 40%)
References
-
Lecture notes (will be made available via Piazza)
-
Recommended Textbooks
-
Operating System Concepts, 9th Ed., by Silberschatz, Galvin, Gagne; Wiley, 2013 (8th ed. is also ok)
-
Operating Systems: Three Easy Pieces
Version 0.90, by R. Arpaci-Dusseau, A. Arpaci-Dusseau
Resources