Вы находитесь на странице: 1из 7

Princess Nora University

College of Computer and


Information Sciences
Department of Computer Sciences

CS 340D, CS 302
Operating System

TERM PROJECT
PART (1): 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
Processs priority (for priority algorithm ONLY)
The output must be:
Students names, IDs ,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:
Process
ID
P1
P2
P3

Arrival
Time
0
2
4

Burst
Time
6
2
5

Priori
ty
2
3
1

Waiting
Time
2.1
3.22
4

Description of CPU scheduling (similar to the example showed


in fig(1) )
Average waiting time for all processes
1

CS 340D, CS 302
Operating System

Princess Nora University


College of Computer and
Information Sciences
Department of Computer Sciences

Important Note: your code must cover all possible cases including
intervals were CPU is idle

Fig.(1)

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.
2

CS 340D, CS 302
Operating System

Princess Nora University


College of Computer and
Information Sciences
Department of Computer Sciences

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 " NonPreemptive Priority"

Princess Nora University


College of Computer and
Information Sciences
Department of Computer Sciences

CS 340D, CS 302
Operating System

TERM PROJECT
PART (2): 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, IDs ,sec.
Algorithm name (best fit /worst fit)
Summary of processes data
All processes will be displayed as a table with number of
lines each describing a single process. Each line will
display process name and size, see the following table:
Process
ID
P1
P2
P3

size
212
700
417

CS 340D, CS 302
Operating System

Princess Nora University


College of Computer and
Information Sciences
Department of Computer Sciences

Set of holes before and after each process allocation


(similar to the example showed in fig(2) ).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

Fig.(2)

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
5

Princess Nora University


College of Computer and
Information Sciences
Department of Computer Sciences

CS 340D, CS 302
Operating System

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 "You will get (-5) as a Punishment"

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)

*********

CS 340D, CS 302
Operating System

Princess Nora University


College of Computer and
Information Sciences
Department of Computer Sciences

Good Luck

Вам также может понравиться