1
Khoa KTMT
Chöông IV:
Chöông IV:
Ñònh thôøi CPU
Ñònh thôøi CPU
–
–
–
–
–
–
!"# "
–
$%
–
$&%
2
Khoa KTMT
Khaùi nieäm cô baûn
–
'()'*+,)*-./.
/0
–
(1*,234.!,'*('(05,4
)!667//,)!8'((!'(
,'*(.76/→/'*(,9*:0
!
–
(.!'7'(0
–
;*4.&.,9*:<(
&,'*(/:0
3
Khoa KTMT
Caùc boä ñònh thôøi
ready
ready
running
running
suspended
ready
suspended
ready
suspended
blocked
suspended
blocked
new
new
terminated
terminated
blocked
blocked
Long-term
scheduling
Long-term
scheduling
Medium-term
scheduling
Medium-term
scheduling
Short-term
scheduling
4
Khoa KTMT
Caùc boä ñònh thôøi
"#$
–
=4,9'*+,'*(/!.(!./,2
'(
–
>)&2'4,.!6./
–
?'*/@+#1:
AB<!
%$#$
–
,'*(,'C!,'&6C!.*4
D
–
>'*('(.*6!)764.*4,'*(6.
*6!)764.*40
5
Khoa KTMT
Các bộ đònh thời (tt)
•
&$
'($)*+,-,-
(.,--/$0
&$,--1 $(
2#,--3 ,- 4(
5)6
–
"E*&!
–
"@(AB<!
–
?*(./!
–
Chương này sẽ tập trung vào đònh thời ngắn hạn
6
Khoa KTMT
Dispatcher
7(+)*)88 18
(,--9-
286
–
2'F6'6(8'F6G
–
2/,.'*
–
"6,/9DD*(!'*+'4(,2&*6
,.('*+D!G
1))(:
–
7()H*!'.!&*6
,..!&4
7
Khoa KTMT
Caùc tieâu chuaån ñònh thôøi CPU
#$
–
(,.;(06&6*!.
8),/&8),)8,'*(,4!'4
→'(2
–
*)1.0.$06&6*
'4.!,'*((!./,/&!,4
&/4→'(2
–
.<062*.!,*(
7→'(2
&)#$
–
&,$-.(=06,9*:.
/→'(,(
–
>.?06/6!!6,'*(,/#'6'
–
,-.(06/!/8..
,*9*→'(,(0
8
Khoa KTMT
Hai yếu tố của giải thuật đònh thời
@-,-.?06$-(
$)*,-,-.,$,-
,/)818)/A,-
(/B0/1:$-
•
CI2*,*(./
•
I*,F,'*(!((
•
I2*'(6!)6JK
9
Khoa KTMT
Hai yếu tố của giải thuật đònh thời (tt)
*).$$06-,-
-,-C
–
L8'("!!
Khi ở trạng thái running, process sẽ thực thi cho
đến khi kết thúc hoặc bò blocked do yêu cầu I/O
–
'(!
Process đang thực thi (trạng thái running) có thể bò
ngắt nửa chừng và chuyển về trạng thái ready bởi
hệ điều hành
Chi phí cao hơn non-preemptive nhưng đánh đổi lại
bằng thời gian đáp ứng tốt hơn vì không có trường
hợp một process độc chiếm CPU quá lâu.
10
Khoa KTMT
Preemptive vaø Non-preemptive
@8DEFDGHIJ
MNOP/C
QNOP/
RNOP/CC
SLTUV
M)S&*WVXPYZ[NQ)RW
GFH(K/LDGHM8DEF((1
GFH(N/ODGHM8DEF((1
IJPQ8 RPSTS
11
Khoa KTMT
Khảo sát giải thuật đònh thời
&1U(8 )#
V4W
1#$(
Process
Arrival
Time
Service
Time
1 0 3
2 2 6
3 4 4
4 6 5
5 8 2
load store
add store
read from file
wait for I/O
inc store
write to file
load store
add store
read from file
wait for I/O
wait for I/O
…
I/O burst
CPU burst
CPU burst
CPU burst
I/O burst
I/O burst
một chu kỳ
CPU-I/O
12
Khoa KTMT
1. First-Come First-Served (FCFS)
@,--6X)8,+,-(
(,Y+,- A $$V4W
*)6#((1
@,-6,$--ZVZW.ZVZW*0
–
/+,,'*(8/,*(
–
/+,'*('((,2#'64,'*(/',)67
0
5
10
15
20
P1
P2
P3
P4
P5
add
run
13
Khoa KTMT
FCFS Scheduling
[:$-6
Process Burst Time
P1 24
P2 3
P3 3
\,,,-1
X
MQR
MI\]
QIQS]
RIQ^]
X
\_QS_Q^BRIM^
0
24 27 30
P1 P2 P3
Gantt Chart for Schedule
14
Khoa KTMT
[:$-6
Process Burst Time
P1 24
P2 3
P3 3
\,1
X
P2, P3, P1
6
P1 = 6; P2 = 0; P3 = 3;
X
(6+0+3)/3 = 3 , toát hôn
0 3 6
30
P1P2 P3
Gantt Chart for Schedule
15
Khoa KTMT
2. Shortest-Job-First(SJF) Scheduling
!19,
,-,-$/+((X)8:
.X90
"*8$,$-8(
3XC&,$-,+8$)
(X19C
16
Khoa KTMT
2. Shortest-Job-First(SJF) Scheduling
@X,.&06
–
&K6]#((1/+,.7):
Khi CPU được trao cho quá trình nó không nhường cho đến
khi nó kết thúc chu kỳ xử lý của nó
–
&N6(1/+&8,.7)
Nếu một tiến trình CPU mới được đưa vào danh sách với
chiều dài sử dụng CPU cho lần tiếp theo nhỏ hơn thời gian
còn lại của tiến trình đang xử lý nó sẽ dừng hoạt động tiến
trình hiện hành (hình thức này còn gọi là Shortest-
Remaining-Time-First (SRTF).)
–
/'`**,*(+/2*4.
.!/+'*4
17
Khoa KTMT
Non-Preemptive SJF Scheduling
[:$-6
Process
Arrival Time
Burst Time
P1 0 7
P2 2 4
P3 4 1
P4 5 4
0
8 16
P1 P2P3
Gantt Chart for Schedule
P4
127
Average waiting time =
(0+6+3+7)/4 = 4
18
Khoa KTMT
Preemptive SJF Scheduling(SRTF)
[:$-K6
0 7
16
P1 P2P3
Gantt Chart for Schedule
P4
115
Average waiting time =
(9+1+0+2)/4 = 3
P2 P1
2 4
VD2:
19
Khoa KTMT
Nhaọn xeựt ve giaỷi thuaọt SJF
5)X-^_.101
(# 8(1#
C
#((1 (-(
.10
\&`Z8,
#$(,(1V4W#
$(/, ( ,-V4W
,-,-X
20
Khoa KTMT
Nhaọn xeựt ve giaỷi thuaọt SJF
GPa1bc(dRDe$8fQ(
@8IM6M(RDe$8gh
aDGH6&`ZiG1JjFDH
X
]GHDk6d(jGbGHFdQ(
f(
\j((1hDl8)S
21
Khoa KTMT
Nhaọn xeựt ve giaỷi thuaọt SJF
.Fm$n:8De$8f0
XhjDDGH* a
]GGFo8b8(j
Dp81f(GP
%e qrGF$8m$nX8s
.5(10
`
a
_M
I
_Ma
\M
`
a
_M
I
_M
M
_b_M
c
a
c
_b_M
_M
a
\
`
"TXId+ef)ZYYgh
)ZVY/a
Ygh#7Xg0
22
Khoa KTMT
5VY/[ij:
dài CPU burstĐộ
o cđ đượ
dài CPU burst d oán,Độ ự đ
v i ớ a = ½ và τ
0
= 10
23
Khoa KTMT
3. Priority Scheduling
%3(+,-,
+,-((,
!,$-,6
–
!k
–
"!!
24
Khoa KTMT
Gaùn ñoä öu tieân
&`Z,$-,1
,##,#$-##$,-#
\,$,-16
–
l8)).*4
–
/'*(m,'*(*6
–
3.*AB<8*'6(:
–
48)8D('H/)'*6&
'(8.
25
Khoa KTMT
3. Priority Scheduling
[86X+1-t(,
( ,-,-
\((6.0t,(+
u
[$6