Overview

The purpose of this project is to gain experience working with CPU scheduling policies. This project requires you to implement/simulate four different scheduling policies given a process workload.

Learning Objectives

  1. Apply your understanding of the First-In, First-Out (FIFO) CPU scheduling policy.
  2. Apply your understanding of the Shortest Job First (SJF) CPU scheduling policy.
  3. Apply your understanding of the Shortest Time to Completion First (STCF) CPU scheduling policy.
  4. Apply your understanding of the Round Robin (RR) CPU scheduling policy.

Getting Started

Starter Code:

project2-scheduler.zip

  1. Download the starter code.
  2. Unzip the project2-sheduler.zip with the following command unzip -d PROJECT project1-shell.zip. This will create a new directory called PROJECT. You can replace PROJECT with a directory name of your choice.
  3. cd into the PROJECT directory and investigate the project.

If you follow the above steps correctly, you should have the following folder structure after unzipping (assuming the project name is "PROJECT"):

PROJECT/
  include/
  lib/
  obj/
  src/
  test/
  Makefile

After you have the code extracted you should go ahead and investigate. You can run make from the command line and your project will build and produce potential error results. See more information below.

Code Structure

This exercise contains the following important folders: