We need a scheduling policy when we have many jobs to run
Or we are limited and resources it needs to solve three limitations of the system
A there are a finite number of resources
Such as disk drives apprentice be
there are locked resources so they cannot be shared with another job
And see some resources may need the user to
reassign jobs we want a policy that can deliver the maximun throughput
Provide quicker responses and ensure fairness for
all jods while also maintaining inefficient CPU service
One thing we surely donapost want heaposs a resource hog
this means a job can be very selfish
And make you some all the resources and not share them out
We may need to intervene to make sure we can get a hold of resources for
Ourselves
So we need a predefined point to intervene
Incorporating time slicing or priorities have jobs
Presents two types of schedulers known as both
Preemptive this means giving the power to interrupt the job
Or non preemptive meaning we have to wait for the job to complete
Before we can do anything a processor schedule a
Relies on an algorithm and ordered set up instructions to allocate the cpu and move jobs through the system they are either preemptive or known preemptive solutions And each has their pros and cons F See if s or first come first serve Is non preemptive so it has to wait for jobs to finish And handles jobs based on their arrival the Earlier they appear the sooner they get served now This would be be fine for a simple batch system but in terms of response time It would not be sufficient when using in interactive system With multiple jobs to handle this can seem Unpredictable and contains an element of chance When considering turnaround time so if job A he was ten times slower than Joe B NC Onto it would have been more appropriate to process jobs be NC first this would not be feasible SJ Aaron or shortest job next Is also known preempted and as the name suggest Runs the smallest jobs first in order to function It needs jobs to exist in the queue and have accurate runtime Estimates are the jobs priority scheduling Is another example other non preemptive algorithm And places priority to certain jobs based on Precedence so admin jobs would be ruled over basic user jobs It also takes into consideration the re resources that are required