Labs

During this course you will complete ten weekly labs with an assigned group. Each lab will begin in one of our two-hour lab days, but you are not expected to finish the lab during this time. You are expected to complete labs collaboratively with your group, not simply divide work between the group members. The list below shows the assigned and due dates for all of this semester’s labs.

Introduction
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: C & POSIX
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Processes
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
System Calls
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Address Spaces
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Shell
  • Assigned January 30, 2018
  • Due February 6, 2018 by 10:30pm
Segmentation
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Paging
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Virtual Memory
  • Assigned February 6, 2018
  • Due February 13, 2018 by 10:30pm
Swapping
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
How an Allocator Works
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Linkers and Loaders
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
No assignment this week
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Memory Allocator
  • Assigned February 13, 2018
  • Due February 23, 2018 by 10:30pm
Threads
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Locks
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Locked Data Structures
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Password Cracker
  • Assigned February 20, 2018
  • Due February 27, 2018 by 10:30pm
Condition Variables
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Concurrency Bugs
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Parallel Programming Puzzles
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Parallel Data Structures
  • Assigned February 27, 2018
  • Due March 6, 2018 by 10:30pm
Scheduling
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
slides
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Advanced Scheduling
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Multiprocessor Scheduling
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Worm!
  • Assigned March 6, 2018
  • Due March 16, 2018 by 10:30pm
Distributed Systems
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Distributed Systems
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Distributed Systems
  • Assigned March 13, 2018
  • Due April 17, 2018 by 10:30pm
Distributed Systems
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
I/O and Storage Devices
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Files and Filesystems
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: Distributed Systems
  • Assigned March 13, 2018
  • Due April 17, 2018 by 10:30pm
Advanced Filesystems
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Lab: GPU Galaxies
  • Assigned April 10, 2018
  • Due April 20, 2018 by 10:30pm
Big Picture
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
System Design
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
About the Project
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Project Planning
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Garbage Collection
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Paper Discussion
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Models of Concurrency
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Project Working Day
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Paper Discussion
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Memory and Concurrency Bugs
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Paper Discussion
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Project Working Day
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Memory and Concurrency Bugs, continued
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Paper Discussion
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Software Profiling
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Project Working Day
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Paper Discussion
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Wrap Up
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Reading Day
  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Project Presentations

section 02, 9:00am–noon

  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm
Project Presentations

section 01, 9:00am–noon

  • Assigned January 23, 2018
  • Due January 30, 2018 by 10:30pm