Java Programming Please help me with this Java Progamming project NOT GRADED. Practice homework Please comment the code well and organize the classes so I can understand. Thank you! If solution if the one that is desirable, I will upvote! I really appreciate this, Bartleby! Waiting Times should not be negative. You sent back a solution but the waiting time was negative and that was incorrect. Please take your time and help me with this.
Java Programming Please help me with this Java Progamming project NOT GRADED. Practice homework Please comment the code well and organize the classes so I can understand. Thank you! If solution if the one that is desirable, I will upvote! I really appreciate this, Bartleby! Waiting Times should not be negative. You sent back a solution but the waiting time was negative and that was incorrect. Please take your time and help me with this.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Java
Please help me with this Java Progamming project
NOT GRADED. Practice homework
Please comment the code well and organize the classes so I can understand. Thank you!
If solution if the one that is desirable, I will upvote! I really appreciate this, Bartleby!
Waiting Times should not be negative. You sent back a solution but the waiting time was negative and that was incorrect. Please take your time and help me with this.
Expert Solution
Step 1: Algorithm for Task Scheduling with Multiple Algorithms
- Import necessary Java libraries (ArrayList, Collections, List, and Random).
- Define a Task class to represent tasks with attributes such as name, priority, burst time, and arrival time. Initialize these attributes through a constructor.
- Create a public class named SchedulingAlgorithms.
- In the main method:
- Initialize the task set using the initializeTaskSet method.
- Create and start four threads to execute different scheduling algorithms: FCFS, SJF, Priority Scheduling, and Round-Robin.
- Implement the initializeTaskSet method:
- Initialize the taskSet as an ArrayList.
- Create Task objects and add them to the task set.
- Assign random arrival times in the range [0, 100].
- Sort tasks based on arrival time in ascending order.
- Implement the executeFCFS method:
- Calculate the wait time, turnaround time, and update the current time.
- Print the schedule for each task.
- Initialize variables to keep track of current time, total wait time, and total turnaround time.
- For each task in the task set:
- Calculate and print the average waiting and turnaround times.
- Implement the executeSJF method:
- Sort tasks based on burst time in ascending order.
- Call the executeFCFS method to execute Shortest Job First (SJF) scheduling.
- Implement the executePriority method:
- Calculate the wait time, turnaround time, and update the current time.
- Print the schedule for each task.
- Initialize variables to keep track of current time, total wait time, and total turnaround time.
- For each task in the task set:
- Calculate and print the average waiting and turnaround times.
- Implement the executeRoundRobin method:
- For each task in the list of remaining tasks:
- Calculate the remaining burst time, wait time, and turnaround time.
- Update the current time, task's burst time, and remove the task if it's completed.
- Initialize variables to keep track of current time, total wait time, total turnaround time, and define the time quantum.
- Create a list of remaining tasks as a copy of the task set.
- While there are remaining tasks:
- Calculate and print the average waiting and turnaround times.
- Implement the printAverages method:
- Calculate the average waiting and turnaround times.
- Print the calculated average waiting and turnaround times.
- End of the algorithm.
This algorithm describes the high-level steps for scheduling tasks using First-Come-First-Serve (FCFS), Shortest Job First (SJF), Priority Scheduling, and Round-Robin scheduling algorithms as implemented in the provided Java code.
Step by step
Solved in 6 steps with 7 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education