1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the...
-
Upload
gillian-hill -
Category
Documents
-
view
226 -
download
4
Transcript of 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the...
![Page 1: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/1.jpg)
1
Uniprocessor Scheduling
Chapter 9
![Page 2: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/2.jpg)
2
Aim of Scheduling
• Assign processes to be executed by the processor(s)
• Response time
• Throughput
• Processor efficiency
![Page 3: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/3.jpg)
3
![Page 4: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/4.jpg)
4
![Page 5: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/5.jpg)
5
![Page 6: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/6.jpg)
6
Long-Term Scheduling
• Determines which programs are admitted to the system for processing
• Controls the degree of multiprogramming
• More processes, smaller percentage of time each process is executed
![Page 7: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/7.jpg)
7
Medium-Term Scheduling
• Part of the swapping function
• Based on the need to manage the degree of multiprogramming
![Page 8: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/8.jpg)
8
Short-Term Scheduling
• Known as the dispatcher
• Executes most frequently
• Invoked when an event occurs– Clock interrupts– I/O interrupts– Operating system calls– Signals
![Page 9: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/9.jpg)
9
Short-Tem Scheduling Criteria
• User-oriented– Response Time
• Elapsed time between the submission of a request until there is output.
• System-oriented– Effective and efficient utilization of the
processor
![Page 10: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/10.jpg)
10
Short-Term Scheduling Criteria
• Performance-related– Quantitative– Measurable such as response time and
throughput
![Page 11: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/11.jpg)
11
![Page 12: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/12.jpg)
12
![Page 13: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/13.jpg)
13
![Page 14: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/14.jpg)
14
Priorities
• Scheduler will always choose a process of higher priority over one of lower priority
• Have multiple ready queues to represent each level of priority
• Lower-priority may suffer starvation– Allow a process to change its priority based
on its age or execution history
![Page 15: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/15.jpg)
15
![Page 16: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/16.jpg)
16
Decision Mode
• Nonpreemptive– Once a process is in the running state, it will
continue until it terminates or blocks itself for I/O
• Preemptive– Currently running process may be interrupted and
moved to the Ready state by the operating system
– Allows for better service since any one process cannot monopolize the processor for very long
![Page 17: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/17.jpg)
17
Process Scheduling Example
![Page 18: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/18.jpg)
18
First-Come-First-Served(FCFS)
• Each process joins the Ready queue• When the current process ceases to execute,
the oldest process in the Ready queue is selected
![Page 19: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/19.jpg)
19
First-Come-First-Served(FCFS)
• A short process may have to wait a very long time before it can execute
• Favors CPU-bound processes– I/O processes have to wait until CPU-bound
process completes
![Page 20: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/20.jpg)
20
Round-Robin
• Uses preemption based on a clock• An amount of time is determined that
allows each process to use the processor for that length of time
![Page 21: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/21.jpg)
21
Round-Robin
• Clock interrupt is generated at periodic intervals
• When an interrupt occurs, the currently running process is placed in the read queue– Next ready job is selected
• Known as time slicing
![Page 22: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/22.jpg)
22
![Page 23: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/23.jpg)
23
![Page 24: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/24.jpg)
24
Shortest Process Next
• Nonpreemptive policy• Process with shortest expected processing time
is selected next• Short process jumps ahead of longer processes
![Page 25: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/25.jpg)
25
Shortest Process Next
• Predictability of longer processes is reduced
• If estimated time for process not correct, the operating system may abort it
• Possibility of starvation for longer processes
![Page 26: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/26.jpg)
26
Shortest Process Next
• Sn+1= (1/n)∑ Ti
• Sn+1=(1/n) Tn + ((n-1)/n) Sn
• Sn+1= ά Tn + (1- ά)Sn
• Ti - Processor execution time for the ith instance
• Si - Predicted value for the ith instance
![Page 27: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/27.jpg)
27
![Page 28: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/28.jpg)
28
![Page 29: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/29.jpg)
29
Shortest Remaining Time
• Preemptive version of shortest process next policy
• Must estimate processing time
![Page 30: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/30.jpg)
30
Highest Response Ratio Next (HRRN)
• Choose next process with the greatest ratio
time spent waiting + expected service timeexpected service time
![Page 31: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/31.jpg)
31
Feedback
• Penalize jobs that have been running longer• Don’t know remaining time process needs to
execute
![Page 32: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/32.jpg)
32
![Page 33: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/33.jpg)
33
![Page 34: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/34.jpg)
34
![Page 35: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/35.jpg)
35
![Page 36: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/36.jpg)
36
![Page 37: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/37.jpg)
37
![Page 38: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/38.jpg)
38
![Page 39: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/39.jpg)
39
![Page 40: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/40.jpg)
40
![Page 41: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/41.jpg)
41
Fair-Share Scheduling
• User’s application runs as a collection of processes (threads)
• User is concerned about the performance of the application
• Need to make scheduling decisions based on process sets
![Page 42: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/42.jpg)
42
![Page 43: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/43.jpg)
43
Traditional UNIX Scheduling
• Multilevel feedback using round robin within each of the priority queues
• If a running process does not block or complete within 1 second, it is preempted
• Priorities are recomputed once per second
• Base priority divides all processes into fixed bands of priority levels
![Page 44: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/44.jpg)
44
Bands
• Decreasing order of priority– Swapper– Block I/O device control– File manipulation– Character I/O device control– User processes
![Page 45: 1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.](https://reader036.fdocuments.in/reader036/viewer/2022062517/56649f2c5503460f94c47613/html5/thumbnails/45.jpg)
45