What Is Scheduling In Operating Systems(OS)?

in programming •  7 years ago 

We all use different Devices in Our Daily Life Like Mobile Phone and Computer to do our daily Works for Example, for Web browsing, listening to music, Watching videos and steeming and many things. We all want that these devices should faster enough to do our request instantly.

All the Devices that we use has an Operating system that Connects all the Hardware together and utilizes it get the maximum performance out of the hardware. So Designing of an Operating System is Very important to make the system faster and efficient. When it comes to designing of the operating system there is a term That is called " Scheduling". Selection of Good Scheduling algorithm is very important in an Operating System.


Image Source

What Is Scheduling?

Scheduling is a strategy that decides that How Much CPU is to allocate to a Process for How much time. When the system is Idle and has nothing to do it must select a Process from the ready queue to be executed. This selection is made through a scheduling algorithm. In Simple Terms, Scheduling is the switching processes among the CPU to make the computer more efficient and Productive.

Why The Selection Of Good Scheduling Algorithm Is Important?

To Get The Maximum CPU Utilization: It means That we can get best out of the system.

To Get Maximum Throughput:Throughput is Number of Processes that can be executed easily in per unit time.

To Lower The Turnarround Time: Turnarount Time is the Time that is taken by process from its Submission to the completion.

Lower The Waiting Time: Waiting Time Is the time That Process spends in a Ready Queue waiting for Execution.

Lower The Response Time:Response Time Is taken by a Process to show its First Result.

Types Of Schedulings:

There Are Two Types Of Scheduling :

1. Preemptive
2. Non-Preemptive

1. Preemptive Scheduling:

In the Preemptive Scheduling, CPU is allocated to Process for a Limited time after limited time the allocated CPU is Taken away and Allocated the Next Waiting Process for A limited time. If the New Coming Process can complete in the Given time than its ok, otherwise it is kicked out and it needs to wait for its completion in next turn. This Type Of Scheduling is Flexible.There Are Different Scheduling Algorithms we will talk about in Next Posts.

Non-Preemptive Scheduling:

In Non- Preemptive Scheduling it is totally contrary to the Preemptive Scheduling as You can See From Name. In Non-preemptive Scheduling Process does not leave a system until it terminates and waits or I/O request.Once The CPU is Allocated to a Process it is Not Going to Leave the CPU until it Terminates and ask For I/O request.It is a Rigid Scheduling.

It Shows That A Good Scheduling Algorithm is Required for a good OS. We Can Not Judge These Operating system by its Being Preemptive and Non-Preemptive. It is the our Use and Depends where we want to use that OS. But The Selection Of Good Scheduling Type Is Important For Its Right Place.


I Will Describe The Different Scheduling algorithms in Next Posts. So Stay Tuned!


ThanksForReading

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by mohsan from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.