24
- 1 Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM Chöông 3 ÑÒNH THÔØI BOÄ XÖÛ LYÙ

3.chap3 sched

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 3.chap3 sched

-1-

Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

Chöông 3

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

Page 2: 3.chap3 sched

-2-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Page 3: 3.chap3 sched

-3-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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)

Page 4: 3.chap3 sched

-4-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

CAÙC THUAÄT NGÖÕ

CPU burstI/O burstTime slice / QuantumInterval Timer Caùc kieåu ñònh thôøi

– non-preemptive – preemptive

Page 5: 3.chap3 sched

-5-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

MUÏC TIEÂU ÑÒNH THÔØI

1. Coâng baèng2. Taêng hieäu suaát toái ña3. Cöïc ñaïi soá ngöôøi duøng töông taùc4. Coù theå döï ñoaùn tröôùc5. Phí toån ít6. Caân ñoái vieäc söû duïng taøi nguyeân7. 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ïng9. Phuïc vuï toát caùc quaù trình coù höôùng

thuaän lôïi10. Ñieàu phoái toái öu khi taûi khoâng caân ñoái

Page 6: 3.chap3 sched

-6-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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ình5. Ñoä öu tieân cuûa quaù trình6. 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 ra9. Thôøi gian chaïy coøn laïi cuûa quaù trình

Page 7: 3.chap3 sched

-7-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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)

Page 8: 3.chap3 sched

-8-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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 ready2. Khi quaù trình töø running blocked3. 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

Page 9: 3.chap3 sched

-9-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

JOB QUEUE READY QUEUE CPU

I/O WAITING QUEUE

enter end

High-level schedulerLow-level scheduler

Page 10: 3.chap3 sched

-10-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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)

Page 11: 3.chap3 sched

-11-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

ÑÒ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å

Page 12: 3.chap3 sched

-12-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Page 13: 3.chap3 sched

-13-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Thöù töï ñeán P1, P2, P3

Thöù töï thöïc hieän P1 P2 P3

Quaù trình

Thôøi gian thöïc thi (giaây)

P1 24

P2 5

P3 2

P1 P2 P3

0 24 29 31

Page 14: 3.chap3 sched

-14-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Page 15: 3.chap3 sched

-15-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

ProcessorMin time

Page 16: 3.chap3 sched

-16-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

VÍ DUÏ 2 : GIAÛI THUAÄT SJF

Ñònh thôøi P1P3P2

Tính caùc thoâng soá ?

So saùnh vôùi ñònh thôøi theo

FIFO ?

Nhöôïc ñieåm ?

Quaù trình

Thôøi gian ñeán

Thôøi gian thöïc thi (giaây)

P1 0 7

P2 1 4

P3 5 2

P1 P3 P2

0 7 9 13

P1 P2 P3

Ñònh thôøi laïi

Page 17: 3.chap3 sched

-17-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Processor

Min remaining time

Page 18: 3.chap3 sched

-18-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

VÍ DUÏ 3 : GIAÛI THUAÄT SRT

Ñònh thôøi : P1P2P3P1

Tính caùc thoâng soá ?

So saùnh vôùi SJF ?

Nhöôïc ñieåm ?

Quaù trình

Thôøi gian ñeán

Thôøi gian thöïc thi (giaây)

P1 0 7

P2 3 2

P3 5 2

P1 P2 P3 P1

P1 P2 P3Ñònh thôøi

laïi

Page 19: 3.chap3 sched

-19-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

q

Page 20: 3.chap3 sched

-20-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

VÍ DUÏ 4 : GIAÛI THUAÄT RR

Tính caùc thoâng soá ?

Cho t_switch = 0

Nhaän xeùt

Quaù trình

Thôøi gian ñeán

Thôøi gian thöïc thi (giaây)

P1 0 7

P2 3 2

P3 5 2

P1 P2 P3

Ñònh thôøi Round robin vôùi Quantum time laø 1 giaây

0 3 5 7

Page 21: 3.chap3 sched

-21-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Page 22: 3.chap3 sched

-22-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

VÍ DUÏ 5 : GIAÛI THUAÄT HRRN

Khi P1 keát thuùc, heä thoáng ñònh thôøi laïi.

Ñoä öu tieânP2: (6+4)/4=2.5P3: (2+2)/2=2P2 ñöôïc öu

tieân

Thöù töï ñònh thôøi: P1P2P3

Nhaän xeùt

Quaù trình

Thôøi gian ñeán

Thôøi gian thöïc thi (CPU burst time) (giaây)

P1 0 7

P2 1 4

P3 5 2

P1 P2 P3

0 7 11 13

P1 P2 P3

Ñònh thôøi laïi

Page 23: 3.chap3 sched

-23-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

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

Page 24: 3.chap3 sched

-24-Baøi giaûng moân heä ñieàu haønh Vuõ Leâ Huøng Khoa CNTT – ÑHBK TP. HCM

…Processor

q1

q2

qn

Nhaän xeùt

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