Difference in type of schedulers and scheduling algorithms

I have studied about the topic of Job Schedulers and there are different types like Long term, medium and short term schedulers and finally got confused with the things.

So my question is, "Among these three schedulers, which scheduler type will make use of the scheduling algorithms(like FCFS, SJF etc.)"

My understanding so far is, "The scheduling algorithm will take the job from the ready queue (which contains the list of jobs to be executed which is in ready more) and keeps the CPU busy as much as possible".

And the Long Term Scheduler is the one which decides what are all the jobs to be allowed in the ready queue.

So, the long term scheduler is the one which is going to make use of those scheduling algols..?.

And also, I have seen the link, https://en.wikipedia.org/wiki/Scheduling_(computing)

where I have seen that,

Note: The following lines is excerpted from Wiki...

"Thus the short-term scheduler makes scheduling decisions much more frequently than the long-term or mid-term schedulers...."

So, whether all these 3 schedulers will make use of the scheduling algol.??

Finally, I got tucked at this point and got confused with the difference between these types of schedulers ..

Could some one kindly do briefly explain this one?

So I can able to understand this one.

Thanks in advance.


So, whether all these 3 schedulers will make use of the scheduling algo??

Basically, the scheduling algorithms are chosen by all three of them depending on whichever is functional at that point. All of them require some kind of scheduling decisions at any point as all of them are schedulers. So, it all depends on which is executing at what instant (short-term scheduler executes more frequently as compared to others).

Wikipedia is right in mentioning that. I hope you got your answer in short.

Description :

As mentioned in Process Scheduling page on tutorialspoint :-

Schedulers are special system softwares which handles process scheduling in various ways. Their main task is to select the jobs to be submitted into the system and to decide which process to run.

Long Term Scheduler ------> It selects processes from pool and loads them into memory for execution

Medium Term Scheduler -----> It selects those processes which are ready to execute.

Short Term Scheduler ------> It can re-introduce the process into memory and execution can be continued.

The below list (click here for source) shows the function of each of the three types of schedulers (long-term, short-term, and medium-term) for each of three types of operating systems (batch, interactive, and real-time).


longterm -----> job admission based on characteristics and resource needs

mediumterm -----> usually noneā€”jobs remain in storage until done

shortterm -----> processes scheduled by priority; continue until wait voluntarily, request service, or are terminated


longterm -----> sessions and processes normally accepted unless capacity reached

mediumterm -----> processes swapped when necessary

shortterm -----> processes scheduled on rotating basis; continue until service requested, time quantum expires, or pre-empted


longterm -----> processes either permanent or accepted at once

mediumterm -----> processes never swapped

shortterm -----> scheduling based on strict priority with immediate preemption; may time-share processes with equal priorities

Need Your Help

std::shared_ptr _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) when changing pointer

c++ visual-studio-2010 c++11 shared-ptr sfml

When this function runs, I get the debug assertion error as described in the title on the line sprite = spr;. If I add sprite.reset(); before that, it crashes on the line with sprite.reset();. The

How to pass a config file as parameter to a console application .Net

c# .net configuration console-application

I need a sample/example demonstrating how to pass a config file as a parameter to a console application in .Net