Assignment 1: Lists of Things
Due Monday, February 24 2025, 11:59 pm Central Time
Submissions handed in by the due date receive a small on-time bonus.
All students are granted a pre-approved extension or “grace period” of 24 hours after the due date. Late submissions are accepted during the grace period with no penalty.
The grace period expires Tuesday, February 25 2025, 11:59 pm Central Time, after which no further late submissions are accepted (or are even possible).
This assignment is an individual homework. No group work is allowed.
In this homework, you will gain familiarity with threads and processes from the perspective of a user program, which will help you understand how to support these concepts in the operating system.
Along the way, you will gain experience with the PintOS list data structure, but in the context of a user program running on Linux. We hope that completing this assignment will prepare you to begin Project 1, where you will work with the implementations of these constructs in the PintOS kernel. In particular, we hope that you gain experience with how to use them for both development and testing purposes in a contained environment where bugs are relatively easy to catch, before having to work with them in PintOS.
Before you dive into the assignment we suggest you go over the Study Guides PintOS Lists and Threads, trying to answer all the questions. This may be a good strategy to get started quickly.
Here is a list of documents that we suggest you read and work on in sequence. This will help to minimize the time you spend on every step between setting up your environment and submitting your work.