Lab2: User Programs
Last updated
Last updated
Code Due: Thursday 04/11 11:59 pm
Design Doc Due: Sunday 04/14 11:59 pm
Now that you've worked with Pintos and are becoming familiar with its infrastructure and thread package, it's time to start working on the parts of the system that allow running user programs.
The base code already supports loading and running user programs, but no I/O or interactivity is possible. In this project, you will enable programs to interact with the OS via system calls.
You will be working out of the userprog/
directory for this assignment, but you will also be interacting with almost every other part of Pintos. We will describe the relevant parts below.
You can build project 2 on top of your project 1 submission (dogfooding your own kernel changes like a product). Or you can start fresh.
No code from project 1 is required for this assignment. The "alarm clock" functionality may be useful in projects 3 and 4, but it is not strictly required.
You might find it useful to go back and reread how to run the tests (see section Testing).
Here are the sections in this chapter: