29
Operating System Operating System บบบบบ 5 บบบบบบบบบบบบบบบบบบบบบบบบบบบบ บบบบบบบบบบบบ (CPU SCHEDUING)

Operating System

  • Upload
    hana

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

Operating System. บทที่ 5 การจัดตารางการทำงานของหน่วยประมวลผลกลาง (CPU SCHEDUING). ช่วงประมวลผล / ช่วงรับส่งข้อมูล (CPU-I/O burst cycle). - PowerPoint PPT Presentation

Citation preview

Page 1: Operating System

Operating SystemOperating Systemบทท�� 5 การจัดตารางการท�างานของหน�วยประมวลผลกลาง(CPU SCHEDUING)

Page 2: Operating System

ช่�วงประมวลผลช่�วงประมวลผล//ช่�วงรบส่�งข�อม�ลช่�วงรบส่�งข�อม�ล (CPU-I/O burst cycle)(CPU-I/O burst cycle)กระบวนการท�วไปจัะท�างานเป!นวงจัรคื#อ

ท�างาน (ในหน�วยประมวลผล) และ รอคือย (รอการรบส่�งข�อม�ล) ส่ลบกนไป โดยเร'�มต�นท��ท�างานในหน�วยประมวลผลก�อนเร�ยกว�า ช่�วงประมวลผล (CPU-burst) แล�วก(จัะหย)ดเพื่#�อท�างานในอ)ปกรณ์,รบส่�งข�อม�ลเร�ยกว�า ช่�วงรบส่�งข�อม�ล (I/O burst)

แล�วตามด�วยช่�วงประมวลผลอ�กส่ลบกนไปจันส่)ดท�ายจัะเป!นช่�วงประมวลผล และก(ส่'-นส่)ดกระบวนการ ดงร�ป

Page 3: Operating System

การสลั�บลั�าดั�บของช่�วงประมวลัผลั การสลั�บลั�าดั�บของช่�วงประมวลัผลั (CPU (CPU burst)burst)แลัะช่�วงร�บส�งข�อม�ลัแลัะช่�วงร�บส�งข�อม�ลั (I/O burst)(I/O burst)

Page 4: Operating System

ตวจัดตารางการท�างานของหน�วยประมวลตวจัดตารางการท�างานของหน�วยประมวลผลกลางผลกลาง (CPU Scheduler)(CPU Scheduler) เม#�อหน�วยประมวลผลกลางว�างลง

ระบบก(จัะเล#อกกระบวนการจัากแถวพื่ร�อม (Ready Queue) เพื่#�อให�ท�างานในหน�วยประมวลผลกลางต�อไป โดยใช่�ตวจัดตารางระยะส่-น (short-term scheduler) (หร#อตวจัดตารางการท�างานของหน�วยประมวลผล (CPU scheduler))

Page 5: Operating System

การจัดตารางแบบให�แทรกกลางคืนการจัดตารางแบบให�แทรกกลางคืน (Preemptive Scheduling)(Preemptive Scheduling)ในการจัดตารางหน�วยประมวลผลกลาง

ระบบจัะต�องตดส่'นใจั หร#อ เล#อก เม#�อม�เหต)การณ์,หน/�งเก'ดข/-น คื#อ◦เม#�อกระบวนการเปล��ยนส่ถานะจัาก ก�าลงท�างาน (running) ไปเป!นก�าลงรอคือย (waiting)

◦เม#�อกระบวนการเปล��ยนส่ถานะ จัาก ก�าลงท�างาน (running) ไปเป!นส่ถานะพื่ร�อม (ready)

◦เม#�อกระบวนการเปล��ยนส่ถานะ จัาก ก�าลงรอคือย (waiting) ไปเป!นส่ถานะพื่ร�อม (ready)

◦เม#�อกระบวนการส่'-นส่)ด

Page 6: Operating System

การจัดตารางแบบให�แทรกกลางคืนการจัดตารางแบบให�แทรกกลางคืน (Preemptive Scheduling)(Preemptive Scheduling)ถ�าการจัดตารางการท�างานเก'ดข/-นได�

เฉพื่าะเหต)การณ์, 1 และ 4 เท�าน-นแล�ว เราเร�ยกการจัดตารางน�-ว�าเป!น “แบบไม�ให�แทรกกลางคืน” (Nonpreemptive) นอกน-นถ#อเป!น แบบให�แทรกกลางคืน (Preemptive)

Page 7: Operating System

ตวส่�งต�อตวส่�งต�อ (Dispatcher)(Dispatcher)ตวส่�งต�อ (Dispatcher) เป!นโปรแกรม

ท��ย�ายการคืวบคื)มไปยงกระบวนการใหม� (ท��ถ�กเล#อกโดยตวจัดตารางระยะส่-น) โดยม�ข-นตอนดงน�-

เปล��ยนงาน (switching context)เปล��ยนไปเป!นช่�วงผ��ใช่� (user mode)ย�ายการคืวบคื)มไปท��บรรทดคื�าส่�งใน

