chapter 3 : cpu schedule
DESCRIPTION
Chapter 3 : CPU Schedule. Computer Operating System ระบบปฏิบัติการคอมพิวเตอร์. วัตถุประสงค์. 2. 1. หลักความต้องการพื้นฐาน 2. ข้อพิจารณาในการจัดเวลา 3. อัลกอริธึมในการจัดเวลา ( Scheduling algorithm) 4. การจัดคิวแบบมัลติเพิลโปรเซสเซอร์ ( Multiple – Scheduling Processor) - PowerPoint PPT PresentationTRANSCRIPT
อ.คเชนทร์� ซ่�อนกลิ่��น
Chapter 3 : CPU ScheduleChapter 3 : CPU Schedule
Computer Operating System ร์ะบบปฏิ�บ�ติ�การ์คอมพิ�วเติอร์�
วั�ตถุ�ประสงค์�วั�ตถุ�ประสงค์�
1. หลิ่�กความติ�องการ์พิ��นฐาน 2 . ข้�อพิ�จาร์ณาในการ์จ�ดเวลิ่า 3 . อ�ลิ่กอร์�ธึ&มในการ์จ�ดเวลิ่า (Scheduling
algorithm)4. การ์จ�ดค�วแบบม�ลิ่ติ�เพิ�ลิ่โปร์เซ่สเซ่อร์� (Multiple – Scheduling Processor)5. การ์จ�ดเวลิ่าแบบเร์*ยลิ่ไทม� (Real – Time Scheduling)6. การ์เลิ่�อกอ�ลิ่กอร์�ธึ&มส-าหร์�บการ์จ�ดเวลิ่าซ่*พิ*ย.
2
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
เป�าหมาย - ใช�งานซ่*พิ*ย.ได�อย�างเติ0มปร์ะส�ทธึ�ภาพิส��งที่ �ต�องค์!าน"ง - ในร์ะบบโปร์เซ่สเซ่อร์�เด*ยวซ่*พิ*ย.จะท-างานได�คร์��งลิ่ะ 1งาน - ถ้�าม*หลิ่ายๆ งานจะติ�องเก�ดการ์ร์อ
ระบบโปรแกรมเดี ยวั - ไม�ซ่�บซ่�อน - ท-างานท*ลิ่ะโปร์แกร์มจนเสร์0จกร์ะบวนการ์ - ท-างานติ�วเองจนเสร์0จ หร์�อจนกร์ะท��งม*การ์ร์ออะไร์บางอย�าง เช�น I/O - การ์ร์อน*�ท-าให�ซ่*พิ*ย.เก�ดการ์ว�างงาน อย.�เฉย (idle)
3
ระบบหลัายโปรแกรม - เสม�อนก�บหลิ่ายโปร์แกร์มด-าเน�นไปพิร์�อมก�น - จะไม�ยอมให�ซ่*พิ*ย.เก�ดการ์ร์อ - โปร์เซ่สใดม*การ์ร์อ เช�น ซ่*พิ*ย.หย5ดการ์ท-างานในร์ะหว�างท*�คอยอ�นพิ5ติ/เอาติ�พิ5ติ จะม*การ์น-าออกไปจากซ่*พิ*ย. แลิ่ะน-าโปร์เซ่สใหม�เข้�าไปใช�งานซ่*พิ*ย.แทน
4
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
5
http://elearning.krukat.com/wp-content/uploads/2013/05/system.jpg
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
1. ช่(วังเวัลัาอ�นพื้�ต/เอาที่�พื้�ต แลัะช่(วังเวัลัาใช่�ซี พื้ ย+ (I/O and CPU Burst Cycle)การเอ,กซี ค์�วัโปรเซีส ความส-าค�ญข้องการ์จ�ดเวลิ่าข้องซ่*พิ*ย. ข้&�นอย.�ก�บค5ณลิ่�กษณะข้องโปร์เซ่ส การ์เอ0กซ่�ค�วติ�โปร์เซ่ส จะปร์ะกอบด�วย - เวลิ่าท*ใช�ซ่*พิ*ย. (CPU Burst Cycle) - เวลิ่าท*�ร์อ I/O (I/O Burst Cycle)ในข้ณะท*�ม*การ์เอ0กซ่�ค�วติ�โปร์เซ่ส จะม*การ์สลิ่�บการ์ท-างานร์ะหว�าง 2 ช�วงเวลิ่าน*�เท�าน��น จะไม�เก�ดพิร์�อมก�น
6
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
กระบวันการเอ,กซี�ค์�วัต�ม ลั�กษณะการที่!างานดี�งน �- เร์��มใช�ซ่*พิ*ย.- คอยอ�นพิ5ติ/เอาติ�พิ5ติสลิ่�บจนกว�าจะจบกร์ะบวนการ์เอ0กซ่�ค�วติ�
7
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
กระบวันการเอ,กซี�ค์�วัต�8
Load storeAdd storeRead from file
ร์ออ�นพิ5ติ/เอาติ�พิ5ติ
Load storeAdd storeRead from file
ร์ออ�นพิ5ติ/เอาติ�พิ5ติ
Load storeAdd storeRead from file
ร์ออ�นพิ5ติ/เอาติ�พิ5ติ
เวลิ่าซ่*พิ*ย.
เวลิ่าอ�นพิ5ติ/เอาติ�พิ5ติ
เวลิ่าซ่*พิ*ย.
เวลิ่าอ�นพิ5ติ/เอาติ�พิ5ติ
เวลิ่าซ่*พิ*ย.
เวลิ่าอ�นพิ5ติ/เอาติ�พิ5ติ
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
9
ขั้��นตอนการประมวัลัผลัขั้อง CPU • การ์เฟติช�(Fetch) เป9นกร์ะบวนการ์ท*�หน�วยควบค5ม (CU) ไปน-าค-าส��งท*�ติ�องการ์ใช�จากหน�วยความจ-ามาเพิ��อการ์ปร์ะมวลิ่ผลิ่มาเก0บไว�ท*� Register • การ์แปลิ่ความหมาย(Decode) เป9นกร์ะบวนการ์ถ้อดร์ห�สหร์�อแปลิ่ความหมายค-าส��งติ�างๆ เพิ��อส�งไปย�งหน�วยค-านวณแลิ่ะติร์ร์กะเพิ��อด-าเน�นการ์ติ�อไป
• การ์เอ0กซ่�ค�วติ�(Execute) เป9นกร์ะบวนปร์ะมวลิ่ผลิ่ค-าส��งโดยหน�วยค-านวณแลิ่ะติร์ร์กะ ซ่&�งการ์ปร์ะมวลิ่ผลิ่จะปร์ะมวลิ่ผลิ่ท*ลิ่ะค-าส��ง
• การ์จ�ดเก0บ(Store) เป9นกร์ะบวนการ์จ�ดเก0บผลิ่ลิ่�พิธึ�ท*�ได�จากการ์ปร์ะมวลิ่ผลิ่แลิ่ะจ�ดเก0บไว�ในหน�วยความจ-าหร์�อร์*จ�สเติอร์�
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
10
ขั้��นตอนการประมวัลัผลัขั้อง CPU
http://202.28.94.55/members/513020890-6/K2.htm
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
11
8 16 24 32 40
20
40
60
80
100
120
140
160
ช�วงเวลิ่า (ม�ลิ่ลิ่�ว�นาท*)
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
12
2 . ต�วัจั�ดีการเวัลัาซี พื้ ย+(CPU Scheduler)เลิ่�อกโปร์เซ่สท*�อย.�ในค�วเข้�ามาใช�งานซ่*พิ*ย.โปร์เซ่สท*�ถ้.กเลิ่�อกจะม*ค5ณสมบ�ติ�เหมาะสมท*�ส5ด แลิ่ะพิร์�อมท*�ส5ดว�ธึ*การ์เลิ่�อกอาจเป9น มาก�อนได�ก�อน (FIFO) แบบให�ความส-าค�ญ (priority) มาท*หลิ่�งได�ก�อน (FILO) แบบติ�นไม� (Tree) เป9นติ�นแติ�ลิ่ะโปร์เซ่สจะม*พิ��นท*�หน�วยความจ-าในการ์เก0บข้�อม.ลิ่ไว� เร์*ยกว�า บลิ่0อกควบค5มโปร์เซ่ส “ (PCB : Process Control Block)”
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
13
3 . การให�ส�ที่ธิ์�3การจั�ดีเวัลัา (Preemptive Scheduling)การ์ติ�ดส�นใจข้องซ่*พิ*ย.ในการ์เลิ่�อกเอ0กซ่*ค�วโปร์เซ่สใดๆ ข้&�นอย.�ก�บเม��อม*การ์เปลิ่*�ยนสถ้านะข้องโปร์เซ่สจากสถ้านะร์�น (run) เป9นสถ้านะคอย (wait) หร์�อสถ้านะ Block เช�น ในสภาวะท*�ม*การ์ร์อ I/Oเม��อม*การ์เปลิ่*�ยนสถ้านะข้องโปร์เซ่สจากสถ้านะร์�น (run) เป9นสถ้านะพิร์�อม (ready) เช�น เก�ดอ�นเทอร์�ร์�พิท� หมดเวลิ่าควอนติ�ม เม��อม*การ์เปลิ่*�ยนสถ้านะข้องโปร์เซ่สจากสถ้านะคอย (wait) หร์�อ สถ้านะ Block เป9นสถ้านะพิร์�อม เช�น เม��อได�ร์�บ I/O เป9นท*�เร์*ยบร์�อยแลิ่�วเม��อส��นส5ดโปร์แกร์ม
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
14
4 . DispatcherDispatcher เป9นโมด.ลิ่ท*�ท*�ท-าหน�าท*�ในการ์คร์อบคร์องซ่*พิ*ย.ข้องโปร์เซ่ส ซ่&�งปร์ะกอบด�วย - การ์ย�าย Context - การ์ย�าย User mode - การ์กร์ะโดดไปย�งติ-าแหน�งท*�เหมาะสมข้องโปร์แกร์ม เพิ��อจะเร์��มร์�นโปร์แกร์มน��นอ*กคร์��งDispatcher ควร์ม*การ์ท-างานท*�เร์0วท*�ส5ดเท�าท*�จะท-าได� เพิร์าะติ�องท-างานท5กคร์��งท*�ม*การ์ย�ายโปร์เซ่ส เวลิ่าท*�ถ้.กใช�ในกร์ะบวนการ์น*�จะเร์*ยกว�า “Dispatch Latency”
1. 1. หลั�กค์วัามต�องการพื้��นฐานหลั�กค์วัามต�องการพื้��นฐาน
2. 2. ขั้�อพื้�จัารณาในการจั�ดีเวัลัาขั้�อพื้�จัารณาในการจั�ดีเวัลัา15
หลั�กในการพื้�จัารณาอ�ลักอร�ธิ์"มการจั�ดีเวัลัาขั้องซี พื้ ย+อร์ร์ถ้ปร์ะโยชน�ข้องซ่*พิ*ย.(CPU utilization) ค�อค-าน&งถ้&งการ์ใช�งานซ่*พิ*ย. จร์�งๆ แลิ่�วควร์อย.�ในร์ะหว�าง - 40 90
%ทร์.พิ5ติ(throughput) เป9นการ์ว�ดจ-านวนงานท*�ท-าเสร์0จติ�อหน�วยเวลิ่าเวลิ่าท��งหมด(turnaround time) เป9นเวลิ่าท*�ค�ดจากเร์��มติ�นจนกร์ะท��งจบงานน��นๆเวลิ่าคอย(wait) เป9นเวลิ่าท*�คอยอย.�ในค�วเท�าน��นเวลิ่าติอบสนอง(response time) เป9นเวลิ่าท*�ม*การ์ร์�องข้อการ์กร์ะท-าใดๆ จนได�ร์�บการ์ติอบกลิ่�บมา
จากการ์พิ�จาร์ณาในการ์จ�ดเวลิ่าข้องซ่*พิ*ย. ส��งท*�ผ.�ออกแบบร์ะบบการ์จ�ดเวลิ่าติ�องการ์ก0ค�อ การ์ท-าให�เวลิ่าการ์ท-างานส��นท*�ส5ดน��นเอง
16
การจั�ดีเวัลัาแบบมาก(อนไดี�ก(อน (First-Come First-Served)
โปร์เซ่สใดท*�ร์ �องข้อการ์ใช�งานซ่*พิ*ย.ก�อน ก0จะได�ร์�บจ�ดสร์ร์ให�คร์อบคร์องเวลิ่าซ่*พิ*ย.ก�อน
ขั้�อดี จ�ดการ์ง�ายขั้�อเส ย ค�าเฉลิ่*�ยข้องการ์คอยในค�วค�อนข้�างส.ง
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
โปรเซีส ระเวัลัาค์วัามต�องการซี พื้ ย+ (วั�นาที่ )
ABCD
245103
A B C D0 24 29 39 42
17
การจั�ดีเวัลัาแบบมาก(อนไดี�ก(อน (First-Come First-Served)ค�าเฉลิ่*�ยข้องการ์คอยข้องสถ้านการ์ณ�น*� หาได�จาก
0 24 29 39 4( + + + ) / = 23 ว�นาท*
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
โปรเซีส ระเวัลัาค์วัามต�องการซี พื้ ย+
(วั�นาที่ )ABCD
245
103
A B C D0 24 29 39 42
18
การจั�ดีเวัลัาแบบงานส��นที่!าก(อน (SJF : Short Job First Scheduling)
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
ค์(าเฉลั �ยในการรอ ขั้อง SJF = 0 3 9 16 4( + + + ) / = 7 msค์(าเฉลั �ยในการรอ ขั้อง FIFO = (0 + 6 +14 +21) / 4 = 10.25 ms
โปรเซีส ระเวัลัาค์วัามต�องการซี พื้ ย+ (วั�นาที่ )
ABCD
6873
D A C B0 3 9 16 24
A B C D0 6 14 21 24
19
- การที่!า FCFS ติ�วอย�างท*�
จัากโจัที่ย� จงหา 1. เวลิ่าท��งหมดท*�ใช� 2 . ค�าเฉลิ่*�ยในการ์ร์อ
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
เวัลัาใช่� CPU เวัลัาเก�ดี
20
ติ�วอย�างท*�
อ�ลิ่กอร์�ท&ม FCFSว�ธึ*ท-า
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
เวัลัาใช่� CPU เวัลัาเก�ดี
ส+ตร ค�าเฉลิ่*�ยในการ์ร์อ = (เวลิ่าเร์��ม เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (เวลิ่าส��นส5ด เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส
ค�าเฉลิ่*�ยในการ์ร์อ = (4+0+9+10)/4 = 5.75 ms
ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (11+5+13+18)/4 = 11.75 ms
P1 P2 P3 P4
Burst Time
21
การจั�ดีเวัลัาแบบงานส��นที่!าก(อน (SJF : Short Job First Scheduling)
จากติ�วอย�างจะเห0นว�า SJF จะให�ค�าเฉลิ่*�ยข้องการ์คอยท*�ติ-�าท*�ส5ด เพิร์าะการ์เลิ่��อนโปร์เซ่สท*�ม*เวลิ่าซ่*พิ*ย.น�อยส5ดมาไว�หน�าค�ว จะม*การ์ลิ่ดเวลิ่าการ์คอยในโปร์เซ่สท*�ส�นมากกว�าการ์เพิ��มเวลิ่าข้องโปร์เซ่สท*�ยาวเสมอ
- การ์จ�ดเวลิ่าแบบ SJF น��นเหมาะส-าหร์�บร์ะบบแบ0ติซ่� หร์�อการ์จ�ดเวลิ่าช�วงยาว (Long-term Scheduling)
- การ์จ�ดเวลิ่าแบบ SJF ไม�เหมาะก�บการ์ท-างานแบบจ�ดเวลิ่าในช�วงส��น (Short-term Scheduling ) เพิร์าะไม�ร์. �ว�าความยาวข้องคาบเวลิ่าการ์ใช�ซ่*พิ*ย.ช�วงติ�อไปข้องโปร์เซ่สเป9นเท�าไหร์�
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
22
การจั�ดีเวัลัาแบบงานส��นที่!าก(อน (SJF : Short Job First Scheduling)
การ์ท-างานแบบอ�ลิ่กอร์�ท&ม SJF สามาร์ถ้เป9นแบบท��งให�ส�ทธึ�;ก�อน หร์�อไม�ให�ส�ทธึ�;ก�อนก0ได� การ์ติ�ดส�นใจว�าจะให�ส�ทธึ�;ก�อนหร์�อไม�ให�ส�ทธึ�;จะเก�ดข้&�นติอนท*�ม*โปร์เซ่สเข้�ามาในค�วในข้ณะท*�ย�งม*โปร์เซ่สอ��นใช�งานซ่*พิ*ย.อย.�
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
Queued Processes
Scheduler Dispatcher CPU
23
การจั�ดีเวัลัาแบบงานส��นที่!าก(อน (SJF : Short Job First Scheduling)
การ์ให�ส�ทธึ�;โปร์เซ่สเข้�ามาใช�งานในซ่*พิ*ย. ม* 2 กร์ณ* 1. อ�ลักอร�ที่"มที่ �เป7นแบบให�ส�ที่ธิ์�3ก(อนจัะที่!าการหย�ดีงานที่ �
ก!าลั�งใช่�ซี พื้ ย+อย+( 2. อ�ลักอร�ที่"มแบบไม(ให�ส�ที่ธิ์�3 อ�ลักอร�ที่"มก,จัะปลั(อยให�งาน
ที่ �ที่!าอย+(น��นใช่�ซี พื้ ย+จันเสร,จัส��นเวัลัาซี พื้ ย+ขั้องช่(วังเวัลัน��นการ์ท-า SJF แบบให�ส�ทธึ�;ก�อน อาจเร์*ยกว�า “Shortest-
Remaining-Time-First”
*** วั�ธิ์ การ เลิ่�อกโปร์เซ่สท*�ท-างานส��นท*�ส5ดก�อน แติ�ถ้�าม*หลิ่ายโปร์เซ่สท*�ใช�เวลิ่า
เท�าก�นให�ติ�ดส�นโดยใช�ว�ธึ* FCFS
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
24
- การที่!า SJF แบบให�แที่รกกลัางค์�น “Shortest-Remaining-Time-First” with Preemptiveติ�วอย�างท*�
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
A B D A C0 1 5 10 17 26
ค์(าเฉลั �ยในการรอ ขั้อง SJF = (9 + 0 + 15 + 2) / 4 = 6.5 ms
ส+ตร ค์(าเฉลั �ยในการรอ = เวัลัาเร��มงาน - เวัลัาเก�ดี
Arrival Time(เวัลัาเก�ดี)
8495
ABCD
Burst Time(เวัลัาใช่� CPU)
Process
0123
1.ให� A เข้�าร์ะบบก�อนท*� Time=0 ด�งน��น Aจะได�ใช� cpu ก�อน
2 . ติ�อมา time= 1 B เข้�าส.� ready queue เน��องจาก B ม* cpu burst time=4แลิ่ะน�อยกว�าเวลิ่าท*�เหลิ่�อข้อง A ด�งน��น B จ&งเข้�าใช�งานแทน A แลิ่ะ A ติ�องได�ร์�บการ์จ�ดสร์ร์เข้�าส.� cpu ใหม�ในร์อบติ�อไป
25
- การที่!า SJF แบบให�แที่รกกลัางค์�น “Shortest-Remaining-Time-First”
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
ค์(าเฉลั �ยในการรอ ขั้อง SJF = (9 + 0 + 15 + 2) / 4 = 6.5 msส+ตร ค์(าเฉลั �ยในการรอ = เวัลัาเร��มงาน - เวัลัาเก�ดี
26
- การที่!า SJF แบบให�แที่รกกลัางค์�น “Shortest-Remaining-Time-First” with Preemptiveติ�วอย�างท*�
จัากโจัที่ย� จงหา 1. เวลิ่าท��งหมดท*�ใช� 2 . ค�าเฉลิ่*�ยในการ์ร์อ
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
เวัลัาใช่� CPU เวัลัาเก�ดี
27
ติ�วอย�างท*�
อ�ลิ่กอร์�ท&ม SJF แบบ Preemptive
ว�ธึ*ท-า
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
เวัลัาใช่� CPU เวัลัาเก�ดี
ส+ตร ค�าเฉลิ่*�ยในการ์ร์อ = (เวลิ่าเร์��ม เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (เวลิ่าส��นส5ด เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส
ค�าเฉลิ่*�ยในการ์ร์อ = (8+0+2+10)/4 = 5 ms
ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (15 +5 +6 +1 8 )/4 = 11 ms
P1 P2 P3 P4
แบบให�แที่รกกลัางค์�น
Burst Time
28
- การที่!า SJF แบบไม(ให�แที่รกกลัางค์�น “Shortest-Remaining-Time-First” with Non-Preemptiveติ�วอย�างท*�
จัากโจัที่ย� จงหา 1. เวลิ่าท��งหมดท*�ใช� 2 . ค�าเฉลิ่*�ยในการ์ร์อ
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
เวัลัาใช่� CPU เวัลัาเก�ดี
29
ติ�วอย�างท*�
อ�ลิ่กอร์�ท&ม SJF Non-Preemptive
ว�ธึ*ท-า
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
เวัลัาใช่� CPU เวัลัาเก�ดี
ส+ตร ค�าเฉลิ่*�ยในการ์ร์อ = (เวลิ่าเร์��ม เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (เวลิ่าส��นส5ด เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส
ค�าเฉลิ่*�ยในการ์ร์อ = (8+0+2+10)/4 = 5 ms
ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (11+5+13+18)/4 = 11.75 ms
P1 P2 P3 P4
แบบไม(ให�แที่รกกลัางค์�น
Job ส��นที่!าก(อน
Burst Time
30
การจั�ดีเวัลัาตามลั!าดี�บค์วัามส!าค์�ญ (Priority Scheduling)
วั�ธิ์ การก-าหนดลิ่-าด�บความส-าค�ญให�ก�บโปร์เซ่สแลิ่�วเลิ่�อกโปร์เซ่สท*�ม*
ลิ่-าด�บความส-าค�ญส.งท*�ส5ดแติ�ถ้�าม*หลิ่ายโปร์เซ่สท*�ม*ลิ่-าด�บความส-าค�ญเท�าก�นให�ติ�ดส�น
โดยใช�ว�ธึ* FCFS• แทร์กกลิ่างค�นได� = โปร์เซ่สใหม�ท*�ม*ศั�กด�;ส.งกว�าสามาร์ถ้
แทร์กเข้�าไปท-างานแทนโปร์เซ่สท*�ม*ลิ่-าด�บความส-าค�ญติ-�ากว�าท*�ก-าลิ่�ง
ท-างานอย.�ได� • ห�ามแทร์กกลิ่างค�น = โปร์เซ่สใหม�ท*�ม*ลิ่-าด�บความส-าค�ญส.ง
จะถ้.กน-าไปติ�อท*�ห�วแถ้ว
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
31
การจั�ดีเวัลัาตามลั!าดี�บค์วัามส!าค์�ญ (Priority Scheduling)
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
Process
Burst Time
Priority
ABCDE
101215
31342
B E C DA
0 1 6 16 18 19
ค�าเฉลิ่*�ยในการ์ร์อ = (6+0+16+18+1)/5 = 8 ms
A B C D E
32
การจั�ดีเวัลัาตามลั!าดี�บค์วัามส!าค์�ญ (Priority Scheduling)
3. 3. อ�ลักอร�ธิ์"มในการจั�ดีเวัลัาอ�ลักอร�ธิ์"มในการจั�ดีเวัลัา
ส+ตร ค�าเฉลิ่*�ยในการ์ร์อ = (เวลิ่าเร์��ม เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส ค�าเฉลิ่*�ยเวลิ่าท*�ใช� = (เวลิ่าส��นส5ด เวลิ่าเก�ด– ) / จ-านวนโปร์เซ่ส
ค�าเฉลิ่*�ยในการ์ร์อ = (16 + 0 + 2+ 3 )/4 = 5.25 ms
P1 P2 P3 P4
ว�ธึ*การ์ 1. ด. Priority ส-าค�ญก�อนท-าก�อน
จนจบกร์ะบวนการ์ 2. พิ�จาร์ณาร์�วมก�บเวลิ่าเก�ด แลิ่�ว
ค�อยด. Priority
แบบฝึ:กห�ดีแบบฝึ:กห�ดี33
จากโจทย� กร์ณ*ก-าหนด ค�า Arrival Time, Process Arrival and Time Burst Time จงจงหา ค�าเฉลิ่*�ยเวลิ่าในการ์คอยโดยใช� อ�ลิ่กอร์�ท&มแบบ Non Preemptive SJF แลิ่ะ Preemptive จากติาร์างด�งติ�อไปน*�Proce
ssBurst Time
Arrival Time
P1P2P3P4
7414
0245
แบบฝึ:กห�ดีแบบฝึ:กห�ดี34
จากโจทย� กร์ณ*ก-าหนด ค�า Arrival Time, Process Arrival and Time Burst Time จงหา ค�าเฉลิ่*�ยเวลิ่าในการ์คอยโดยใช� อ�ลิ่กอร์�ท&มแบบ Non Preemptive SJF แลิ่ะ Preemptive จากติาร์างด�งติ�อไปน*�Proce
ssBurst Time
Arrival Time
P1P2P3P4
8495
01
23