|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ä |
Examples
of scheduling methods
|
|
|
|
ä |
Preemptive
|
|
|
|
ä |
Willing
to context switch out current job if a
|
|
|
|
higher
priority job is ready to run (vs. non-
|
|
|
preemptive)
|
|
|
|
ä |
Round
robin
|
|
|
|
ä |
Define
a time quantum, say x milliseconds
|
|
|
|
ä |
Preempt
the current process every time quantum
|
|
|
ä |
Run
the next ready to run process
|
|
|
|
ä |
Priority
|
|
|
|
ä |
Assign
priorities to processes
|
|
|
|
ä |
Run
process with the highest priority
|
|
|
|
ä |
Shortest
job first
|
|
|
|
ä |
If you know how long programs will take to
|
|
|
run,
you can use this information to maximize
|
|
|
throughput
|
|
|
|
ä |
Run
the shortest job first!
|
|
|
|
ä |
Shortest
job first also gives the minimum
|
|
|
average
response time (this can be proven)
|
|