Challenges



Assignments

This course covers the theory and implementation of operating systems. You will start working with Unix Signals and Processes to become familiar with these important ideas.

There will be a number of Minix Projects. Each project will have a number of components. These are the kind of steps that any mature software organization will use to manage their software effort.

Mechanism Where is this done?
Proposal Short writeup, including test plan
Tests Actions we can take before and after to validate project
Implementation Actual code that compiles, runs, and passes tests
Evaluation What worked? What was hard/easy? What could be done better?

We will want to do some simple challenges at the start, so everyone can start with a solid foundation, but you don't have to do all parts of all projects: you may build on the work of others. You will need to give credit to those you have built upon. As the semester progresses, I may make some components of your project public to allow others to build on your work.


Challenges

Not all projects are equally hard. Part of proposal will be estimating the difficulty of the project. These brief thumbnails will act as marketing input: part of your task is to make the requirements clearer.

  • Modify the system to print a message after the user logs in. No code changes are needed
  • Modify the login prompt. This will require a code change
  • Add function key to print the current state of the Job Queue
  • Modify the job scheduler to make it more fair to short jobs
  • Improve the memory system so more requests for memory will succeed.
  • Add the ability to rerun the previous command at shell (! or up arrow)
  • Add tab completion to the shell for file names
  • Add a directory link command

    We will be adding to this list as the semester continues.


    Honor Code

    You will be encouraged to assist each other in learning C and Minix, and discussing alternative strategies for the challenges.

    It is expected that all work you submit is your own. If you have any questions about these expections, please see me.