CSE 120: Principles of Operating Systems (Winter 2013)
Lecture and Discussion Times
Instructor
Teaching Assistants
-
Ketan Supanekar
(email: ksupanek -AT- eng.ucsd.edu)
-
Boxiang Pan
(email: bopan -AT- ucsd.edu)
-
Vijay Venkataraman
(email: v2venkat -AT- eng.ucsd.edu)
Tutors
-
Haronid Moncivais Miller
-
Benjamin Lei
-
Suman Malani
-
Gabriela Ponce
Messages
-
The course is completed. Best wishes with your future studies at UCSD.
-
If you wish to view your final exam, you can do so on Monday, April 15, 1-1:30 or 3-3:30. However, you MUST send me an email to make an appointment for a particular time (1:00-1:15, 1:15-1:30, 3:00-3:15, 3:15-3:30).
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 7: Introduction
-
Jan 9: Processes - Context-Switching
-
Jan 14: Processes - Time-Sharing
-
Jan 16: Scheduling
-
Jan 23: Synchronization
-
Jan 28: Inter-Process Communication
-
Jan 30: Deadlock
-
Feb 4: Midterm - no lecture
-
Feb 6: Memory Management
-
Feb 11: Logical Memory
-
Feb 13: Virtual Memory
-
Feb 20: File System
-
Feb 25: Input/Output System
-
Feb 27: Protection
-
Mar 4: Security
-
Mar 6: Networks
-
Mar 11: Distributed Systems
-
Mar 13: Review
Programming Assignments
Grading
-
30% Midterm exam (Mon, Feb 4)
-
40% Final exam (Section A: Wed, Mar 20, 7:00pm-10:00pm, Center 214; Section B: Mon, Mar 18, 7:00pm-10:00pm, Center 214)
-
30% Programming assignments (four, each worth: 10%, 20%, 30%, 40%)
References
-
Lecture notes (available on this page, see above)
-
Textbook: Operating System Concepts, 9th Ed., by Silberschatz, Galvin, Gagne; Wiley, 2013 (8th ed. is also ok)