Senin, 04 Januari 2016

Studying main differences between multi level queue (MLQ) and multi level feedback queue (MLFQ)

Abstract comparisons between the multilevel queue and Multilevel Feedback Queue CPU scheduling algorithm. It is a long time running discussion in scheduling algorithms to decide which of the processes in the ready queue is to be allocated   the   CPU   first.   However   there   exist   some problems  with  these  algorithms  when  facing  the  fast growth of real-time systems and handhelds, in which requirements  for interactivity  and the growth  of system loads need to be taken into corresponding  consideration and in my approach I proposed which is best.

I. INTRODUCTION
When   a   computer   is   multi   programmed,   it frequently  has  multiple  processes  competing  for  the CPU at the same time. This situation occurs whenever two or more processes are simultaneously in the ready state. If only one CPU is available, a choice has to be made  which  process  to  run  next.  The  part  of  the operating  system  that  makes the choice  is called  the scheduler and the algorithm it uses is called the scheduling algorithm [1].
In a single-processor system, only one process can run at a time, any others must wait until the CPU is free and can be rescheduled. The objective of multiprogramming is to have some process running at all times, to maximize CPU utilization [2]. Many criteria have been suggested for comparing CPU scheduling algorithms.  Which  characteristics  are  used  for comparison can make a substantial difference in which algorithm is judged to be best in CPU Utilization, Throughput, Turnaround time and Response time [2].



A. CPU utilization
We want to keep the CPU as busy as possible. Conceptually, CPU utilization can range from 0 to 100 %. In a real system, it should range from 40 % (for alightly loaded system) to 90 % (for a heavily used system).
B. Throughput:
If the CPU is busy executing processes, then work is being done. One measure of work is the number of processes that are completed per time unit, called throughput.
C. Turnaround time:
The  interval  from  the  time  of  submission  of  a process to the time of completion is the turnaround time. Turnaround time is the sum of the periods spent waiting to  get  into  memory,  waiting  in  the  ready  queue, executing on the CPU, and doing I/O.
D. Waiting time:
Waiting time is the sum of the periods spent waiting in the ready queue.
E. Response time:
In an interactive system, turnaround time may not be the best criterion. Often, a process can produce some output fairly early and can continue computing new results while previous results are being output to the user. Thus, another measure is the time from the submission of a request until the first response is produced.  This measure,  called  response  time,  is the time it takes to start responding, not the time it takes to output the response. The turnaround time is generally limited by the speed of the output device [2]. It is desirable to maximize CPU utilization and throughput and to minimize turnaround time, waiting time, and response time. In most cases, we optimize the average measure. However, under some circumstances, it is desirable to optimize the minimum or maximum values rather than the average.


II. ESSENTIAL DIFFERENCES BETWEEN MULTILEVEL QUEUE (MLQ)   AND MULTILEVEL FEEDBACK QUEUE (MLFQ)
1.In Multilevel queue (MLQ) processes are classified into different groups. For example, common division is made  between  foreground  (interactive)  processes  and background  (batch)  processes  which  have  different response   time   and   scheduling   needs.   In   addition In Multilevel Feedback queue (MLFQ) it allows a process to move between the queues, according to the characteristics of their CPU burst.
2. `In Multilevel queue (MLQ) the foreground queue might be scheduled by Round Robin algorithm while the back  ground  queue is scheduled  by First  Come First Serve algorithm. There is possibility of starvation.
But in Multilevel Feedback queue (MLFQ) if a process uses too much CPU time it will be moved to a lower-priority queue. This schema leaves I/O bound and interactive processes in  the higher  priority queues. In addition, a process that waits too long in a lower priority queue may be moved to a higher-priority queue preventing starvation.
III.       EXAMPLES
Multilevel queue (MLQ) algorithm with five queues, listed below with order of priority:
a)    System processes
b)   Interactive processes
c)    Interactive editing processes d)   Batch processes
e)    Student processes
Algorithm  chooses  the process  from  the occupied queue that has the highest priority, and run that process either Preemptive or Non-preemptively Each queue has its own scheduling algorithm or policy. Possibility-I Each queue has absolute priority over lower-priority queues then no process in the queue could run unless the queues for the highest-priority processes were all empty. For example, in the below Fig.
1 no process in the batch queue could run unless the queues for system processes, interactive processes and interactive editing processes will all empty. Possibility-II
if there is a time slice between the queues then each queue gets a certain amount of CPU times, which it can then  schedule  among  the processes  in  its  queue.  For instance; foreground    processes    may    have    priority    over background [2].
But, in Multilevel Feedback queue (MLFQ), it contains two queues, lower-priority queues and higher- priority queues. In this the separation of processes are done  according  to  the  characteristics  of  their  CPU bursts.
3. In Multilevel queue (MLQ) the processes are permanently assigned to one queue based on their memory size, process priority or process type.
80%  of the CPU time  to fore  ground  queue using Round Robin (RR).
20% of the CPU time to back ground queue using First Come First Serve (FCFS).
Since processes do not move between queues so, this policy has the advantage of low scheduling overhead, but it is inflexible.
Highest priority

System processes
Interactive processes
Interactive editing processes
Batch processes
Student processes






Lowest priority
Fig. 1: Multilevel queue scheduling
No process in the batch queue could run unless the queue  for  system  processes  and  interactive  processes were all empty. If an interactive process enters the ready queue  while  a  batch  process  was  running,  the  batch would be preempted
Now we will see the example to explain multilevel feedback queue (MLFQ). It contains three queues numbered from 0 to 2.
Three queues:
Q0 - Round Robin (RR) with time quantum 8 milliseconds
Q1 - Round Robin (RR)  time quantum 16 milliseconds
 Q2 - First Come First Serve (FCFS)
Scheduling
A new job enters queue Q0 which is served Q2.
When    it    gains    CPU,    job    receives    8 milliseconds.   If   it   does   not   finish   in   8 milliseconds, job is moved to queue Q
At Q1 job is again served Q2 and receives 16 additional milliseconds. If it still does not complete, it is preempted and moved to queue.
Q







IV. CONCLUSION
Multilevel Feedback Queue (MLFQ) is interestingbecause instead of demanding a priori knowledge of the
nature of a job, it instead observes the execution of a joband prioritizes it accordingly. In this way, it manages toachieve the best of both worlds, it can deliver excellentoverall performance (similar to SJF/STCF) for shortrunning interactive jobs, and is fair and makes progress for long-running CPU-intensive workloads. For this reason, many systems, including BSD UNIX derivatives [LM+89, B86], Solaris [M06] and Windows NT and subsequent Windows operating systems [CS97] use a form of MLFQ as their base scheduler.

ACKNOWLEDGMENT
I thankful to The Principal, St. Pious X Degree & P.G. College for Women for providing literaturefacilities and also I thankful to my colleagues  for encouraging me in this work.

REFERENCES
[1] S. Andrew Tanenbaum, Modern Operating Systems, 2nd ed., Prentice-Hall of India Private Limited, New Delhi
[2] Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, Operating System Concepts, 7th ed., John Wiley & Sons (Asia)  Pvt. Ltd., Singapore.

Tidak ada komentar:

Posting Komentar