Link Search Menu Expand Document

Due by 11:59 PM on Sunday, Oct 18

Project 2 - Submission

You should follow the same basic set of instructions for submitting Project 2 that you did for Project 0. That is to say, you should do a git status to ensure that any files you modified are detected as such, then do a git add and a git commit to add each modified/newly created file or directory to the local git repository. Then do a git push origin master to push the changes up to your GitHub account.

Be sure to include not only your modified kernel files, but also your driver program files. The driver(s) should go in a proj2tests directory, in the root of the kernel source tree. You must include a Makefile that can build your test program(s) in this directory as well. You should not attempt to add your test directory to the main kernel Makefile. Also, include a plain-text README file in this directory describing your approach to testing this project. Tell us what your test cases actually test, and why you chose to test those things. If your test cases are supposed to fail at any point, make sure to tell us that in the README (after all, you should not only test your code with good inputs, but with bad ones too — we’ll do just that in our test cases).

You must also include a plain-text README file in the root directory of the kernel source code that describes anything you might want us to know when we’re grading your assignment. Note: this file already exists so you may overwrite/clear it out before you start. This can include an outline of how you implemented the requirements of the project, for instance. This is also where you should cite any references you have used for the assignment other than those given in this assignment description.

You should also verify that your changes are reflected in the GitHub repository by viewing your repository in your web browser.

Quick submission checklist

  • All the files required for your new system calls
  • All the files required for your user-space driver(s) and their Makefile
  • All the files required for your user-space prototype (if you made one) and it's Makefile
  • Your README

Remember we don’t really need compilation artifacts like .o files or the executables themselves

Quick grade allocation

We have also provided a broad guideline to potentially help you focus your efforts. This is a rough layout on how your project 2 grade is going to be distributed.

70% Your system calls
20% Test Cases
10% Coverage of your test cases

What to do if you want to lose points on this project

Any of the following will cause a significant point loss on this project.

  • Excessive unnecessary changes made to the kernel sources.
  • Extraneous files are included.
  • Files are missing that needed to have been modified.
  • Hello World system call included, or the system calls required are otherwise out of the order specified.
  • Failure to follow the requirements in the “Incremental Development” section of the assignment.

Please do not make us take off points for any of these things!