Lab 2: Scheduler

Handed out Tuesday Oct. 23, 2018
Due Wednesday Nov. 07, 2018

Implement Priority Scheduling

In this part of the assignment, you will change the scheduler from a simple round-robin to a priority scheduler. Add a priority value to each process (lets say taking a range between 0 to 31). The range does not matter, it is just a proof of concept. When scheduling from the ready list you will always schedule the highest priority thread/process first.

Add a system call to change the priority of a process. A process can change its priority at any time. If the priority becomes lower than any process on the ready list, you must switch to that process.

Getting Started

To get started, look at the file proc.c.

Assignment

Implement one of the next three items. If you implement more, each is a 5% bonus. To get credit for a bonus part, you must also develop a user test that will illustrate it.