CSE 120: Principles of Operating Systems (Winter 10)
Instructor: Joseph Pasquale
(office hours: Thu 5:30-6:30 or by appt, EBU3B 3112)
Teaching Assistant: Cynthia Taylor
(office hours: Thurs 3:30-4:30, Fri 12-1, EBU3B 250A)
Teaching Assistant (half-time): Chengmo Yang
Lab Tutor: Mark Mikhail (lab hours: Tue 11am-2pm, Thu 4-7pm, Fri 10am-12pm, all in EBU3B B250)
Lectures: Tue/Thu 2:00-3:20, PCYNH 109
Discussion: Wed 2:00-2:50, CENTR 113
Messages
-
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 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
Grading
-
40% Final exam (Thur, Mar 18, 3:00pm-6:00pm)
-
28% Midterm exam (Tues, Feb 2, in class)
-
30% Programming assignments (four, each worth progressively more points: 10%, 20%, 30%, 40%)
-
2% PeerWise
References
-
Lecture notes
-
Textbook: Operating System Concepts, 8th Ed., by Silberschatz, Galvin, Gagne; Wiley, 2008
Resources