CSE 120: Principles of Operating Systems (Fall 2012)
Lectures: Mon/Wed 5:00-6:20, SOLIS 104
Discussion: Fri 11:00-11:50, CENTR 214
Instructor
Teaching Assistants
-
Kevin Webb (email: kcwebb -AT- cs.ucsd.edu)
-
Deepak Arulkannan
(email: darulkan@cs.ucsd.edu)
-
Yi Jin
(email: yij007@eng.ucsd.edu)
-
Rossana Motta
Tutors
-
Haronid Moncivais Miller
-
Benjamin Lei
-
Suman Malani
-
Gabriela Ponce
For office hours, see the
Piazza Staff page.
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
Lectures
The notes for each lecture will be posted here one day prior to that lecture's class.
-
Oct 1: Introduction
-
Oct 3: Processes
-
Oct 8: The Kernel, Processes, and Threads
-
Oct 10: Scheduling
-
Oct 15: Synchronization
-
Oct 17: Interprocess Communication
-
Oct 22: Deadlock
-
Oct 24: Memory Management
-
Oct 29: Logical Memory
-
Oct 31: Virtual Memory
-
Nov 5: Midterm - no lecture
-
Nov 7: File System Design
-
Nov 14: File System Implementation
-
Nov 19: Input/Output System
-
Nov 21: Protection
-
Nov 26-28: Networks
-
Dec 3: Distributed Systems
-
Dec 5: Security
Programming Assignments
Grading
-
30% Midterm exam (Mon, Nov 5)
-
40% Final exam (Thu, Dec 13, 7:00pm-10:00pm, Solis 104)
-
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. Update, by Silberschatz, Galvin, Gagne; Wiley, 2009, 2012 (2008 ed. is also ok)
Resources