CS439: Principles of Computer Systems
Fall 2022
Welcome! This course is an introduction to computer systems software---low-level software abstractions with an emphasis on the connection of these abstractions to underlying computer hardware.
There are two interrelated goals for this course. The first goal is to understand how operating systems and, more generally, computers work. Our goal is to de-mystify the actions of the computer so that you can describe the chain of events that occurs when you hit a key and cause a letter to appear on the screen from the system architecture level to the operating system level to the application level. This is philosophically important, but it is also of practical interest to developers who need to figure out how to make a system do what they want it to do.
The second goal is for you to learn how an OS manages the resources of a computer to better the user experience. We will focus on the core ideas in operating systems: virtual addressing, memory protection, concurrent programming, file systems, and scheduling, to name a few. Often, but not always, such ideas are best explained as abstractions that some software layer (usually the operating system) provides above imperfect hardware to make that hardware usable by programmers and users. The intent is for you to understand such abstractions well enough to be able to synthesize new abstractions when faced with new problems.
Course Information
Course Teacher
Dr. J. Marcos Palacios mpalacio@cs.utexas.edu
Class Information:
Class Meeting Times and Location:
Sections 52740, 52745, 52750: T&Th, 11 AM to 1 PM in room UTC 3.102
Sections 52755, 52760, 52765: T&Th, 2 PM to 4 PM in room PMA 7.104
Prerequisites:
CS 429 or 429H with a grade of at least C-.
Required Textbooks:
Operating Systems: Three Easy Pieces, version 0.9, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. Available online at URL http://pages.cs.wisc.edu/~remzi/OSTEP (Hard copies are also available---order at that site).
Operating Systems and Middleware: Supporting Controlled Interaction, Revised Edition 1.3, Max Hailperin. Available online at URL https://gustavus.edu/+max/os-book/.
Evaluation:
40% Exams and Final: Exams will cover material from lecture, assignments, and assigned readings.
10% Class Participation: Class participation will be earned in two ways this semester.
1. Participation with the pre-class modules.
2. Participation in the synchronous class meeting.
50% Projects: There will be five programming projects during the semester. The due date for each project will be clearly stated in class, on the project web page, and on the schedule. Plan to start early since debugging systems code can take arbitrarily large amounts of time. Additionally, respect Murphy's rule and plan for your bus to run late, your personal computer to crash the afternoon of the due date, etc.
Sexual Misconduct Reporting (SB 212):
Beginning January 1, 2020, Texas Senate Bill 212 requires all employees of Texas universities, including faculty, report any information to the Title IX Office regarding sexual harassment, sexual assault, dating violence and stalking that is disclosed to them. Texas law requires that all employees who witness or receive any information of this type (including, but not limited to, writing assignments, class discussions, or one-on-one conversations) must be reported. If you would like to speak with someone who can provide support or remedies without making an official report to the university, please email advocate@austin.utexas.edu. For more information about reporting options and resources, visit http://www.titleix.utexas.edu/, contact the Title IX Office via email at titleix@austin.utexas.edu, or call 512-471-0419.