3.chap3 sched
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
352
On Slideshare
352
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Bai tap xen ke trong khi trinh bay cac giai thuat

Transcript

  • 1. Chöông 3 ÑÒNH THÔØI BOÄ XÖÛ LYÙ
  • 2. 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
  • 3. 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)
  • 4. 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
  • 5. MUÏC TIEÂU ÑÒNH THÔØI
    • Coâng baèng
    • Taêng hieäu suaát toái ña
    • Cöïc ñaïi soá ngöôøi duøng töông taùc
    • Coù theå döï ñoaùn tröôùc
    • Phí toån ít
    • Caân ñoái vieäc söû duïng taøi nguyeân
    • Traùnh trì hoaõn voâ haïn ñònh (duøng ñoä öu tieân)
    • Öu tieân quaù trình giöõ taøi nguyeân quan troïng
    • Phuïc vuï toát caùc quaù trình coù höôùng thuaän lôïi
    • Ñieàu phoái toái öu khi taûi khoâng caân ñoái
  • 6. TIEÂU CHÍ ÑEÅ ÑÒNH THÔØI
    • Möùc ñoä duøng I/O ( I/O boundness )
    • Möùc ñoä duøng CPU ( CPU boundness )
    • Ñaëc tính quaù trình : batch, interactive,real-time…
    • Ñoä khaån caáp cuûa quaù trình
    • Ñoä öu tieân cuûa quaù trình
    • Taàn suaát gaây loãi tham khaûo trang ( page fault )
    • Taàn suaát bò giaønh CPU
    • Thôøi gian ñöôïc CPU phuïc vuï töø khi taïo ra
    • Thôøi gian chaïy coøn laïi cuûa quaù trình
  • 7. TIEÂU CHUAÅN ÑAÙNH GIAÙ GIAÛI THUAÄT ÑÒNH THÔØI
    • Ñoä lôïi CPU ( CPU utilization )
    • Thoâng löôïng ( throughput )
    • Thôøi gian xöû lyù ( turnaround time )
    • Thôøi gian ñôïi ( waiting time )
    • Thôøi gian ñaùp öùng ( response time )
  • 8. 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
  • 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. MOÄT SOÁ GIAÛI THUAÄT ÑÒNH THÔØI
    • Ñònh thôøi haïn choùt ( Deadline Scheduling )
    • FIFO ( First In First Out )
    • SJF ( Shortest Job First )
    • SRT ( Shortest Remaining Time )
    • RR ( Round Robin )
    • HRRN ( Highest Response Ratio Next )
    • Haøng ña möùc hoài tieáp
    • ( Multilevel Feedback Queue )
  • 11. ÑÒ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å
  • 12. 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
  • 13. VÍ DUÏ 1 : GIAÛI THUAÄT FIFO
    • Thöù töï ñeán
    • P1, P2, P3
    • Thöù töï thöïc hieän
    • P1  P2  P3
    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. 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
  • 15. 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
    Processor Min time
  • 16. VÍ DUÏ 2 : GIAÛI THUAÄT SJF
    • Ñònh thôøi
    • P1  P3  P2
    • Tính caùc thoâng soá ?
    • So saùnh vôùi
    • ñònh thôøi theo FIFO ?
    • Nhöôïc ñieåm ?
    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. 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
  • 18. VÍ DUÏ 3 : GIAÛI THUAÄT SRT
    • Ñònh thôøi : P1  P2  P3  P1
    • Tính caùc thoâng soá ?
    • So saùnh vôùi SJF ?
    • Nhöôïc ñieåm ?
    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. 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
  • 20. VÍ DUÏ 4 : GIAÛI THUAÄT RR
    • Tính caùc thoâng soá ?
    • Cho t_switch = 0
    • Nhaän xeùt
    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. 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 = (t w + t s )/t s
      • t w waiting time
      • t s 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
  • 22. 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ân
      • P2: (6+4)/4=2.5
      • P3: (2+2)/2=2
      • P2 ñöôïc öu tieân
    • Thöù töï ñònh thôøi: P1  P2  P3
    • Nhaän xeùt
    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. 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ø: q 1 , q 2 , … q n-1 (thoâng thöôøng q 1 <q 2 <…<q n-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
  • 24.
    • Nhaän xeùt
    HAØNG ÑA MÖÙC HOÀI TIEÁP ( Multilevel Feedback Queue ) … Processor q 1 q 2 q n