Mini Labs
In addition to our larger weekly labs, we will complete a few small in-class labs.
These are generally collaborative, and only contribute to your participation grade in the class.
These labs are meant to give you hands-on experience with topics we’ve covered in class, and should help you prepare for the larger labs that make up a larger portion of your grade.
The list below shows all of the planned mini-labs for the semester, although I may add to this list during the semester.
-
Introduction
-
-
Mini Lab: Gitting Started
-
- Assigned January 22, 2018
- Due January 22, 2018 by 10:30pm
-
slides
-
-
Processes
-
-
slides
-
-
System Calls
-
-
Address Spaces
-
-
slides
-
-
Segmentation
-
-
slides
-
-
Paging
-
-
slides
-
-
Mini Lab: Debugging
-
- Assigned February 5, 2018
-
Swapping
-
-
How an Allocator Works
-
-
Linkers and Loaders
-
-
No assignment this week
-
-
Threads
-
-
Locks
-
-
Locked Data Structures
-
-
Condition Variables
-
-
Concurrency Bugs
-
-
slides
-
-
Parallel Programming Puzzles
-
-
slides
-
-
Scheduling
-
-
slides
-
-
Advanced Scheduling
-
-
Multiprocessor Scheduling
-
-
Distributed Systems
-
-
Mini Lab: Networking
-
-
Distributed Systems
-
-
Mini Lab: Networking
-
-
Distributed Systems
-
-
I/O and Storage Devices
-
-
Files and Filesystems
-
-
Advanced Filesystems
-
-
Mini Lab: Intro to GPUs
-
-
Mini Lab: CUDA Memory
-
-
Big Picture
-
-
System Design
-
-
About the Project
-
-
Project Planning
-
-
Garbage Collection
-
-
Paper Discussion
-
-
Models of Concurrency
-
-
Project Working Day
-
-
Paper Discussion
-
-
Memory and Concurrency Bugs
-
-
Paper Discussion
-
-
Project Working Day
-
-
Memory and Concurrency Bugs, continued
-
-
Paper Discussion
-
-
Software Profiling
-
-
Project Working Day
-
-
Paper Discussion
-
-
Wrap Up
-
-
Reading Day
-
-
Project Presentations
section 02, 9:00am–noon
-
-
Project Presentations
section 01, 9:00am–noon
-