Final Project

Aaron Bauer

February 16, 2022

Final Project

Important deadlines

Overview

For this lab, you will pick a project of your choice to extend osv. We encourage you to take this time to explore particular OS features that you find interesting. I have provided a list of project ideas for reference. You can pick one from the list or do anything else you wish.

For project proposal, follow the template. Here is a sample proposal.

Some general places to look for helpful resources to research your project topic:

Potential projects

User threading library

Kernel threading library

Named shared memory

Signals

Priority Scheduling

Swap

Additional useful system calls

Testing and Documentation

After implementing your proposed project, you need to create at least five tests under a user/final folder to test your project. The tests should each be distinctive and cover normal use, edge cases, and error handling. You can look at the lab tests for guidance. Each test should run pass(test-name) on success.

In addition to test cases, your submission should include a README text file in the top-level directory. This file should serve as a guide to your implementation, and include the following information

The README does not replace appropriate documentation in the code itself.

Grading

The final project will be graded out of 160 points as shown in the table below. Poor coding style can lose points, so make sure to submit clean, well-organized code.

Test Points
Proposal clearly explains overall project 10
Proposal includes risk analysis and at least three potential resources 10
Implementation README 20
Implementation reasonably reflects project proposal1 35
At least five distinct test cases 25
Test cases demonstrate correctness 40
Test cases cover edge cases and error handling 20

  1. It’s completely fine if your plan for the project shifts as you work on implementation—note this in your README↩︎