โปรแกรมผ��ใช่� เพื่#�อ restart โปรแกรมน-น

Page 8: Operating System

เกณ์ฑ์,การจัดตาราง เกณ์ฑ์,การจัดตาราง (Scheduling (Scheduling Criteria)Criteria)ประส่'ทธิ'ผลการใช่�หน�วยประมวลผลกลาง (CPU

Utilization)) เราต�องพื่ยายามท�าให�หน�วยประมวลผลกลางถ�กใช่�งานตลอดเวลา

อตราปร'มาณ์งาน (Throughput) คื#อ จั�านวนกระบวนการท��ท�างานเส่ร(จัส่มบ�รณ์,ต�อหน�วยเวลา

วงรอบการท�างาน (Turnaround time) คื#อ เวลาท��กระบวนการหน/�ง ๆ ต�องเส่�ยไปส่�าหรบการท�างานท-งหมด

เวลารอคือย (Waiting time) คื#อ ระยะเวลาท��แต�ละกระบวนการจัะต�องรอคือยอย��ในแถวพื่ร�อม

เวลาตอบส่นอง (Response time) คื#อ ระยะเวลาต-งแต�ท��ผ��ใช่�ส่�งงานให�ระบบ จันถ/งเวลาท��ผลลพื่ธิ,แรกปรากฏแก�ผ��ใช่�

Page 9: Operating System

การจัดตารางการท�างานแบบมาก�อน การจัดตารางการท�างานแบบมาก�อน – – ได�ก�อนได�ก�อน (First–Come, First-Served (First–Come, First-Served Scheduling / FCFS)Scheduling / FCFS)

กระบวนการ (Process) เวลาท�างาน (Burst Time)

P1

P2

P3

2433

Page 10: Operating System

การจัดตารางการท�างานแบบมาก�อน การจัดตารางการท�างานแบบมาก�อน – – ได�ก�อนได�ก�อน (First–Come, First-Served Scheduling / (First–Come, First-Served Scheduling / FCFS)FCFS)ถ�ากระบวนการท��เข�าส่��ระบบม�ล�าดบดงน-นคื#อ P1, P2, P3 และใช่�แบบมาก�อน – ได�ก�อน เราส่ามารถแส่ดงผลโดย Gantt chart ได�ดงน�-

P1 P2 P3 0 24 27 30

จัะพื่บว�าเวลาในการรอคือยของกระบวนการ P1, P2, P3 ม�คื�าเท�ากบ 0 , 24 , 27 ม'ลล'ว'นาท�ตามล�าดบ ดงน-น เวลารอคือยโดยเฉล��ยท�ได�คื#อ (0 + 24 + 27) / 3 = 17 ม'ลล'ว'นาท�

Page 11: Operating System

การจัดตารางการท�างานแบบมาก�อน การจัดตารางการท�างานแบบมาก�อน – – ได�ก�อนได�ก�อน (First–Come, First-Served Scheduling / (First–Come, First-Served Scheduling / FCFS)FCFS)แต�ถ�ากระบวนการท��เข�าส่��ระบบม�ล�าดบใหม�

