CSCI 350 - Summer 2017 Operating Systems

Project 1

A Few Notes on Repositories

  1. Never clone one repo into another. If you have a folder cs350 on your VM and you clone your personal repo hw-usc-username under it (i.e. cs350/hw-ttrojan) then whenever you want to clone some other repo, you need to do it back up in the cs350 folder or other location, NOT in the hw-usc-username folder.

Base PintOS repository

You will need a clean version of the Pintos code base. We have created a repository with a clean version that you can clone at any time. It is available as pintos-base, under our class GitHub site.

$ git clone git@github.com:usc-csci350-summer2017/pintos-base

Again, be sure you don't clone this repo into your hw-usc-username repo but at some higher up point like in a cs350 folder on your laptop.

You should clone this repository to your laptop and then copy all the code under it to a folder that you create (e.g. proj1) under your OWN repository (e.g. hw-ttrojan/proj1).

Then, immediately add and commit this base version of the code into your own repo. These should be the only files that require tracking. Any files that get created after this will almost certainly just be object files, test results, etc. (i.e. things you don't need to submit).

$ cd ~/hw-ttrojan/proj1
$ git add .
$ git commit -m "Initial entry"
$ git push

Project 1

Remember tests are available in src/tests/threads. You are encouraged to examine and understand the tests BEFORE you begin coding so that you can think through various cases and scenarios.

Make sure you add, commit, and push all the source code changes and design document (but NO object files, compiled tests, test results, etc.) then follow the submission procedure (linked to on the assignments page ).

WAIT You aren't done yet. Complete the last section below to ensure you've committed all your code.

Commit then Re-clone your Repository

Be sure to add, commit, and push your code in your proj1 directory to your hw-usc_username repository. Now double-check what you've committed, by following the directions below (failure to do so may result in point deductions):

  1. Go to your home directory: $ cd ~
  2. Create a verify directory: $ mkdir verify
  3. Go into that directory: $ cd verify
  4. Clone your hw-username repo: $ git clone git@github.com:usc-csci350-summer2017/hw-usc_username.git
  5. Go into your proj1 folder $ cd hw-username/proj1
  6. Recompile and rerun your programs and tests to ensure that what you submitted works.