CMSC 412: Operating Systems |
| Fall 2015 |
|
| Instructor |
Neil Spring |
| Email |
nspring@cs (put 412 in the subject) |
| Office |
4133 A. V. Williams |
| Office Hours |
TBA (send email to make an appointment) |
| Lecture Classroom |
CSIC 1121 |
| Lecture Meets |
Tuesday and Thursday, 11-12:15 |
| Discussion Classroom |
CSIC 1121 |
| Discussion Meets |
Monday and Wednesday, 12-12:150 or 1-1:50 |
| Syllabus |
pdf |
| TAs |
Frank Cangialosi, Eric Jeney, Brendan Rowan, Ian Sweet
|
| Office hours |
TBA in AVW 4103; Ian TTh 12:30-1:30, Eric W 2-4, |
| Forum |
on Piazza
|
Announcements
See also piazza.
Optional Section Monday 8/31: Review of 216
topics, optional for those confident in their C and systems
programming skills. See the homework assignments (216 prep and unix prep)
on the homework site for a relevant refresher. See also my
videos for 216 topics for some depth on individual topics.
Videos
(Should require umd central authentication for box access)
- Review of 216
- Sizes - Necessary distinction between sizeof and strlen.
- Malloc - Model for how malloc tracks memory, how to interpret memory errors.
- Timing - Reminder of user / kernel separation.
- Synchronization Topics
Lecture Buffer
Homework and Quiz Reviews
The homework site.
Projects
Setting up your build environment
Partially
configured virtual machine. Get the password in class. You will need to
install git, at least. Other linux virtual machines are possible.
We recommend you use your own machine for the
projects.
Setup instructions
for QEMU and the
build environment
for GeekOS are
below:
- Linux
- Mac
- If you run Windows, your best bet is to install
Ubuntu in a virtual machine, then follow the Linux
instructions, or use the virtual machine above. You may be able to use the cygwin
toolchain to complete the assignment; If you love
microsoft windows enough that running a linux VM
offends you, I expect you can port the geekos build
process to windows.
Specifications
- Project Z - due 9/4 - checkout, typo fix, and turnin.
- Project 0 - due 9/11 - Pipes
- Project 1 - due 9/25 - Fork and Exec
- Project 2 - due 10/9 - Signals
- Project 3 - due 10/16 - Blocking pipe (short project)
- Project 4a - due 10/23 - Paging
- Project 4b - due 11/6 - Demand Paging
- Project 5 - due 11/20, 12/4 - GFS3 reading and writing
- Project 6 - due 12/11 - Per-cpu variables
Midterm Exams
Tuesday, Oct 13 11am
Thursday, Nov 19 11am
Final Exam
Monday, December 14 8:00-10:00am
Review Vocabulary
Review Vocabulary from 2009
Web Accessibility