OSI final project
For your final project, you may choose any topic of interest in OS kernel. For example, you can improve egos components that you find inadequate, reimplement components using your own design, or add new features to egos. The project should be comparable in scope to previous labs.
The final project is mandatory for students enrolled in CS6640 and optional for those in CS4973. CS4973 students can earn up to a 10% (of final grade) lab bonus by completing the final project (i.e., finishing steps 1–4). Bonus points can compensate for lost points in previous labs but cannot be applied to exams.
step 1 planning your project
- You should plan your project by filling in the final project template: final_proj.txt
- For the first step, you should finish the “Title”, “Author(s)”, and “Description” sections
- You can always update or completely rewrite this document later
- When finished, submit “final_proj.txt” to Canvas (there is an assignment for this step)
- due 03/31/2025
step 2 scaffolding your project
- Create a local
final
branch from any point you want to start your project$ cd ~/osi/egos/ $ git checkout <commit-id> $ git checkout -b final
- Push branch
final
to your remote repoorigin
$ git push -u origin final
- Fill in the “Setup” section in “final_proj.txt”
- Test your idea on the setup to determine if the setup supports your final project
- Do any necessary research to ensure your idea is feasibility
- Draft the “Core implementation” section with some details
- After this step, you should have a clear path to achieving your goal
- When finished, submit “final_proj.txt” to Canvas (there is an assignment for this step)
- due 04/07/2025
step 3 implementing and testing your project
- This is the core implementation phase (and the fun part) of the project
- Implement your project
- Develop benchmarks (test cases) for your project
- Evalaute your project
- Finalize the “final_proj.txt”
- Prepare your repo:
- Check in “final_proj.txt” to
~/osi/egos/slack/final_proj.txt
.- Make sure that your code build with no warnings.
- Push your code to GitHub:
$ cd ~/osi/egos/ $ git commit -am 'submit final' $ git push origin final Counting objects: ... .... To github.com/NEU-CS6640-labs/egos-<YOUR_ID>.git c1c38e6..59c0c6e final -> final
- When finished, submit “final_proj.txt” to Canvas (there is an assignment for this step)
- due 04/21/2025
step 4 demo
- Finally, provide a short demo video showcasing your project.
- You can host the video online (e.g., YouTube) and submit the link to Canvas
- Alternatively, you can upload the video file on Canvas.
- due 04/25/2025
This completes the final project.