course information

Classes: MW 5-7 pm, CLA 0.130
Jan S. Rellermeyer
Tel 512-286-6780
Office Hours M 3:30-5pm GDC 5.430
  W 2:30-4:30pm, GDC 5.430
  (and by appointment)
Discussion Sections:
50750 (Jacob) M 9-11am, WEL 3.260
50755 (Akshay) M 12-2pm, JGB 2.202
50760 (Jacob and Akshay) M 3-5pm, JES A215A
Alyssa Williams
Office Hours Th 3:30-4:30pm, GDC 3.302
  F 4-5pm, GDC 3.302 (every other week)
Jacob Robertson
Office Hours W 3-4pm, GDC 3.302
  F 3-4pm, GDC 3.302
Akshay Kasukhela
Office Hours T 2-3:15pm, GDC 3.302
  Th 2-315pm, GDC 3.302
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.
Prerequisites: CS 429 or 429H with a grade of at least C-
Homework 10%
Two Midterm Exams 15% each
Final Exam 30%
Labs/Project 30%
This class uses the +/- grade scale.
  Midterm Exam 1: 9/30 5:30-7pm in GDC 2.216
  Midterm Exam 2: 11/11 5:30-7pm in GDC 2.216
  Final Exam: 12/11 7-10pm in PAI 3.02
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
Wed 08/26/2015 Introduction and Motivation project 1
Mon 08/31/2015 Anatomy of an Operating System OSPP Chapter 1+2
Wed 09/02/2015 Anatomy of an Operating System continued.
Processes and Scheduling
[J. Liedtke: On μ-Kernel Construction ]
CSPP Chapter 7.4, OSPP Chapter 2
homework 1
Mon 09/07/2015 Labor day, no class
Wed 09/09/2015 Processes and Scheduling continued. OSPP Chapter 7, CSPP Chapter 3 homework 2
Mon 09/14/2015 Processes and Scheduling continued.
Signals, Inter-Process Communication
OSPP Chapter 7, CSPP Chapter 3
Wed 09/16/2015 Memory OSPP Chapter 8.1, CSPP Chapter 7.7
[J. Peterson, T. Norman: Buddy Systems ]
project 2
Mon 09/21/2015 Virtual Memory OSPP Chapter 8.2, CSPP Chapter 9.6 homework 3
Wed 09/23/2015 Virtual Memory continued. OSPP Chapter 8.3, CSPP Chapter 6.2
Mon 09/28/2015 Virtual Memory continued.
Heap Memory Management
CSPP Chapter 9.9, 9.10
[P. Wilson: Uniprocessor Garbage Collection Techniques ]
Wed 09/30/2015 Midterm exam, 5:30-7pm in GDC 2.216
Mon 10/05/2015 Heap Memory Management continued.
OSPP Chapter 4,
[H.-J. Boehm: Threads Cannot be Implemented as a Library ]
[T. Anderson, B. Bershad, E. Lazowska, H. Levy: Scheduler Activations ]
homework 4
Wed 10/07/2015 Threads continued,
Too Much Milk
[U. Drepper, I. Molnar: The Native POSIX Thread Library for Linux ]
[B. Alpern, F. Schneider: Recognizing Safety and Liveness ]
Mon 10/12/2015 Too Much Milk continued.
OSPP Chapter 5 homework 5
Wed 10/14/2015 Synchronization continued. OSPP Chapter 5 project 3
Mon 10/19/2015 Synchronization continued. [H. Franke, R. Russel, and M. Kirkwood: Fuss, Futexes and Furwocks: Fast Userlevel Locking in Linux ]
[U. Drepper: Futexes are Tricky ]
homework 6
Wed 10/21/2015 Deadlock
OSPP Chapter 6
[T. Harris: A Pragmatic Implementation of Non-Blocking Linked Lists ]
Mon 10/26/2015 Transactions CSPP Chapter 12
[P. Bernstein, E. Newcomer: Principles of Transaction Processing]
homework 7
Wed 10/28/2015 I/O continued. OSPP Chapter 6
[W. R. Stevens and S. A. Rago: Advanced Programming in the Unix Environment ]
project 4
Mon 11/02/2015 Storage OSPP Chapter 12, CSPP 6.1.2, 6.1.3, 6.3
Wed 11/04/2015 File Systems OSPP Chapter 11 homework 8
Mon 11/09/2015 File Systems continued. OSPP Chapter 11, CSPP Chapter 10.1-10.3
Wed 11/11/2015 Midterm exam 5:30-7pm in GDC 2.216 Midterm 2 review [slides]
Mon 11/16/2015 Computer Networks CSPP Chapter 11
[ A. Tanenbaum, D. Wetherall: Computer Networks]
homework 9
Wed 11/18/2015 Computer Networks continued CSPP Chapter 11
Mon 11/23/2015 Computer Networks continued CSPP Chapter 11
Wed 11/25/2015 Socket Programming CSPP Chapter 11
W.R. Stevens and S. A. Rago: Advanced Programming in the Unix Environment
Mon 11/30/2015 Operating System Security [Smashing the Stack for Fun and Profit]
Wed 12/02/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]
[J. Dean, S. Ghemawat: MapReduce: Simplified Data Processing on Large Clusters]
homework 11 (optional)
Fri 12/11/2015 Final exam 7=10pm in PAI 3.02 Final review [slides]

Students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 512-471-6259, [link].