Question: About this Assignment Operating systems use different methods for real - time job scheduling. Three methods are used: RMS ( rate monotonic scheduling ) ,

About this Assignment
Operating systems use different methods for real-time job scheduling. Three methods are used: RMS (rate monotonic scheduling), DMS (deadline monotonic scheduling), and EDF (earliest-deadline first). In this assignment, you will explore these topics by creating a real-time job scheduling simulator.
Create a Simulator
Your real-time simulator will be an event-driven simulation. This means the simulation is in one state at any given time, and can only change when a process arrives and when a current running process is complete.
Considering a set of processes to be scheduled, your simulator will simulate how these processes will execute based on a scheduling algorithm. Collect the following data:
Can you create a feasible schedule from your algorithm?
When does scheduling fail?
CPU load/use
You are using next event simulation, meaning an event only happens at a certain time. The simulation state will thus only change at that event, and the clock then moves to the next scheduled event.
You should have an event queue, sorted by time of event that should occur. The simulation will process the event next in line, add more events with future starts, move the clock, and continue until all processes are completed.
The following policies are to be analyzed:
RM: Rate monotonic
DM: Deadline monotonic
EDF: Earliest-deadline-first
Execution of Simulation
Following is the general logic of how the program will run:
Input
The input going into your simulator is a sample file that contains the number of processes, the process switch time, the arrival time, the deadline, and period. Assume that the processes will process in the order they are listed in the input file. The table below shows the fields.
Header
The file has a header:
Number of Processes Process Switch
Detail
The file has the following detail lines for each process:
Process Number Arrival Time Relative Deadline Period
Following is a sample input file:
50
10812
201020
301025
401528
502032
Please create your own input file and generate at least 5 processes. Overhead should be 0. Assume all processes come in at time 0, regardless of RM, DM, EDF.
Service Time
While this program doesn't specify certain service times for each process to be considered complete, following are some suggestions for each of the methods, in milliseconds.
Running Earliest Deadline First: 0 to 500
Running Deadline Monotonic: 0 to 413
Running Rate Monolithic: 0 to 101
Output
The file out put should show results and analysis of each of the methods (DM, RM, EDF). For example, the results of running the DM algorithm might be displayed as follows:
DM Results:
Schedule feasible from 0 to 280 units. At 280, process 2 did not meet deadline. CPU time took 300 units.
Process 1: Arrival Time: 0, Service: 55, Period 120, finish: 75,175.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!