CSE 120: Principles of Operating Systems (Winter 11)
Instructor: Joseph Pasquale
(office hours: Thu 11-12 or by appt, EBU3B 3112)
Teaching Assistant: Cynthia Taylor
(office hours: Wed 1-2, B240A)
Teaching Assistant (half-time): Matt Jacobsen
(office hours: Mon 2-3, B250A)
Lab Tutor: Mark Mikhail (lab hours: Tu: 4p-6p, W: 10a-12p, Th: 4p-6p, F: 2-4p, all in EBU3B B250)
Lectures: Tue/Thu 2:00-3:20, CENTR 212
Discussion: Wed 12:00-12:50, CENTR 105
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 4: Introduction
-
Jan 6: Processes
-
Jan 11: Scheduling
-
Jan 13: Synchronization
-
Jan 18: Interprocess Communication
-
Jan 20: Deadlock
-
Jan 25, 27: Memory Management
-
Feb 1: Logical Memory
-
Feb 3: Virtual Memory
-
Feb 8: Midterm - no lecture
-
Feb 10: Resident Set Management
-
Feb 15: File System Design
-
Feb 17: File System Implementation
-
Feb 22: Input/Output System
-
Feb 24: Protection
-
Mar 1: Networks
-
Mar 3: Distributed Systems
-
Mar 8: Security
-
Mar 10: Final Review and Future
Grading
-
40% Final exam (Thur, Mar 17, 3:00pm-6:00pm)
-
30% Midterm exam (Tues, Feb 8, in class)
-
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