course information

Classes: TTh 4-6 pm, GDC 2.216
Jan S. Rellermeyer
Tel 512-286-6780
Office Hours TTh 2:00-3:30, GDC 5.430
Discussion Sections:
51880 T 9-11am, GDC 6.202
51885 W 9-11am, GDC 2.210
51890 Th 9-11am, GDC 2.210
51895 F 9-11am, PHR 2.114
Wenzhi Cui
Office Hours F 2-4pm GDC 1.302 (TA station, desk 3)
Egzon Bislimi
Office Hours M 12-2pm GDC 1.302 (TA station, desk 3)
Overview: An introduction to low-level software abstractions with an emphasis on the connection of these abstractions to underlying computer hardware. Key abstractions include threads, dynamic memory allocation, protection, and IO. Requires writing of synchronized multithreaded programs.
Homework 10%
Two Midterm Exams 15% each
Final Exam 30%
Labs/Project 30%
  Midterm Exam 1: 02/24/15 (in class)
  Midterm Exam 2: 04/09/15 (in class)
  Final Exam: Sat. 05/16/2015 in WEL 1.316 (scheduled by the department)
Textbooks: Thomas Anderson and Mike Dahlin: Operating Systems: Principles and Practice (OSPP)
Randal E. Bryant and David R. O’Halloran: Computer Systems: A Programmer’s Perspective (CSPP)
Additional Information:
Piazza Page [link]


Date Topic Additional Material Assignment
Tue 01/20/2015 Introduction and Motivation [slides] [project 1] [system image]
Thu 01/22/2015 Anatomy of an Operating System [slides] OSPP Chapter 1+2 [homework 1]
Tue 01/27/2015 Anatomy of an Operating System continued. [J. Liedtke: On μ-Kernel Construction ]
CSPP Chapter 7.4, OSPP Chapter 2
Thu 01/29/2015 Processes and Scheduling [slides] OSPP Chapter 7, CSPP Chapter 3 [homework 2]
Tue 02/03/2015 Processes and Scheduling continued.
Inter-Process Communication, Threads [slides]
OSPP Chapter 4,
[U. Drepper, I. Molnar: The Native POSIX Thread Library for Linux ]
[T. Anderson, B. Bershad, E. Lazowska, H. Levy: Scheduler Activations ]
[project 2]
[threads.h] [main.c]
Thu 02/05/2015 Threads continued,
Too Much Milk [slides]
[B. Alpern, F. Schneider: Recognizing Safety and Liveness ]
[H.-J. Boehm: Threads Cannot be Implemented as a Library ]
[homework 3]
Tue 02/10/2015 Too Much Milk continued.
Synchronization [slides]
OSPP Chapter 5
Thu 02/12/2015 Synchronization continued. OSPP Chapter 5 [homework 4]
Tue 02/17/2015 Synchronization continued. [H. Franke, R. Russel, and M. Kirkwood: Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux ]
[U. Drepper: Futexes are Tricky ]
Thu 02/19/2015 Deadlock [slides]
Midterm review [slides]
OSPP Chapter 6
[T. Harris: A Pragmatic Implementation of Non-Blocking Linked Lists ]
no homework
Tue 02/24/2015 Midterm exam in class.
Thu 02/26/2015 Memory [slides] OSPP Chapter 8.1, CSPP Chapter 7.7
[J. Peterson, T. Norman: Buddy Systems ]
[homework 5]
Tue 03/03/2015 Virtual Memory [slides] OSPP Chapter 8.2, CSPP Chapter 9.6
Thu 03/05/2015 Virtual Memory continued. OSPP Chapter 8.3, CSPP Chapter 6.2 [homework 6]
Tue 03/10/2015 Virtual Memory continued.
Heap Memory Management [slides]
CSPP Chapter 9.9, 9.10
Thu 03/12/2015 Heap Memory Management continued.
IO and Storage [slides]
[P. Wilson: Uniprocessor Garbage Collection Techniques ]
Tue 03/17/2015 Spring break, no class
Thu 03/19/2015 Spring break, no class [homework 7]
Tue 03/24/2015 I/O and Storage continued. OSPP Chapter 12, CSPP 6.1.2, 6.1.3, 6.3 [project 3]
Thu 03/26/2015 File Systems [slides] OSPP Chapter 11 [homework 8]
Tue 03/31/2015 I/O and File Systems in Practice [slides]
OSPP Chapter 11, CSPP Chapter 10.1-10.3
Thu 04/02/2015 I/O and File Systems in Practice continued OSPP Chapter 11, CSPP Chapter 10.1-10.3 no homework
Tue 04/07/2015 I/O and File Systems in Practice continued
Midterm review [slides]
OSPP Chapter 11, CSPP Chapter 10.1-10.3
[W. R. Stevens and S. A. Rago: Advanced Programming in the Unix Environment ]
Thu 04/09/2015 Midterm exam in class
Tue 04/14/2015 Computer Networks [slides] CSPP Chapter 11
[ A. Tanenbaum, D. Wetherall: Computer Networks]
Thu 04/16/2015 Computer Networks continued CSPP Chapter 11 [homework 9] [frame.dat]
Tue 04/21/2015 Computer Networks continued CSPP Chapter 11
Thu 04/23/2015 Computer Networks continued
Socket Programming [slides]
CSPP Chapter 11
W.R. Stevens and S. A. Rago: Advanced Programming in the Unix Environment
[homework 10]
Tue 04/28/2015 Transactions [slides] CSPP Chapter 12
[ P. Bernstein, E. Newcomer: Principles of Transaction Processing]
Thu 04/30/2015 Transactions continued
Operating System Security [slides]
[Smashing the Stack for Fun and Profit] [homework 11]
Tue 05/05/2015 Operating System Security continued. [W. Diffie, M.E. Hellman: New Directions in Cryptography]
[R.L. Rivest, A. Shamir, L. Adleman: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems]
Thu 05/07/2015 CourseOS project presentation