You are on page 1of 7

Group:- B

Assignment no.:-3

TITLE: Process Scheduling Algorithms.

OBJECTIVES:
1. To understand cpu scheduling algorithms.

PROBLEM STATEMENT:
Write a java program to implement scheduling algorithm like FCFS, SJF, Priority, Round Robin.

SOFTWARE REQUIRED: Linux Operating Systems, GCC, java editor, jdk s/w

INPUT: Arrival time, Burst time of process.

OUTPUT: It will generate the total turn around time and waiting time.

THEORY:
CPU scheduling deals with the problem of deciding which of the processes in the ready queue is
to be allocated the CPU.

1. First come, first served:


With this scheme, the process that requests the CPU first is allocated the CPU first. Consider the
following set of processes that arrive at time 0, burst time is given.
Process Burst Time Arrival Time
P1 6 0
P2 4 1
P3 7 3
P4 2 5

If the processes arrive in the order P1,P2,P3,P4 and served in FCFS order, then Gantt Chart is :

P1 P2 P3 P4

0 6 10 17 19
Thus, The Average Waiting and Turnaround Time is :

Process Burst Arrival Completion Turnaround Waiting Time


Time Time Time Time
P1 6 0 6 6 0
P2 4 1 10 9 5
P3 7 3 7 14 7
P4 2 5 19 14 12

The Average Turnaround Time = 10.75 ms


The Average Waiting Time = 6 ms

2. Shortest Job First:


This algorithm associates with each process the length of the latter’s next CPU burst. When the
CPU is available, it is assigned to the process that has the smallest next CPU burst. If the two
process have the same length next CPU burst, FCFS scheduling is used to break the tie.
Consider the following set of processes.

Process Burst Time Arrival Time


P1 1 2
P2 5 1
P3 1 4
P4 6 0
P5 3 2
Using SJF scheduling, we would schedule these processes according to the following Gantt
Chart :

P4 P1 P3 P5 P2

0 6 7 8 11 16
Thus, The Average Waiting and Turnaround Time is :

Process Burst Arrival Completion Turnaround Waiting Time


Time Time Time Time
P1 1 2 7 5 4
P2 5 1 16 15 10
P3 1 4 8 4 3
P4 6 0 6 6 0
P5 3 2 11 9 6

The Average Turnaround Time = 7.8 ms


The Average Waiting Time = 4.3 ms

3. Round Robin Scheduling :


This algorithm is designed for time sharing system. It is similar to FCFS but preemption is added to
switch between processes.
To implement RR, there is ready queue as FIFO queue process. And for executing a process there
is a fix quantum time is given to process.
Consider the following set of processes. And Quantum Time is 2 Unit

Process Burst Time Arrival Time


P1 5 0
P2 4 2
P3 7 4
P4 6 6

Using RR scheduling, we would schedule these processes according to the following Gantt
Chart :

P1 P2 P3 P4 P1 P2 P3 P4 P1 P3 P4 P3

0 2 4 6 8 10 12 14 16 17 19 21 22

Thus, The Average Waiting and Turnaround Time is :

Process Burst Arrival Completion Turnaround Waiting Time


Time Time Time Time
P1 5 0 17 17 12
P2 4 2 12 10 6
P3 7 4 22 18 11

P4 6 6 21 15 9

The Average Turnaround Time = 15 ms


The Average Waiting Time = 9.5 ms

CONCLUSION : Thus we have studied how to implement CPU scheduling algorithms.

Oral Questions
1. Scheduling? List types of scheduler & scheduling.
2. List and define scheduling criteria.
3. Define preemption & non-preemption.
4. State FCFS, SJF, Priority & Round Robin scheduling.
5. Compare FCFS, SJF, RR, Priority.

Assignment no.:-4
TITLE: Page replacement policies

OBJECTIVES:
1. To understand and compare page replacement methods.

PROBLEM STATEMENT:
Write a java program to implement page replacement policies like LRU (Least Recently Used),
Optimal and FIFO.

SOFTWARE REQUIRED: Linux Operating Systems, GCC, java editor, jdk s/w

INPUT: Page string, size of memory frame.

OUTPUT: It will generate the page faults , page hits , fault ratio and hit ratio.

THEORY:
Paging is a memory management scheme that permits the physical address space of a process to
be non-contiguous.
In paged memory management each job‟s address space is divided into equal no of
pieces called as pages and physical memory is divided into pieces of same size called as blocks
or frames.
Whenever there is a page reference for which the page needed is not in memory that
event is called as page fault.
Suppose all page frames are occupied and new page has to be brought in due to page
fault, in such case we have to make space in memory for this new page by replacing any existing
page. There are several algo. or policies for page replacement.
1. FIFO page replacement:
When a page must be replaced, the oldest page is chosen.
Consider the reference string 4, 3, 2, 1, 4, 3, 5, 4, 3, 2, 1, 5 with memory of three references

Ref. String 4 3 2 1 4 3 5 4 3 2 1 5
4 4 4 1 1 1 5 5 5 5 5 5
3 3 3 4 4 4 4 4 2 2 2
2 2 2 3 3 3 3 3 1 1
Fault + + + + + + + + +
Page Fault = 9 hit ratio = 3/12 , fault ratio=9/12

Algorithm is affected by the Belady’s anomaly (the page fault rate may increase as the number of
allocated frames increases.)

2. Optimal page replacement:


The basic idea of this algo is to replace the page that will not be used for the longest period of
time. It has the lowest page fault of all algorithm and will never suffer from the
Belady‟sanamoly.
Consider the string 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 with three memory frames.

Ref. 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
string
7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7
0 0 0 0 0 0 4 4 4 0 0 0 0 0 0 0 0 0 0
1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 1 1 1
Fault + + + + + + + + +
Page fault = 9 Hit ratio = 11/20 , fault ratio=9/20
This algo is difficult to implement because it requires further knowledge of reference string
3. LRU page replacement:
We will replace the page that has not been used for the longest period of time. This algo.also
never suffers from Belady‟sanamoly.
Consider the string 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 with three memory frames

Ref. 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
string
7 7 7 2 2 2 2 4 4 4 0 0 0 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0
1 1 3 3 3 2 2 2 2 2 2 2 2 2 2 7 7 7
Fault + + + + + + + + +
Page fault = 9 Hit ratio = 11/20, fault ratio=9/20

CONCLUSION : Thus we have studied how to implement page replacement algorithm.

Oral Questions
1. What is page fault?
2. What is the difference between physical memory and
logical memory?
3. Explain virtual memory.
4. What is the difference between paging and
segmentation?
5. What is Belady‟s Anomaly?
6. Define the concept of thrashing? What is the scenario that leads to the situation of thrashing?

You might also like