In this project, you will be changing the process scheduler in Bionic Beaver….

Overview

In this project, you will be changing the process scheduler in Bionic Beaver. The new scheduler will implement

four Major Levels of queuing for processes. These queues will correspond to the four levels in the tags that you

associated with processes in Project 1. Each Major Level L will be allocated some amount of time to run on the

CPU. The scheduler will use a Round Robin-like scheduling algorithm to allocate time to each Major Level.

When CPU is assigned to a Major Level L, only processes of that Major Level (processes with the tag level L)

can compete for CPU time (and only if they are ready). If there are no processes in a Major Level, then the

system will run an idle process to use up the time allocated to that major level.

The sum of the allocation times for the four levels determines the round robin cycle time for the user processes,

and the time given to a level divided by this total cycle time gives the fraction of CPU time that each level gets.

RRTime = S(Allocation Time)

CPUTime = (Level Time)i / RRTime

You will introduce system calls and library wrapper functions to obtain the amount of time allocated to a Major

Level (any user can call), and to change the amount of time allocated to a Major Level (restricted to root). These

you will document with manual pages. You will then create a short video to demonstrate your code and submit

the project via Canvas.

Attachments:

"Is this question part of your assignment? We can help"

ORDER NOW