You are on page 1of 24

Chöông 3

ÑÒNH THÔØI BOÄ XÖÛ LYÙ

Baøi giaûng moân heä ñieàu haønh -1-


CHÖÔNG 3 : ÑÒNH THÔØI BOÄ XÖÛ LYÙ
 Baøi toaùn ñònh thôøi
 Caùc thuaät ngöõ
 Muïc tieâu ñònh thôøi
 Tieâu chí ñeå ñònh thôøi
 Tieâu chuaån ñaùnh gia
 Caùc giaûi thuaät ñònh thôøi
– Ñònh thôøi haïn choùt
– FIFO
– SJF, SRT
– RR
– HRRN
– Haøng ña möùc hoài tieáp
 Baøi taäp

Baøi giaûng moân heä ñieàu haønh -2-


BAØI TOAÙN ÑÒNH THÔØI

 Ñònh nghóa :
– Phaân chia thôøi gian thöïc thi cho caùc quaù trình
ñoàng thôøi trong heä thoáng sao cho caùc quaù
trình keát thuùc vaø keát thuùc nhanh nhaát.
 Caáp ñoä ñònh thôøi
– Caáp cao (high-level)
– Caáp trung (intermediate-level)
– Caáp thaáp (low-level)

Baøi giaûng moân heä ñieàu haønh -3-


CAÙC THUAÄT NGÖÕ

 CPU burst
 I/O burst
 Time slice / Quantum
 Interval Timer
 Caùc kieåu ñònh thôøi
– non-preemptive
– preemptive

Baøi giaûng moân heä ñieàu haønh -4-


MUÏC TIEÂU ÑÒNH THÔØI
1. Coâng baèng
2. Taêng hieäu suaát toái ña
3. Cöïc ñaïi soá ngöôøi duøng töông taùc
4. Coù theå döï ñoaùn tröôùc
5. Phí toån ít
6. Caân ñoái vieäc söû duïng taøi nguyeân
7. Traùnh trì hoaõn voâ haïn ñònh (duøng ñoä öu tieân)
8. Öu tieân quaù trình giöõ taøi nguyeân quan troïng
9. Phuïc vuï toát caùc quaù trình coù höôùng thuaän lôïi
10. Ñieàu phoái toái öu khi taûi khoâng caân ñoái

Baøi giaûng moân heä ñieàu haønh -5-


TIEÂU CHÍ ÑEÅ ÑÒNH THÔØI
1. Möùc ñoä duøng I/O (I/O boundness)
2. Möùc ñoä duøng CPU (CPU boundness)
3. Ñaëc tính quaù trình : batch, interactive,real-time…
4. Ñoä khaån caáp cuûa quaù trình
5. Ñoä öu tieân cuûa quaù trình
6. Taàn suaát gaây loãi tham khaûo trang (page fault)
7. Taàn suaát bò giaønh CPU
8. Thôøi gian ñöôïc CPU phuïc vuï töø khi taïo ra
9. Thôøi gian chaïy coøn laïi cuûa quaù trình

Baøi giaûng moân heä ñieàu haønh -6-


TIEÂU CHUAÅN ÑAÙNH GIAÙ
GIAÛI THUAÄT ÑÒNH THÔØI
1. Ñoä lôïi CPU (CPU utilization)

2. Thoâng löôïng (throughput)

3. Thôøi gian xöû lyù (turnaround time)

4. Thôøi gian ñôïi (waiting time)

5. Thôøi gian ñaùp öùng (response time)


Baøi giaûng moân heä ñieàu haønh -7-
BOÄ ÑÒNH THÔØI VAØ BOÄ ÑIEÀU VAÄN
 Boä ñònh thôøi quaù trình (scheduler)
– Choïn löïa quaù trình cho CPU phuïc vuï
– Hoaït ñoäng vaøo nhöõng thôøi ñieåm
1. Khi quaù trình running  ready
2. Khi quaù trình töø running  blocked
3. Khi quaù trình töø blocked  ready
4. Khi coù quaù trình keát thuùc
 Boä ñieàu vaän (dispatcher)
– Chuyeån ñieàu khieån CPU sang cho quaù trình.
– Thöïc hieän böôùc chuyeån ngöõ caûnh:
 Chuyeån ngöõ caûnh sang caáp ngöôøi duøng
 Nhaûy sang vò trí thích hôïp cuûa quaù trình vaø thöïc thi

