Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1. Objective This assignment will introduce you to CPU scheduling. Please use C++ programming language. 2. Specifications You are to simulate the execution of processes

image text in transcribedimage text in transcribed

1. Objective This assignment will introduce you to CPU scheduling. Please use C++ programming language. 2. Specifications You are to simulate the execution of processes by a computer system with a large memory, one terminal per user, a CPU, and one disk drive. Each process will be described by its class (REAL-TIME or INTERACTIVE) and its start time followed by a sequence of resource requests. These resources requests will include CPU requests (CPU), disk reads (DISK) and terminal accesses (TTY). In addition, all real-time processes will have a DEADLINE, by which they must complete. Your input will be a sequence of pairs as in: All time will be expressed in milliseconds. Your program should maintain separate ready queues for real-time and interactive processes and give absolute priority to real-time processes over interactive processes: a) Your scheduler should never allocate the CPU to an interactive process as.long.as there are one or more real-time processes in the ready state. b) When a real-time process returns to the ready queue and finds that the CPU is currently allocated to an interactive process, the scheduler should take the CPU away from the interactive process and give it to the real-time process. The pre-empted process should return to the end of the ready queue for interactive processes. When this is the case your program should update the duration of the CPU request by subtracting from the original duration the time the process has already spent in the running state. Disk scheduling will be strictly first-come frst-served (FCFS) without any distinction of process classes. To simplify your life, we will also assume that: a) there is enough memory space for all processes, b) context switch times can be neglected, c) user think times are included in the terminal access times, and d) each process reads and writes to a different terminal. Your program should read its input file name through input redirection as in: . /areut

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

How Do I Use A Database Research Tools You Can Use

Authors: Laura La Bella

1st Edition

1622753763, 978-1622753765

More Books

Students also viewed these Databases questions