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