System for Deterministic Modeling of CPU Scheduling Algorithms Project

Verified

Added on  2020/05/04

|7
|766
|203
Project
AI Summary
This project presents a Java-based system for deterministically modeling various CPU scheduling algorithms. The system covers key scheduling criteria such as arrival time, burst time, completion time, turnaround time, waiting time, and response time, offering a comprehensive analysis of algorithm performance. The implemented algorithms include First-Come, First-Served (FCFS), Shortest Job First (SJF) (both preemptive and non-preemptive versions), priority-based scheduling, Round Robin (RR), multilevel queue scheduling, and multilevel feedback scheduling. The project addresses the challenges associated with I/O burst handling and the management of jobs on I/O devices. The solution incorporates the use of Eclipse IDE and Java Collections ArrayList for data storage and manipulation. References to relevant operating system and data structure textbooks are also included.
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 1
System for
Deterministic Modeling of
CPU Scheduling Algorithms
Author name
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 2
Techniques Used
Tools Used:
Eclipse: We have used eclipse IDE for the coding purpose.
Programming Language: Java
We have used java as the programming language to code these scheduling Algorithms
We have used Java Collections ArrayList to store the jobs, finished jobs and even for storing the
Jobs on IO devices, we have used ArrayList.
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 3
All the important aspects
There are mainly two important aspects that we consider in these CPU scheduling algorithms and
these are following: -
1. Scheduling criteria.
2. Scheduling algorithm.
Scheduling criteria
Arrival time (A.T): - the time when the process is arrived into ready state is called as
arrival time of the process.
Burst time (B.T): - the time required by process for its execution is called as burst time of
the process.
Completion time (C.T): - the time when the process is completed or completes its
execution is called as completed time.
Turnaround time (T.A.T): - the time difference between completion time and arrival time
is called as turnaround time of process.
T.A.T=C.T-A.T
Waiting time (W.T): - the time difference T.A.T and B.T.
W.T=T.A.T-B.T
Response time (R.T): - time difference between first response and arrival time is called as
response time.
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 4
Scheduling algorithm
First come first serve scheduling (FCFS): - in first come first serve scheduling which job
first enter in the system, that execute first.
Non-preemptive Shortest job first scheduling (SJF): - in this scheduling algorithm which
job has minimum burst time that job execute first
Preemptive Shortest job first scheduling (SJF): - in this scheduling all the jobs put in the
ready queue as they arrive. So that we take that job first which have minimum arrive time
with minimum burst time interval.
Priority based scheduling: - in this scheduling firstly priority assign to each process.
Which process has highest priority that job execute first. If two jobs have same priority
then we apply FCFS (first come first serve) scheduling.
Round robin scheduling (RR): - in this scheduling fixed time given to each process which
is called time quantum. So that first process is executed in given time quantum, then next
process executed on same manner and so on. Context switching used in preemptive
processes.
Multilevel queue scheduling: - in this scheduling multiple queues assign to process and
also maintain. Then each queue has its own scheduling algorithm. After that priority
assign to each queue.
Multilevel feedback scheduling: - this scheduling allows the processes to move between
the queues. So that is uses the many queue and each queue have their own priority.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 5
Issues
We see many issues while trying to implement these scheduling algorithms. The most
important issue that came up was the problem with covering the input/output time burst
between the executions of process. We also have to handle the input/output devises and the
execution jobs on them.
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 6
References
1. B. Prasanalakshmi, Computer Operating System, CBS; 1ST edition (30 January 2010).
2. Teodor Rus, Data structures and operating systems, Editura academiei Române, 1979.
3. Narasimha Karumanchi, Data Structure and Algorithmic Thinking with Python,
Careermonk Publications (29 January 2015).
4. Silberschatz, Galvin and Gagne, Operating System Concepts: International Student
Version, Wiley; Eighth edition (20 April 2009).
5. Silberschatz, Galvin and Gagne, Operating System Concepts, Wiley India; 9 edition
(2005).
6. Seymour Lipschutz, Data Structures (SIE), McGraw Hill Education; Revised First edition
(1 February 2014).
7. AHO, Data Structures & Algorithms, Pearson Education India; 1 edition (2002).
8. Narasimha Karumanchi , Data Structures and Algorithms Made Easy, CreateSpace
Independent Publishing Platform; 2 edition (19 December 2011).
9. Narasimha Karumanchi, Data Structures and Algorithms Made Easy in Java: Data
Structure and Algorithmic Puzzles, Careermonk Publications; 2nd edition (16 December
2011).
Document Page
System for Deterministic Modeling of CPU Scheduling Algorithms 7
10. Kurt Mehlhorn and Peter Sanders, Algorithms and Data Structures: The Basic Toolbox,
Springer; 2008 edition (23 June 2008).
chevron_up_icon
1 out of 7
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]