Baøi giaûng moân heä ñieàu haønh -8-


BOÄ ÑÒNH THÔØI QUAÙ TRÌNH

Low-level scheduler
High-level scheduler

enter end
JOB QUEUE READY QUEUE CPU

I/O WAITING QUEUE

Baøi giaûng moân heä ñieàu haønh -9-


MOÄT SOÁ GIAÛI THUAÄT ÑÒNH THÔØI

1. Ñònh thôøi haïn choùt (Deadline Scheduling)


2. FIFO (First In First Out)
3. SJF (Shortest Job First)
4. SRT (Shortest Remaining Time)
5. RR (Round Robin)
6. HRRN (Highest Response Ratio Next)
7. Haøng ña möùc hoài tieáp
(Multilevel Feedback Queue)

Baøi giaûng moân heä ñieàu haønh -10-


ÑÒNH THÔØI HAÏN CHOÙT
(Deadline Scheduling)
 Coøn goïi laø real-time scheduling
– Hard real-time
– Soft real-time
 Ñònh thôøi sao cho caùc quaù trình ñöôïc thöïc thi
theo moät baûng thôøi gian xaùc ñònh tröôùc
 Muïc ñích : hoaøn thaønh taùc vuï kòp luùc
 ÖÙng duïng : coâng nghieäp, vieãn thoâng, quaân söï…
 Raát phöùc taïp
 Chæ coù giaûi thuaät cho töøng heä thoáng cuï theå
Baøi giaûng moân heä ñieàu haønh -11-
FIFO (First In First Out)
 Coøn goïi laø FCFS (First Come First Served)
 Xeùt ñònh thôøi quaù trình theo thôøi gian ñeán
haøng ñôïi ready cuûa quaù trình
 Quaù trình vaøo tröôùc seõ ñöôïc phuïc vuï tröôùc
 Ñònh thôøi theo kieåu non-preemptive

Processor

Baøi giaûng moân heä ñieàu haønh -12-


VÍ DUÏ 1 : GIAÛI THUAÄT FIFO

 Thöù töï ñeán Quaù trình Thôøi gian thöïc thi (giaây)

P1, P2, P3 P1 24

 Thöù töï thöïc hieän P2 5

P1 P2  P3 P3 2

P1 P2 P3
0 24 29 31

Baøi giaûng moân heä ñieàu haønh -13-


VÍ DUÏ 1 : GIAÛI THUAÄT FIFO
 Thôøi gian xöû lyù (turnaround time)
P1: 24s P2: 29s P3: 31s
 Thôøi gian xöû lyù trung bình
(24+29+31)/3 = 28s
 Thôøi gian ñôïi (waiting time)
P1: 0s P2: 24s P3: 29s
 Thôøi gian ñôïi trung bình
(0+24+29)/3=17.67s

 Neáu thöù töï ñeán caùc quaù trình laø P3  P2  P1 thì sao ?
 Nhaän xeùt

Baøi giaûng moân heä ñieàu haønh -14-


SJF (Shortest Job First )
 Ñònh thôøi theo kieåu non-premptive
 Quaù trình coù thôøi gian xöû lyù nhoû nhaát seõ
ñöôïc xöû lyù tröôùc
 Vieäc ñònh thôøi ñöôïc thöïc hieän sau khi coù
quaù trình keát thuùc

Min time
Processor

Baøi giaûng moân heä ñieàu haønh -15-


VÍ DUÏ 2 : GIAÛI THUAÄT SJF
 Ñònh thôøi
P1P3P2 Quaù Thôøi gian Thôøi gian thöïc thi
trình ñeán (giaây)
P1 0 7
 Tính caùc thoâng soá ? P2 1 4
P3 5 2

 So saùnh vôùi Ñònh thôøi laïi


P1 P2 P3
ñònh thôøi theo FIFO ?
P1 P3 P2

 Nhöôïc ñieåm ? 0 7 9 13

Baøi giaûng moân heä ñieàu haønh -16-


SRT (Shortest Remaining Time)
 Ñònh thôøi theo kieåu pre-emptive
 Quaù trình coù thôøi gian xöû lyù coøn laïi nhoû nhaát
seõ ñöôïc xöû lyù tröôùc
 Vieäc ñònh thôøi ñöôïc thöïc hieän ngay caû khi coù
