CSCI 4061: Course Schedule and Materials
University of Minnesota
Spring 2020
Course Schedule and Materials
All materials are subject to change and update. All materials are marked with dates of last updated.
Week | Dates | Lecture | Links | Homework | Lab | Solutions | Projects | Stevens/Rago | Silberschatz |
---|---|---|---|---|---|---|---|---|---|
Course Mechanics | Mechanics Video | ||||||||
1 | 1/20 | Intro, Admin | Slides Code | Ch 1, 2 | Ch 1 | ||||
2 | 1/25 | Unix Basics | Slides Code | 01. Makefiles | 01. Setup | HW01 Lab01 | |||
Videos | |||||||||
Processes and Forking | Slides Code | Ch 8, 9.8 | Ch 2 | ||||||
3 | 2/01 | Processes Environment | Slides Code | 02. fork/wait | 02. Fork | HW02 Lab02 | Ch 7 | Ch 3.1-3 | |
Videos | |||||||||
4 | 2/08 | Low-level Input / Output | Slides Code | 03. WNOHANG/append | 03. realloc() | HW03 Lab03 | Ch 3, 4, 15.2 | Ch 13 | |
Videos | |||||||||
5 | 2/15 | Files / Directories | Slides Code | 04. Pipe/Redirection | 04. dup2() | HW04 Lab04 | Ch 5, 14.4 | Ch 11 | |
Videos | |||||||||
6 | 2/22 | Mon: Review | Videos | 05. Exam Review | 05. Review | HW05 | P1 Due 02/22 | ||
Wed 2/24: Exam 1 | Practice Solution | ||||||||
7 | 3/01 | Virtual Memory | Slides Code | 06. Files/Dirs | 06. stat() | HW06 Lab06 | Ch 14.8 | Ch 9 | |
Videos | |||||||||
8 | 3/08 | Virtual Memory Wrapup | 07. Dirs/pmap | 07. nftw() | HW07 Lab07 | Ch 10 | |||
Videos | |||||||||
9 | 3/15 | Signals | Slides Code | 08. mmap() / Signals | 08. Signals | HW08 Lab08 | |||
Videos | |||||||||
10 | 3/22 | IPC: Pipes, FIFOs | Slides Code | 09. FIFOs/Protocols | 09. Pipelines | HW09 Lab09 | Ch 15.1-5 | Ch 3.4-7 | |
Videos | |||||||||
11 | 3/29 | General IPC Facilities | Slides Code | 10. Message Queues | 10. FIFOs | HW10 Lab10 | Ch 15.6-12 | Ch 5 | |
Videos | |||||||||
4/05 | Spring Break: No class | ||||||||
12 | 4/12 | Mon: Review | Videos | None: Exam Review | 11. Semaphores | Lab11 | |||
Wed 4/14: Exam 2 | Practice Solution | ||||||||
13 | 4/19 | Threads | Slides Code | 12. poll() / Threads | 12. Threads | HW12 Lab12 | Ch 11 | Ch 4 | |
Thread Synchronization | Videos | Ch 12 | Ch 5 | ||||||
14 | 4/26 | Network Programming | Slides Code | 13. Sockets | 13. Sockets | HW13 Lab13 | Ch 16 | ||
Videos | |||||||||
15 | 5/03 | Last Lecture | Slides Videos | P2 Due 05/04 | Ch 8,9 | ||||
5/10 | Final Exam | ||||||||
Mon 5/10 4:00-6:00pm |
Readings Key
- [Stevens/Rago] : Advanced Programming in the UNIX Environment, 3rd edition (REQUIRED) by Stevens and Rago
- [Robbins/Robbins] : UNIX systems programming : communication, concurrency, and threads (Optional) by Robbins and Robbins
- [Silberschatz] : Operating System Concepts, 9th Edition (Optional) by Silberschatz et al.
Other Links
- Tutorial: Accessing Unix/Linux Programming Environments
- CSCI 2021 Quick Guide to gdb: The GNU Debugger (targeted at another
class but useful for getting acquainted with
gdb
) - TA Bhargaav's Lab Slides
- Grade Calculator