0
Chöông 3 ÑÒNH THÔØI BOÄ XÖÛ LYÙ
CHÖÔNG 3 : ÑÒNH THÔØI BOÄ XÖÛ LYÙ <ul><li>Baøi toaùn ñònh thôøi </li></ul><ul><li>Caùc thuaät ngöõ </li></ul><ul><li>Muïc ...
BAØI TOAÙN ÑÒNH THÔØI <ul><li>Ñònh nghóa :  </li></ul><ul><ul><li>Phaân chia thôøi gian thöïc thi cho caùc quaù trình ñoàn...
CAÙC THUAÄT NGÖÕ <ul><li>CPU burst </li></ul><ul><li>I/O burst </li></ul><ul><li>Time slice / Quantum </li></ul><ul><li>In...
MUÏC TIEÂU ÑÒNH THÔØI <ul><li>Coâng baèng </li></ul><ul><li>Taêng hieäu suaát toái ña </li></ul><ul><li>Cöïc ñaïi soá ngöô...
TIEÂU CHÍ ÑEÅ ÑÒNH THÔØI <ul><li>Möùc ñoä duøng I/O ( I/O boundness ) </li></ul><ul><li>Möùc ñoä duøng CPU ( CPU boundness...
TIEÂU CHUAÅN ÑAÙNH GIAÙ  GIAÛI THUAÄT ÑÒNH THÔØI <ul><li>Ñoä lôïi CPU ( CPU utilization )  </li></ul><ul><li>Thoâng löôïng...
BOÄ ÑÒNH THÔØI VAØ BOÄ ÑIEÀU VAÄN <ul><li>Boä ñònh thôøi quaù trình  ( scheduler )  </li></ul><ul><ul><li>Choïn löïa quaù ...
BOÄ ÑÒNH THÔØI QUAÙ TRÌNH JOB QUEUE READY QUEUE CPU I/O WAITING QUEUE enter end High-level scheduler Low-level scheduler
MOÄT SOÁ GIAÛI THUAÄT ÑÒNH THÔØI <ul><li>Ñònh thôøi haïn choùt  ( Deadline Scheduling ) </li></ul><ul><li>FIFO  ( First In...
ÑÒNH THÔØI HAÏN CHOÙT (Deadline Scheduling) <ul><li>Coøn goïi laø real-time scheduling </li></ul><ul><ul><li>Hard real-tim...
FIFO ( First In First Out ) <ul><li>Coøn goïi laø  FCFS  ( First Come First Served ) </li></ul><ul><li>Xeùt ñònh thôøi qua...
VÍ DUÏ 1 : GIAÛI THUAÄT FIFO <ul><li>Thöù töï  ñeán  </li></ul><ul><li>P1, P2, P3 </li></ul><ul><li>Thöù töï thöïc hieän  ...
VÍ DUÏ 1 : GIAÛI THUAÄT FIFO <ul><li>Thôøi gian xöû lyù (turnaround time) </li></ul><ul><ul><li>P1: 24s  P2: 29s  P3: 31s ...
SJF ( Shortest Job First  ) <ul><li>Ñònh thôøi theo kieåu  non-premptive </li></ul><ul><li>Quaù trình coù thôøi gian xöû l...
VÍ DUÏ 2 : GIAÛI THUAÄT SJF <ul><li>Ñònh thôøi  </li></ul><ul><li>P1  P3  P2 </li></ul><ul><li>Tính caùc thoâng soá ? </...
SRT ( Shortest Remaining Time ) <ul><li>Ñònh thôøi theo kieåu  pre-emptive </li></ul><ul><li>Quaù trình coù thôøi gian xöû...
VÍ DUÏ 3 : GIAÛI THUAÄT SRT <ul><li>Ñònh thôøi : P1  P2  P3  P1 </li></ul><ul><li>Tính caùc thoâng soá ? </li></ul><ul>...
RR( Round Robin ) <ul><li>Ñònh thôøi theo kieåu  pre-emptive </li></ul><ul><li>Quaù trình chæ ñöôïc chieám CPU trong khoaû...
VÍ DUÏ 4 : GIAÛI THUAÄT RR <ul><li>Tính caùc thoâng soá ? </li></ul><ul><li>Cho t_switch = 0 </li></ul><ul><li>Nhaän xeùt ...
HRRN  ( Highest Response Ration Next ) <ul><li>Caûi tieán giaûi thuaät SJF </li></ul><ul><li>Ñònh thôøi theo kieåu  non-pr...
VÍ DUÏ 5 : GIAÛI THUAÄT HRRN <ul><li>Khi P1 keát thuùc, heä thoáng ñònh thôøi laïi. </li></ul><ul><li>Ñoä öu tieân </li></...
HAØNG ÑA MÖÙC HOÀI TIEÁP ( Multilevel Feedback Queue ) <ul><li>Ñònh thôøi theo kieåu  preemptive </li></ul><ul><li>Heä tho...
<ul><li>Nhaän xeùt </li></ul>HAØNG ÑA MÖÙC HOÀI TIEÁP ( Multilevel Feedback Queue ) … Processor q 1 q 2 q n
Upcoming SlideShare
Loading in...5
×

3.chap3 sched

173

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
173
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Bai tap xen ke trong khi trinh bay cac giai thuat
  • Transcript of "3.chap3 sched"

    1. 1. Chöông 3 ÑÒNH THÔØI BOÄ XÖÛ LYÙ
    2. 2. CHÖÔNG 3 : ÑÒNH THÔØI BOÄ XÖÛ LYÙ <ul><li>Baøi toaùn ñònh thôøi </li></ul><ul><li>Caùc thuaät ngöõ </li></ul><ul><li>Muïc tieâu ñònh thôøi </li></ul><ul><li>Tieâu chí ñeå ñònh thôøi </li></ul><ul><li>Tieâu chuaån ñaùnh gia </li></ul><ul><li>Caùc giaûi thuaät ñònh thôøi </li></ul><ul><ul><li>Ñònh thôøi haïn choùt </li></ul></ul><ul><ul><li>FIFO </li></ul></ul><ul><ul><li>SJF, SRT </li></ul></ul><ul><ul><li>RR </li></ul></ul><ul><ul><li>HRRN </li></ul></ul><ul><ul><li>Haøng ña möùc hoài tieáp </li></ul></ul><ul><li>Baøi taäp </li></ul>
    3. 3. BAØI TOAÙN ÑÒNH THÔØI <ul><li>Ñònh nghóa : </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Caáp ñoä ñònh thôøi </li></ul><ul><ul><li>Caáp cao (high-level) </li></ul></ul><ul><ul><li>Caáp trung (intermediate-level) </li></ul></ul><ul><ul><li>Caáp thaáp (low-level) </li></ul></ul>
    4. 4. CAÙC THUAÄT NGÖÕ <ul><li>CPU burst </li></ul><ul><li>I/O burst </li></ul><ul><li>Time slice / Quantum </li></ul><ul><li>Interval Timer </li></ul><ul><li>Caùc kieåu ñònh thôøi </li></ul><ul><ul><li>non-preemptive </li></ul></ul><ul><ul><li>preemptive </li></ul></ul>
    5. 5. MUÏC TIEÂU ÑÒNH THÔØI <ul><li>Coâng baèng </li></ul><ul><li>Taêng hieäu suaát toái ña </li></ul><ul><li>Cöïc ñaïi soá ngöôøi duøng töông taùc </li></ul><ul><li>Coù theå döï ñoaùn tröôùc </li></ul><ul><li>Phí toån ít </li></ul><ul><li>Caân ñoái vieäc söû duïng taøi nguyeân </li></ul><ul><li>Traùnh trì hoaõn voâ haïn ñònh (duøng ñoä öu tieân) </li></ul><ul><li>Öu tieân quaù trình giöõ taøi nguyeân quan troïng </li></ul><ul><li>Phuïc vuï toát caùc quaù trình coù höôùng thuaän lôïi </li></ul><ul><li>Ñieàu phoái toái öu khi taûi khoâng caân ñoái </li></ul>
    6. 6. TIEÂU CHÍ ÑEÅ ÑÒNH THÔØI <ul><li>Möùc ñoä duøng I/O ( I/O boundness ) </li></ul><ul><li>Möùc ñoä duøng CPU ( CPU boundness ) </li></ul><ul><li>Ñaëc tính quaù trình : batch, interactive,real-time… </li></ul><ul><li>Ñoä khaån caáp cuûa quaù trình </li></ul><ul><li>Ñoä öu tieân cuûa quaù trình </li></ul><ul><li>Taàn suaát gaây loãi tham khaûo trang ( page fault ) </li></ul><ul><li>Taàn suaát bò giaønh CPU </li></ul><ul><li>Thôøi gian ñöôïc CPU phuïc vuï töø khi taïo ra </li></ul><ul><li>Thôøi gian chaïy coøn laïi cuûa quaù trình </li></ul>
    7. 7. TIEÂU CHUAÅN ÑAÙNH GIAÙ GIAÛI THUAÄT ÑÒNH THÔØI <ul><li>Ñoä lôïi CPU ( CPU utilization ) </li></ul><ul><li>Thoâng löôïng ( throughput ) </li></ul><ul><li>Thôøi gian xöû lyù ( turnaround time ) </li></ul><ul><li>Thôøi gian ñôïi ( waiting time ) </li></ul><ul><li>Thôøi gian ñaùp öùng ( response time ) </li></ul>
    8. 8. BOÄ ÑÒNH THÔØI VAØ BOÄ ÑIEÀU VAÄN <ul><li>Boä ñònh thôøi quaù trình ( scheduler ) </li></ul><ul><ul><li>Choïn löïa quaù trình cho CPU phuïc vuï </li></ul></ul><ul><ul><li>Hoaït ñoäng vaøo nhöõng thôøi ñieåm </li></ul></ul><ul><li>1. Khi quaù trình running  ready </li></ul><ul><li>2. Khi quaù trình töø running  blocked </li></ul><ul><li>3. Khi quaù trình töø blocked  ready </li></ul><ul><li>4. Khi coù quaù trình keát thuùc </li></ul><ul><li>Boä ñieàu vaän ( dispatcher ) </li></ul><ul><ul><li>Chuyeån ñieàu khieån CPU sang cho quaù trình. </li></ul></ul><ul><ul><li>Thöïc hieän böôùc chuyeån ngöõ caûnh: </li></ul></ul><ul><ul><ul><li>Chuyeån ngöõ caûnh sang caáp ngöôøi duøng </li></ul></ul></ul><ul><ul><ul><li>Nhaûy sang vò trí thích hôïp cuûa quaù trình vaø thöïc thi </li></ul></ul></ul>
    9. 9. BOÄ ÑÒNH THÔØI QUAÙ TRÌNH JOB QUEUE READY QUEUE CPU I/O WAITING QUEUE enter end High-level scheduler Low-level scheduler
    10. 10. MOÄT SOÁ GIAÛI THUAÄT ÑÒNH THÔØI <ul><li>Ñònh thôøi haïn choùt ( Deadline Scheduling ) </li></ul><ul><li>FIFO ( First In First Out ) </li></ul><ul><li>SJF ( Shortest Job First ) </li></ul><ul><li>SRT ( Shortest Remaining Time ) </li></ul><ul><li>RR ( Round Robin ) </li></ul><ul><li>HRRN ( Highest Response Ratio Next ) </li></ul><ul><li>Haøng ña möùc hoài tieáp </li></ul><ul><li> ( Multilevel Feedback Queue ) </li></ul>
    11. 11. ÑÒNH THÔØI HAÏN CHOÙT (Deadline Scheduling) <ul><li>Coøn goïi laø real-time scheduling </li></ul><ul><ul><li>Hard real-time </li></ul></ul><ul><ul><li>Soft real-time </li></ul></ul><ul><li>Ñò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 </li></ul><ul><li>Muïc ñích : hoaøn thaønh taùc vuï kòp luùc </li></ul><ul><li>ÖÙng duïng : coâng nghieäp, vieãn thoâng, quaân söï… </li></ul><ul><li>Raát phöùc taïp </li></ul><ul><li>Chæ coù giaûi thuaät cho töøng heä thoáng cuï theå </li></ul>
    12. 12. FIFO ( First In First Out ) <ul><li>Coøn goïi laø FCFS ( First Come First Served ) </li></ul><ul><li>Xeùt ñònh thôøi quaù trình theo thôøi gian ñeán </li></ul><ul><li>haøng ñôïi ready cuûa quaù trình </li></ul><ul><li>Quaù trình vaøo tröôùc seõ ñöôïc phuïc vuï tröôùc </li></ul><ul><li>Ñònh thôøi theo kieåu non-preemptive </li></ul>Processor
    13. 13. VÍ DUÏ 1 : GIAÛI THUAÄT FIFO <ul><li>Thöù töï ñeán </li></ul><ul><li>P1, P2, P3 </li></ul><ul><li>Thöù töï thöïc hieän </li></ul><ul><li>P1  P2  P3 </li></ul>0 24 29 31 2 P3 5 P2 24 P1 Thôøi gian thöïc thi (giaây) Quaù trình P3 P2 P1
    14. 14. VÍ DUÏ 1 : GIAÛI THUAÄT FIFO <ul><li>Thôøi gian xöû lyù (turnaround time) </li></ul><ul><ul><li>P1: 24s P2: 29s P3: 31s </li></ul></ul><ul><li>Thôøi gian xöû lyù trung bình </li></ul><ul><ul><li>(24+29+31)/3 = 28s </li></ul></ul><ul><li>Thôøi gian ñôïi (waiting time) </li></ul><ul><ul><li>P1: 0s P2: 24s P3: 29s </li></ul></ul><ul><li>Thôøi gian ñôïi trung bình </li></ul><ul><ul><li>(0+24+29)/3=17.67s </li></ul></ul><ul><li>Neáu thöù töï ñeán caùc quaù trình laø P3  P2  P1 thì sao ? </li></ul><ul><li>Nhaän xeùt </li></ul>
    15. 15. SJF ( Shortest Job First ) <ul><li>Ñònh thôøi theo kieåu non-premptive </li></ul><ul><li>Quaù trình coù thôøi gian xöû lyù nhoû nhaát seõ ñöôïc xöû lyù tröôùc </li></ul><ul><li>Vieäc ñònh thôøi ñöôïc thöïc hieän sau khi coù quaù trình keát thuùc </li></ul>Processor Min time
    16. 16. VÍ DUÏ 2 : GIAÛI THUAÄT SJF <ul><li>Ñònh thôøi </li></ul><ul><li>P1  P3  P2 </li></ul><ul><li>Tính caùc thoâng soá ? </li></ul><ul><li>So saùnh vôùi </li></ul><ul><li>ñònh thôøi theo FIFO ? </li></ul><ul><li>Nhöôïc ñieåm ? </li></ul>0 7 9 13 P1 P2 P3 Ñònh thôøi laïi 5 1 0 Thôøi gian ñeán 2 P3 4 P2 7 P1 Thôøi gian thöïc thi (giaây) Quaù trình P2 P3 P1
    17. 17. SRT ( Shortest Remaining Time ) <ul><li>Ñònh thôøi theo kieåu pre-emptive </li></ul><ul><li>Quaù trình coù thôøi gian xöû lyù coøn laïi nhoû nhaát seõ ñöôïc xöû lyù tröôùc </li></ul><ul><li>Vieäc ñònh thôøi ñöôïc thöïc hieän ngay caû khi coù quaù trình ñeán heä thoáng </li></ul>Processor Min remaining time
    18. 18. VÍ DUÏ 3 : GIAÛI THUAÄT SRT <ul><li>Ñònh thôøi : P1  P2  P3  P1 </li></ul><ul><li>Tính caùc thoâng soá ? </li></ul><ul><li>So saùnh vôùi SJF ? </li></ul><ul><li>Nhöôïc ñieåm ? </li></ul>P1 P2 P3 Ñònh thôøi laïi 5 3 0 Thôøi gian ñeán 2 P3 2 P2 7 P1 Thôøi gian thöïc thi (giaây) Quaù trình P3 P1 P2 P1
    19. 19. RR( Round Robin ) <ul><li>Ñònh thôøi theo kieåu pre-emptive </li></ul><ul><li>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. </li></ul>Processor q
    20. 20. VÍ DUÏ 4 : GIAÛI THUAÄT RR <ul><li>Tính caùc thoâng soá ? </li></ul><ul><li>Cho t_switch = 0 </li></ul><ul><li>Nhaän xeùt </li></ul>P1 P2 P3 Ñònh thôøi Round robin vôùi Quantum time laø 1 giaây 0 3 5 7 5 3 0 Thôøi gian ñeán 2 P3 2 P2 7 P1 Thôøi gian thöïc thi (giaây) Quaù trình
    21. 21. HRRN ( Highest Response Ration Next ) <ul><li>Caûi tieán giaûi thuaät SJF </li></ul><ul><li>Ñònh thôøi theo kieåu non-preemptive </li></ul><ul><li>Ñoä öu tieân cuûa quaù trình ñöôïc tính theo coâng thöùc: </li></ul><ul><ul><li> p = (t w + t s )/t s </li></ul></ul><ul><ul><li>t w waiting time </li></ul></ul><ul><ul><li>t s service time </li></ul></ul><ul><li>Quaù trình coù ñoä öu tieân lôùn nhaát ñöôïc phuïc vuï </li></ul><ul><li>Ñoä öu tieân ñoäng, tính laïi khi coù quaâ trình keát thuùc </li></ul>
    22. 22. VÍ DUÏ 5 : GIAÛI THUAÄT HRRN <ul><li>Khi P1 keát thuùc, heä thoáng ñònh thôøi laïi. </li></ul><ul><li>Ñoä öu tieân </li></ul><ul><ul><li>P2: (6+4)/4=2.5 </li></ul></ul><ul><ul><li>P3: (2+2)/2=2 </li></ul></ul><ul><ul><li>P2 ñöôïc öu tieân </li></ul></ul><ul><li>Thöù töï ñònh thôøi: P1  P2  P3 </li></ul><ul><li>Nhaän xeùt </li></ul>0 7 11 13 P1 P2 P3 Ñònh thôøi laïi 5 1 0 Thôøi gian ñeán 2 P3 4 P2 7 P1 Thôøi gian thöïc thi (CPU burst time) (giaây) Quaù trình P3 P2 P1
    23. 23. HAØNG ÑA MÖÙC HOÀI TIEÁP ( Multilevel Feedback Queue ) <ul><li>Ñònh thôøi theo kieåu preemptive </li></ul><ul><li>Heä thoáng goàm n haøng ñôïi </li></ul><ul><li>Caùc haøng ñôïi töø 1 ñeán n-1 ñöôïc ñònh thôøi theo kieåu FIFO coù quantum time laø: q 1 , q 2 , … q n-1 (thoâng thöôøng q 1 <q 2 <…<q n-1 ) . </li></ul><ul><li>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 </li></ul><ul><li>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 </li></ul><ul><li>Caùc quaù trình ôû haøng ñôïi thöù n ñöôïc ñònh thôøi theo kieåu Round Robin </li></ul>
    24. 24. <ul><li>Nhaän xeùt </li></ul>HAØNG ÑA MÖÙC HOÀI TIEÁP ( Multilevel Feedback Queue ) … Processor q 1 q 2 q n
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×