เป!น P2, P3 และ P1 เราจัะได�แผนภาพื่ Gantt chart ดงน�-

P2 P3 P10 3 6 30

ท�าให�เวลารอคือยโดยเฉล��ยท��ได�คื#อ (6 + 0 + 3) / 3 = 3 ม'ลล'ว'นาท�

Page 12: Operating System

การจัดตารางการท�างานแบบมาก�อน การจัดตารางการท�างานแบบมาก�อน – – ได�ก�อนได�ก�อน (First–Come, First-Served Scheduling / (First–Come, First-Served Scheduling / FCFS)FCFS)เวลารอคือยโดยเฉล��ยของกระบวนการท��

ท�างานภายใต�ว'ธิ�น�- มกจัะม�คื�าคื�อนข�างมาก และถ�าช่�วงเวลาการท�างานม�การเปล��ยนแปลงมาก ก(จัะท�าให�คื�าเวลารอคือยโดยเฉล��ยเปล��ยนแปลงมากตามไปด�วย

การท�างานของว'ธิ�การจัดตารางแบบมาก�อน – ได�ก�อนน�- เป!นการท�างานท��ไม�ส่ามารถแทรกกลางคืนได�

Page 13: Operating System

การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อนการจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อน

(Shortest–Job-First Scheduling / SJF)(Shortest–Job-First Scheduling / SJF) กระบวนการ (Process) เวลาท�างาน (Burst Time)

P1 6

P2

P3

P4

873

Page 14: Operating System

การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อนก�อน (Shortest–Job-First Scheduling / (Shortest–Job-First Scheduling / SJF)SJF)◦ P4 P1 P3

P2 0 3 9 16 24

เวลาการรอคือยของ P1 = 3 ms , P2 = 16 ms , P3 = 9 ms , P4 = 0 ms

ดงน-นการรอคือยเฉล��ย = (3+16+9+0) / 4 = 7 ms

ถ�าเราใช่� FCFS เวลาการรอคือยเฉล��ยจัะ = [(0)+(6)+(8 + 6) +(7 + 8 + 6)] / 4 = 10.25 ms

Page 15: Operating System

การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อนก�อน (Shortest–Job-First Scheduling / (Shortest–Job-First Scheduling / SJF)SJF)ว'ธิ� SJF น�-อาจัท�าเป!นแบบให�แทรกกลางคืน

(preemptive) หร#อ ห�ามแทรกกลางคืน (nonpreemptive) ก(ได� เม#�อกระบวนการใหม�เข�ามาในแถวคือย ขณ์ะท��กระบวนการหน/�งก�าลงท�างานอย�� ถ�ากระบวนการใหม�ม�เวลาท��จัะต�องท�างานส่-นกว�า เวลาท��เหล#อ ของกระบวนการท��ก�าลงท�างาน

ในกรณ์�ให�แทรกกลางคืนได� กระบวนการใหม�ส่ามารถแทรกเข�าไปท�างานแทน (กระบวนการท��ก�าลงท�างานอย��) ได�

แต�ถ�าห�ามแทรกกลางคืน กระบวนการใหม� จัะต�องรอจันกว�ากระบวนการเด'มเส่ร(จัเส่�ยก�อน

Page 16: Operating System

การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อนก�อน (Shortest–Job-First Scheduling / (Shortest–Job-First Scheduling / SJF)SJF)การจัดตารางการ

ท�างานแบบส่-นท��ส่)ดได�ก�อน โดยให�แทรกกลางคืนได� บางคืร-งเร�ยกว�า

แบบเวลาท��เหล#อส่-นท��ส่)ดก�อน (shortest-remaining-time-first)

ตวอย�างเช่�น

กระบวนการ

(process)

เวลามาถ/ง (Arrival Time)

เวลาท�างาน (Burst Time)

P1

P2

P3

P4

0123

8495

Page 17: Operating System

การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อนก�อน (Shortest–Job-First Scheduling / (Shortest–Job-First Scheduling / SJF)SJF)ถ�าใช่�ว'ธิ� SJF แบบให�แทรกกลางคืนได� ผลจัะเป!นดงตาราง

Gantt chart ดงน�-

0 1 5 10 17 26

P1 P2 P4 P1 P3

Page 18: Operating System

การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�การจัดตารางการท�างานแบบงานส่-นท��ส่)ดได�ก�อนก�อน (Shortest–Job-First Scheduling / (Shortest–Job-First Scheduling / SJF)SJF)กระบวนการ P1 เร'�มท��เวลา 0 เพื่ราะม�เพื่�ยง

กระบวนการเด�ยว P2 มาถ/งท��เวลา 1, P1 ยงเหล#อเวลาอ�ก 7 ม'ลล'ว'นาท� มากกว�าเวลาของ P2 (4 ม'ลล'ว'นาท�) ดงน-น P2 แทรกกลางคืน P1

เวลารอคือยเฉล��ย = ((10-1) + (1-1) +(17-2) + (5-3)) / 4 = 26 / 4 = 6.5 ม'ลล'ว'นาท�

ถ�าห�ามแทรกกลางคืน เวลารอคือยเฉล��ยจัะเป!น ((0) + (8-1) + (17-2) + (12-3)) / 4 = 7.75 ม'ลล'ว'นาท�

Page 19: Operating System

การจัดตารางการท�างานแบบศักด'7ส่�งได�ก�อนการจัดตารางการท�างานแบบศักด'7ส่�งได�ก�อน

(Priority Scheduling)(Priority Scheduling) เลขน�อยกว�าม�ศักด'7ส่�งกว�า กระบวนการ

(Process)เวลาท�างาน

(Burst Time)

ศักด'7 (Priority)

P1

P2

P3

P4

P5

101215

31342

Page 20: Operating System

การจัดตารางการท�างานแบบศักด'7ส่�งได�ก�อนการจัดตารางการท�างานแบบศักด'7ส่�งได�ก�อน

(Priority Scheduling)(Priority Scheduling)

P2 P5 P1 P3 P4

0 1 6 16 18 19เวลารอคือยเฉล��ย คื#อ [(6+0+16+18+1)]/5 = 8.2 ม'ลล'ว'นาท�

การจัดตารางแบบศักด'7ส่�งได�ก�อนส่ามารถแทรกกลางคืนหร#อห�ามแทรกกลางคืนก(ได� เม#�อกระบวนการมาถ/งแถวพื่ร�อม ศักด'7ของมนจัะถ�กน�ามาเปร�ยบเท�ยบกบศักด'7ของกระบวนการท��ก�าลงท�างานอย�� การจัดตารางศักด'7ส่�งได�ก�อนแบบส่ามารถแทรกกลางคืนจัะแทรกกลางคืน ถ�าศักด'7ของกระบวนการท��มาใหม�ส่�งกว�า แต�แบบห�ามแทรกกลางคืนจัะน�ากระบวนการใหม�ไปไว�ท��หวแถวของแถวพื่ร�อมแทน

Page 21: Operating System

การจัดตารางการท�างานแบบศักด'7ส่�งได�การจัดตารางการท�างานแบบศักด'7ส่�งได�ก�อนก�อน (Priority Scheduling)(Priority Scheduling)ป8ญหาท��ส่�าคืญของการจัดตารางแบบศักด'7

ส่�งได�ก�อนน�- คื#อ ป8ญหาการแช่�เย(น (Starvation) หร#อ การรอคือยช่�วน'รนดร, (indefinite blocking) ในระบบคือมพื่'วเตอร,ท��ม�ภาระงานหนก กระบวนการท��ม�ศักด'7ส่�ง อาจัเข�ามาในระบบเร#�อย ๆ จันเป!นเหต)ให� กระบวนการท��ม�ศักด'7ต��าไม�ม�โอกาส่ได�ใช่�หน�วยประมวลผลเลย

Page 22: Operating System

