As we have seen that there are many processing which are executable at given point of time? The problem here is the Operating System
should decide that which process is to be executed and which has to wait. The scheduler is that part of the operating system, which will take the above decision. For this the scheduler uses an algorithm known as Scheduling Algorithm
There are many scheduling algorithms available, one has to choose from. Therefore, one has to look at various criteria before choosing the algorithm, as the algorithm should be good, as we are concerned with the scheduler on deciding what policy should be used, not providing a mechanism. Following are some of the criteria one should look for before deciding on the algorithm:
Process Scheduling in Computer System
Fairness: This criteria says that each and every process get a fair share of the CPU time, the algorithm should make sure. The every process gets a fair share of the CPU time, which is quite important; else there will be unnecessary situation of chaos and confusion over Process Time Sharing.
Response Time: The response time should be minimum as possible, so that the users, who are interactive I.e. the scheduler should make it sure that the batch jobs are swapped, in order to give time to interactive users.
Throughout: Throughout is the one of the important measures of system performance in a Multiprogramming Environment
. It is measured as number of jobs done in given time. This should be as high as possible, i.e. the CPU should be able to execute more number of jobs in a given time say, 1 hour. Once there is high throughout the capacity of CPU would be high and it will work better in multi programming environment.
Efficiency: The efficiency here means that the CU should be used in an efficient manner; there should be 100% utilization of CPU, which means that the CPU should be busy always. This also aims at removing the CPU Idle time during the Processing i.e., it should not wait even for a moment, as it has the capacity to work without any problem uninterruptedly. The moiré efficient, the utilization of CPU time, more would be the systems capability.
Turn Around: It is the time taken by the batch programs for getting the output. It emphasizes that the time taken by the batch users waiting for output should be minimized. So that, the efficiency of the system increases.
With the above criteria in mind, one can really decide upon the Scheduling Algorithm, so that the overall efficiency of the system increases to a great extent.
The basic problem, most of the schedulers face is that they have to deal with processes which are unique and unpredictable. The way processes behave are quite different, some wait for long times for Input Output Operations
. Whereas some can run for hour’s together if they times get a chance. The scheduler till the process -5 completed never knows about how long will it take to complete or get blocked by either waiting for I/O operating or any other reasons.
Therefore, to make sure that no processed runs for long time, almost every computer maintains an Electronic Timer or clock, which is used for interrupting periodically. Usually a frequency of f 1 to 60 times per second (usually called as 50 or 60 hertz, abbreviated as Hz) .5 common, but operating systems can set the frequency of the timer to anything they want. At every interrupt, the Operating System decides that whether the ongoing process should be continued to run or should be suspended so that other process is executed by the CPU.
Amazon Shopping Indian with big Discount on Branded Products