CSE 120: Principles of Operating Systems (Winter 2012)
Instructor: Joseph Pasquale
(office hours: Mon 12:30-2:30 or by appt, EBU3B 3112)
Teaching Assistant:
Kevin Webb (half time)
(office hours in EBU3B B240A: Mon 4:00PM-5:00PM, Thu 4:00PM-5:00PM)
Teaching Assistant:
Raja Altenhoff (half time)
(office hours in EBU3B B240A: Thu 9:00AM-11:00AM)
Teaching Assistant:
Vineet Kumar
(office hours in EBU3b B240A: Wed 4:00PM-6:00PM, Fri noon-2:00PM)
Teaching Assistant:
Vivek Ramavajjala
(office hours in EBU3B B240A: Mon 11:00AM-1:00PM, Tue 9:00AM-11:00AM)
Lectures: Tue/Thu 2:00-3:20, PCYNH 106
Discussion: Wed 1:00-1:50, CSB 001
Discussion: Mon 3:00-3:50, CSB 002 (corrected)
Messages
-
The course is completed. Best wishes with your future studies at UCSD.
-
Final grades have been submitted. You'll be able to access them the standard way via the registrar. You will be able to view your final exams at the beginning of spring quarter, where they will be available in the undergraduate office.
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 Unix-based user-mode operating system
-
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 here one day prior to that lecture's class.
-
Jan 10: Introduction
-
Jan 12: Processes
-
Jan 17, 19: Scheduling
-
Jan 24, 26: Synchronization
-
Jan 26: Interprocess Communication
-
Jan 31, Feb 2: Deadlock
-
Feb 2, Feb 7: Memory Management
-
Feb 9: Logical Memory
-
Feb 14: Midterm - no lecture
-
Feb 16: Virtual Memory
-
Feb 21: Virtual Memory cont'
-
Feb 23: File System Design
-
Feb 28: File System Implementation
-
Mar 1: Input/Output System
-
Mar 6: Protection
-
Mar 8: Networks
-
Mar 13: Networks cont'
-
Mar 15: Distributed Systems & Security
Programming Assignments
Grading
-
30% Midterm exam (Tues, Feb 14)
-
40% Final exam (Thur, Mar 22, 3:00pm-6:00pm)
-
30% Programming assignments (four, each worth progressively more points: 10%, 20%, 30%, 40%)
References
-
Lecture notes (available on this page, see above)
-
Textbook: Operating System Concepts, 8th Ed., by Silberschatz, Galvin, Gagne; Wiley, 2008
Resources