การจัดตารางการท�างานแบบศักด'7ส่�งได�การจัดตารางการท�างานแบบศักด'7ส่�งได�ก�อนก�อน (Priority Scheduling)(Priority Scheduling)การแก�ป8ญหาดงกล�าวข�างต�น อาจักระท�า

ได�โดยว'ธิ�การเพื่'�มศักด'7ท�ละน�อย ๆ ให�กบกระบวนการท��รออย��นานแล�วในระบบ ว'ธิ�การดงกล�าวเร�ยกว�า การเพื่'�มศักด'7 (Aging) เราอาจัเพื่'�มศักด'7กระบวนการท��รออย��ข/-นท�ละ 1 เม#�อเวลาผ�านไปท)ก ๆ 15 นาท� จันในท��ส่)ดกระบวนการท��รออย��นานแล�ว จัะม�ศักด'7ส่�งท��ส่)ดในระบบท�าให�ส่ามารถท�างานได�

Page 23: Operating System

การจัดตารางการท�างานแบบเว�ยนเท�ยนการจัดตารางการท�างานแบบเว�ยนเท�ยน (Round-Robin Scheduling / (Round-Robin Scheduling / RR)RR)

กระบวนการ (Process) เวลาท�างาน (Burst Time)

P1

P2

P3

2433

Page 24: Operating System

การจัดตารางการท�างานแบบเว�ยนเท�ยนการจัดตารางการท�างานแบบเว�ยนเท�ยน (Round-Robin Scheduling / (Round-Robin Scheduling / RR)RR) เราอาจแสดังตารางการ

ทำ�างานของกระบวนการทำ��ง 3 ไดั�ดั�งน�� P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30

ซึ่/�งเวลารอคือยโดยเฉล��ยท��ได�ม�คื�าเท�ากบ [(10-4)+4+7]/3 = 5.66ม'ลล'ว'นาท�

Page 25: Operating System

การประเม'นอลกอร'ท/ม การประเม'นอลกอร'ท/ม (Algorithm Evaluation)(Algorithm Evaluation)ข-นแรกจั�าเป!นต�องก�าหนดคื)ณ์ส่มบต'ก�อน

ว�าต�องการคื)ณ์ส่มบต'ใดม�คื�าเท�าใด เช่�นให�ได�ประส่'ทธิ'ผลการใช่�หน�วยประมวลผล

ส่�งส่)ดท��เวลาตอบส่นองนานท��ส่)ด ไม�เก'น 1 ว'นาท�

ให�ม�อตรางาน (throughput) เส่ร(จัส่�งท��ส่)ด โดยท�� วงรอบการท�างาน (turnaround time) (โดยเฉล��ย) เป!นส่ดส่�วนโดยตรงกบการประมวลผลจัร'ง

Page 26: Operating System

การก�าหนดโมเดลการก�าหนดโมเดล (Deterministic (Deterministic Modeling)Modeling)

กระบวนการ (Process) เวลาท�างาน (Burst Time)

P1

P2

P3

P4

P5

102937

12

Page 27: Operating System

ว'ธิ�มาก�อนว'ธิ�มาก�อน-- ได�ก�อน ได�ก�อน (FCFS)(FCFS)

0 10 39 42 49 61

P1 P2 P3 P4 P5

เวลารอคือยเฉล��ย = (0+10+39+42+49) / 5 = 28 ม'ลล'ว'นาท�

Page 28: Operating System

ว'ธิ�ส่-นท��ส่)ดได�ก�อน (SJF)

0 3 10 20 32 61

เวลารอคือยเฉล��ย = (10+32+0+3+20) / 5 = 13 ม'ลล'ว'นาท�

P3 P4 P1 P5 P2

Page 29: Operating System

ว'ธิ�เว�ยนเท�ยน (RR) (ส่�วนแบ�งเวลา = 10 ม'ลล'ว'นาท�)

0 10 20 23 30 40 50 52 61

เวลารอคือยเฉล��ย = (0+32+20+23+40) / 5 = 23 ม'ลล'ว'นาท�

P1 P2 P3 P4 P5 P2 P5 P2