Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

You and your teammate will complete the Programming Projects - Scheduling Algorithm at the end of Chapter 5 in section 5 . 1 2 Programming

You and your teammate will complete the Programming Projects - Scheduling Algorithm at the end of Chapter 5 in section 5.12 Programming projects (see zyBooks Reading Assignment for this module.)
Below you will find the instructions for this assignment. For complete instructions, refer to your textbook.
This project involves implementing several different process scheduling algorithms. The scheduler will be assigned a predefined set of tasks and will schedule the tasks based on the selected scheduling algorithm. Each task is assigned a priority and CPU burst. The following scheduling algorithms will be implemented:
First-come, first-served (FCFS), which schedules tasks in the order in which they request the CPU.
Shortest-job-first (SJF), which schedules tasks in order of the length of the tasks' next CPU burst.
Priority scheduling, which schedules tasks based on priority.
Round-robin (RR) scheduling, where each task is run for a time quantum (or for the remainder of its CPU burst).
Priority with round-robin, which schedules tasks in order of priority and uses round-robin scheduling for tasks with equal priority.
Priorities range from 1 to 10, where a higher numeric value indicates a higher relative priority. For round-robin scheduling, the length of a time quantum is 10 milliseconds.
Implementation
The implementation of this project may be completed in either C/C++, Java, Python or your preferred language, such as C#. However, you must provide complete instructions on how to run your program when submitting it for a grade. I need to know how to run your program. You will need to provide all source code that goes with your program.
The textbook provides program files supporting C/C++ languages in the source code download for the textLinks to an external site. (also available in the ch5 folder in the folder of VirtualBox.) These supporting files read the schedule of tasks, insert the tasks into a list, and invoke the scheduler. For further details about these implementations, refer to the full instructions for this assignment in the textbook in section 5.12 Programming Projects.
The schedule of tasks has the form [task name][priority][CPU burst], with the following example format:
T1,4,20
T2,2,25
T3,3,25
T4,3,15
T5,10,10
Thus, task T1 has priority 4 and a CPU burst of 20 milliseconds, and so forth. It is assumed that all tasks arrive at the same time, so your scheduler algorithms do not have to support higher-priority processes preempting processes with lower priorities. In addition, tasks do not have to be placed into a queue or list in any particular order.
There are a few different strategies for organizing the list of tasks, as first presented in Section CPU scheduler. One approach is to place all tasks in a single unordered list, where the strategy for task selection depends on the scheduling algorithm. For example, SJF scheduling would search the list to find the task with the shortest next CPU burst. Alternatively, a list could be ordered according to scheduling criteria (that is, by priority). One other strategy involves having a separate queue for each unique priority, as shown in Figure 5.3.4. These approaches are briefly discussed in Section Multilevel Feedback Queue Scheduling. It is also worth highlighting that we are using the terms list and queue somewhat interchangeably. However, a queue has very specific FIFO functionality, whereas a list does not have such strict insertion and deletion requirements. You are likely to find the functionality of a general list to be more suitable when completing this project.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

MFDBS 91 3rd Symposium On Mathematical Fundamentals Of Database And Knowledge Base Systems Rostock Germany May 6 9 1991

Authors: Bernhard Thalheim ,Janos Demetrovics ,Hans-Detlef Gerhardt

1991st Edition

3540540091, 978-3540540090

More Books

Students also viewed these Databases questions