CPU SCHEDULING ALGORITHEMS
There are many process scheduling algorithms. In this project you will be asked to implement one of these algorithms with java or C++ programming languages according to your study in programming courses.
Project Description :
The processes' data will be a user entry (/The Input):
Time quantum (q) in milliseconds (for RR algorithm ONLY)
Number of processes (n)
For each process the user must enter (arrival time, CPU burst time) in milliseconds
Process's priority (for priority algorithm ONLY)
The output must be:
Students' names, ID's ,sec.
Algorithm name
Processes' data and waiting time:
All processes will be displayed as a table with number of lines each describing a single process. Each line will consist of five fields: Process ID, Arrival Time, Burst Time and Waiting Time (and Priority for the Priority Algorithm) .As an example, see the following table:
Description of CPU scheduling
Average waiting time for all processes
Important Note: your code must cover all possible cases including intervals were CPU is idle
Submission Requirements:
Runnable code in flash drive
Code with syntax error will assigned to ZERO mark
The flash must be free of viruses and other malware, otherwise it will be assigned to ZERO
CDs are not accepted
The code must be provided in source code and executable form
Hard copy REPORT including::
Cover page including: Course name ,semester and year, submission date, the project name , programming language ( and version# ), list of the students names , IDs, mobile numbers ,Instructor name ,Section number
Table of index is highly recommended
A Print of the output (screen shots)
Important NOTEs
You must use an Array data structure to implement the "ready queue ".\
The first section of the source code must include: the project name , programming language, list of the students names , IDs, mobile numbers , Instructor name ,Section number
The source code must be well documented. All variables, classes, modules must be commented clearly so reader can understand the usage easily.
The report and the flash must delivered in closed plastic file .The file itself must be labeled by the following data: Course name, list of the students names , IDs, mobile numbers , Instructor name and Section number
Loose papers are not accepted.
Any missing requirement will affect the evaluation mark
Project Restrictions:
Select one of the following algorithms and arrange yourselves into groups of (5 ) students , then you have to fill the Google Doc online
Duplicated Algorithms are not allowed
Due date of submitting the task is in Wednesday in 15th week
Late projects will get half of the mark only (-50%)
Cheating is NOT ALLOWED "You will get (-5) as a Punishment"
CHOOSE ONE OF THE FOLLOWING ALGORITHMS:
Process Scheduling Algorithms :
PROJECT(1): Round Robin Scheduling Algorithm "RR"
PROJECT(2): Preemptive Shortest Job First Scheduling Algorithm " Preemptive SJF"
PROJECT(3): Non-Preemptive Shortest Job First Scheduling Algorithm " Non-Preemptive SJF"
PROJECT(4): Preemptive Priority Scheduling Algorithm " Preemptive Priority"
PROJECT(5): Non-Preemptive Priority Scheduling Algorithm " Non-Preemptive Priority"
RAM MANAGEMENT ALGORITHEMS
There are many memory management schemes. In this project you will be asked to implement one of these scheme with java or C++ programming languages according to your study in programming courses.
Project Description :
? The processes' data will be a user entry (/The Input):
? Number of holes (h)
? For each hole the user must enter (the hole size) in kilobytes
? Number of processes in job queue (n)
? For each process the user must enter (process size) in kilobytes
? The output must be:
? Students' names, ID's ,sec.
? Algorithm name (best fit /worst fit)
? Summary of processes' data
? Set of holes before and after each process allocation (similar to the).Note that elements of set of holes must displayed in the same order of data entry and processes will allocated to holes in the same order of input
? Important Notes
? your code must cover all possible cases including the situations that have waiting processes (note that waiting process can appears in any sequence)
? You can use any sort/search algorithm you like.
Submission Requirements:
? Runnable code in flash drive
? Code with syntax error will assigned to ZERO mark
? The flash must be free of viruses and other malware, otherwise it will be assigned to ZERO
? CDs are not accepted
? The code must be provided in source code and executable form
? Hard copy REPORT including::
? Cover page including: Course name ,semester and year, submission date, the project name , programming language (version #), list of the students names , IDs, mobile numbers ,Instructor name ,Section number
? Table of index is highly recommended
? A Print of the output (screen shots)
? Important NOTEs
? You must use an array data structure to implement set of holes andjob queue
? The first section of the source code must include: the project name , programming language, list of the students names , IDs, mobile numbers , Instructor name ,Section number
? The source code must be well documented. All variables, classes, modules must be commented clearly so reader can understand the usage easily.
? The report and the flash must delivered in closed plastic file .The file itself must be labeled by the following data: Course name, list of the students names , IDs, mobile numbers , Instructor name and Section number
? Loose papers are not accepted.
? Any missing requirement will affect the evaluation mark
Project Restrictions:
? Select one of the following algorithms and arrange yourselves into groups of (5 ) students , then you have to fill the Google Doc online
? Duplicated Algorithms are not allowed
? Due date of submitting the task is in Wednesday in 15th week
? Late projects will get half of the mark only (-50%)
? Cheating is NOT ALLOWED
CHOOSE ONE OF THE FOLLOWING ALGORITHMS:
Memory Management Algorithms :
PROJECT(6): WORST FIT algorithm in continuous allocation scheme (variable -sized method)
PROJECT(7): BEST FIT algorithm in continuous allocation scheme (variable -sized method)
PROJECT(8): FIRST FIT algorithm in continuous allocation scheme (variable -sized method)