Link Search Menu Expand Document

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 accounts for 10% of your final grade.

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/25/2025 (one day after the exam)

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 repo origin
    $ 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/01/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:
    1. Check in “final_proj.txt” to ~/osi/egos/slack/final_proj.txt.
    2. Make sure that your code build with no warnings.
    3. 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/14/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/17/2025

This completes the final project.