quaù trình ñeán heä thoáng

Min remaining
time Processor

Baøi giaûng moân heä ñieàu haønh -17-


VÍ DUÏ 3 : GIAÛI THUAÄT SRT
 Ñònh thôøi :
P1P2P3P1 Quaù Thôøi gian Thôøi gian thöïc thi
trình ñeán (giaây)
P1 0 7
 Tính caùc thoâng soá ? P2 3 2
P3 5 2

 So saùnh vôùi SJF ? Ñònh thôøi laïi


P1 P2 P3

P1 P2 P3 P1
 Nhöôïc ñieåm ?

Baøi giaûng moân heä ñieàu haønh -18-


RR(Round Robin)
 Ñònh thôøi theo kieåu pre-emptive

 Quaù trình chæ ñöôïc chieám CPU trong khoaûng thôøi gian q
(quantum time). Neáu trong khoaûng thôøi gian ñoù quaù
trình chöa keát thuùc thì noù traû CPU laïi cho Heä ñieàu haønh
vaø quay veà cuoái haøng ñôïi Ready.

Processor

Baøi giaûng moân heä ñieàu haønh -19-


VÍ DUÏ 4 : GIAÛI THUAÄT RR
 Tính caùc thoâng soá ?
Quaù Thôøi gian Thôøi gian thöïc thi
Cho t_switch = 0 trình ñeán (giaây)
P1 0 7
P2 3 2
 Nhaän xeùt P3 5 2

P1 P2 P3

0 3 5 7

Ñònh thôøi Round robin vôùi


Quantum time laø 1 giaây

Baøi giaûng moân heä ñieàu haønh -20-


HRRN (Highest Response Ration Next)
 Caûi tieán giaûi thuaät SJF
 Ñònh thôøi theo kieåu non-preemptive
 Ñoä öu tieân cuûa quaù trình ñöôïc tính theo coâng
thöùc:
p = (tw + ts)/ts
tw waiting time
ts service time
 Quaù trình coù ñoä öu tieân lôùn nhaát ñöôïc phuïc vuï
 Ñoä öu tieân ñoäng, tính laïi khi coù quaâ trình keát thuùc

Baøi giaûng moân heä ñieàu haønh -21-


VÍ DUÏ 5 : GIAÛI THUAÄT HRRN
 Khi P1 keát thuùc, heä
thoáng ñònh thôøi laïi.
Quaù Thôøi gian Thôøi gian thöïc thi
trình ñeán (CPU burst time) (giaây)
 Ñoä öu tieân P1 0 7

P2: (6+4)/4=2.5 P2 1 4

P3: (2+2)/2=2 P3 5 2

P2 ñöôïc öu tieân Ñònh thôøi laïi


P1 P2 P3
 Thöù töï ñònh thôøi:
P1P2P3 P1 P2 P3
0 7 11 13
 Nhaän xeùt

Baøi giaûng moân heä ñieàu haønh -22-


HAØNG ÑA MÖÙC HOÀI TIEÁP
(Multilevel Feedback Queue)
 Ñònh thôøi theo kieåu preemptive
 Heä thoáng goàm n haøng ñôïi
 Caùc haøng ñôïi töø 1 ñeán n-1 ñöôïc ñònh thôøi theo kieåu
FIFO coù quantum time laø: q1, q2, … qn-1 (thoâng thöôøng
q1<q2<…<qn-1) .
 Neáu quaù trình ôû haøng ñôïi k (1≤ k ≤n-1) chieám CPU
heát thôøi gian q  seõ xeáp vaøo cuoái haøng k+1
 Nhöõng quaù trình trong haøng k (2≤ k ≤n) chæ ñöôïc
phuïc vuï khi vaø chæ khi khoâng coù quaù trình naøo trong
taát caû caùc haøng ñôïi töø 1 ñeán k-1
 Caùc quaù trình ôû haøng ñôïi thöù n ñöôïc ñònh thôøi theo
kieåu Round Robin

Baøi giaûng moân heä ñieàu haønh -23-


HAØNG ÑA MÖÙC HOÀI TIEÁP
(Multilevel Feedback Queue)

q1

 Nhaän xeùt q2


Processor
qn

Baøi giaûng moân heä ñieàu haønh -24-

You might also like