43
Chapter 3 : CPU Management Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology, Suan Dusit University Email: [email protected] URL: http://dusithost.dusit.ac.th/~juthawut_cha/ home.htm

Chapter 3 : CPU Management

  • Upload
    tarika

  • View
    51

  • Download
    3

Embed Size (px)

DESCRIPTION

Chapter 3 : CPU Management. Juthawut Chantharamalee Curriculum of Computer Science Faculty of Science and Technology , Suan Dusit University Email : jchantharamalee @ yahoo.com URL: http:// dusithost.dusit.ac.th /~ juthawut_cha /home.htm. - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 3 :  CPU Management

Chapter 3 : CPU Management

Juthawut Chantharamalee Curriculum of Computer ScienceFaculty of Science and Technology, Suan Dusit UniversityEmail: [email protected]: http://dusithost.dusit.ac.th/~juthawut_cha/home.htm

Page 2: Chapter 3 :  CPU Management

2

การจดการหนวยประมวลผลกลาง (CPU Management)   ในระบบคอมพวเตอรทมการทำางานหลายงานพรอมๆ กน (Multi-tasking) ระบบปฏบตการ (Operating System) จะทำาการแบงเวลาใหกบงานหรอกระบวนการ (Process) แตละงาน สามารถประมวลผลไดอยางรวดเรวเสมอนวาทำางานไดหลายๆ งานไดในเวลาเดยวกน ดงนนการจดการกบหนวยประมวลผลกลาง (CPU Management) จงเกยวของกบการจดกระบวนการ (Process) การจดตารางการทำางาน (CPU Scheduling) การประยกตใชอลกอรทมเขาไปชวยในการจดตารางการทำางานในระบบทม CPU หลายตว (Multiprocessor) ระบบทนท (Real Time) เพอใชการจดการ Processor เกดประสทธภาพสงสด

Suan Dusit Rajabhat University (Computer Science)

Page 3: Chapter 3 :  CPU Management

3

การจดตารางการทำางานของหนวยประมวลผลกลาง (CPU Scheduling)การจดตารางการทำางานของหนวยประมวลผลกลาง (CPU Scheduling) เปนหนาทพนฐานของระบบปฏบตการ เกอบจะทกระบบคอมพวเตอรกอนกระบวนการ (Process) จะมการใชงานทรพยากรตางๆ CPU จะเปนสวนทใชจดตารางการใชทรพยากร

Suan Dusit Rajabhat University (Computer Science)

Page 4: Chapter 3 :  CPU Management

4

ระดบการจดตารางการทำางาน (Level Scheduling) การจดตารางการในระบบปฏบตการ คอการเลอกกระบวนการ (Process) หรอจดสรรทรพยากรทมจำากดใหกบกระบวนการแบงออกเปน 2 แบบ คอ 1.การจดตารางการทำางานในระดบบน (High-Level Scheduling) เปนการจดลำาดบงานใหกบกระบวนการ (Process) ทจะเขาไปใชงานทรพยากร CPU แบบกลมซงมจำานวนกระบวนการ (Process) มากเกนกวาระบบจะรบไดในชวงเวลาเดยวกน ดงนน ระบบปฏบตการจะมหนาทจดลำาดบความเหมาะสมใหแตละกระบวนการ (Process) เพอใหเกดประโยชนสงสดโดยคำานงถงปจจยตางๆ ไดแก ลำาดบความสำาคญ (Priority) และภาวะตดตาย (Deadlock) เปนตน

Suan Dusit Rajabhat University (Computer Science)

Page 5: Chapter 3 :  CPU Management

5

ระดบการจดตารางการทำางาน (Level Scheduling) 2.การจดตารางการทำางานในระดบลาง (Low-Level Scheduling) เปนการเลอกและสงกระบวนการ (Process) ทจะเขาไปใชงานทรพยากร CPU โดยเลอกกระบวนการทมสถานะพรอม (Ready State) จากควโดยจะถกสงโดยตวจดการเวลา (Dispatcher)

Suan Dusit Rajabhat University (Computer Science)

Page 6: Chapter 3 :  CPU Management

6

ระยะเวลาใชงานและรบสงของมลของ CPU (CPU-I/O Burst Cycle) ความสำาคญของการจดเวลาของ CPU นน ขนอยกบคณลกษณะของกระบวนการ (Process) ซงโดยทวๆ ไป การประมวลผลกระบวนการ (Process Execute) จะประกอบดวยรอบเวลา (Cycle) ทใชงาน CPU และเวลาทตองคอยใชงานอปกรณ I/O ในขณะทมการประมวลผลกระบวนการ (Process Execute) จะมการสลบการทำางานระหวาง 2 ชวงเวลานเทานน คอ ระยะเวลาใชงาน (CPU Burst) และระยะเวลาในการรบ - สงขอมล (I/O Burst) แสดงไดดงรปท 3.1 ซงจะไมเกดขนพรอมกน

Suan Dusit Rajabhat University (Computer Science)

Page 7: Chapter 3 :  CPU Management

7

รปท 3.1 แสดงการสลบการทำางานระหวางระยะเวลาใชงานและระยะเวลาในการรบ สงขอมล – (Alternating

sequence of CPU and I/O bursts)Suan Dusit Rajabhat University (Computer Science)

Alternating sequence of CPU and I/O bursts

Page 8: Chapter 3 :  CPU Management

8

ระยะเวลาใชงานและรบสงของมลของ CPU (CPU-I/O Burst Cycle) การประมวลผล (Execute) มกจะเรมจากการใชงาน CPU แลวกจะตามดวยการคอยการใชงานอปกรณ I/O หลงจากใชงานอปกรณ I/O เสรจ กจะกลบมาใชงาน CPU ตอ สลบกนไปเรอยๆ จนกวาจะเสรจสนการประมวลผล ซงการสนสดการเสรจสนการประมวลผลนมกจะใชเวลา CPU (CPU Burst) มากกวาการรอคอยในระยะเวลาในการรบ - สงขอมล (I/O Burst) แสดงไดดงรปท 3.2

Suan Dusit Rajabhat University (Computer Science)

Page 9: Chapter 3 :  CPU Management

9

รปท 3.2 แสดงฮสโตแกรมของระยะเวลาการใชงาน CPU (Histogram of CPU-burst times)

Suan Dusit Rajabhat University (Computer Science)

Histogram of CPU-burst times

Page 10: Chapter 3 :  CPU Management

10

ตวจดตารางการทำางานของ CPU (CPU Scheduler)   เมอใดกตามท CPU วางระบบปฏบตการ (Operating System) จะตองเขามาดำาเนนการนำาเอากระบวนการ (Process) ใดกระบวนการหนงทคอยอยในควเขามาใชงาน CPU โดยการเลอกกระบวนการ (Process) เพอเขามาใชงาน CPU น จะถกจดการดวยสวนทเรยกวา ตวจดการเวลาชวงสน (Short-Term Scheduler) หรอ ตวจดการเวลา CPU ตวจดการเวลานจะเลอกกระบวนการ (Process) ทอยในหนวยความจำาทพรอมในการประมวลผล (Execute) ทสด เพอใหครอบครองเวลาการใชงาน CPU และทรพยากรทเกยวของกบกระบวนการนน (Process) นนภายใตบลอกควบคมกระบวนการ (Process Control Block : PCBs) ซงมอลกอรทมในการจดการควทมความพรอม (Ready Queue) ใหเลอกใชหลากหลาย เชน ควแบบมากอนไดรบบรการกอน (FIFO Queue) ควแบบเรยงตามลำาดบอาวโส (A Priority Queue) ตนไม (Tree) หรอลงคลสก แบบไมเรยงลำาดบ (Unordered Linked List) เปนตน

Suan Dusit Rajabhat University (Computer Science)

Page 11: Chapter 3 :  CPU Management

11

การใหสทธการจดเวลา (Preemptive Scheduling)   การตดสนใจของ CPU ในการเลอกวากระบวนการใด (Process) จะถกประมวลผล (Execute) ขนอยกบสถานการณดงตอไปนน1. เมอมการกระบวนการ (Process) เปลยนสถานะของจากสถานะทประมวลผลอย (Running State) ไปเปนสถานะคอย (Waiting State) เชน การรองขอใชงานอปกรณ I/O เปนตน2. เมอมการเปลยนสถานะของ process จากสถานะรน เปนสถานะพรอม3. เมอมการเปลยนสถานะของ process จากสถานะคอย เปนสถานะพรอม4. เมอ process เสรจสนไปแลว

Suan Dusit Rajabhat University (Computer Science) 11

Page 12: Chapter 3 :  CPU Management

12

ตวจดการเวลา (Dispatcher)   เปนคอมโพเนนต (Component) ทสำาคญอกตวหนงทเกยวของกบฟงกชนในการจดเวลาในหนวยประมวลผลกลาง (CPU) ซงเปนโมดลททำาหนาทควบคมการครอบครองเวลาใน CPU ของกระบวนการ (Process) โดยฟงกชนนจะประกอบดวย 1.การยายไปในสวนของอธบายขยายความ (Switching Context)2.การยายไปในสวนของผใช (User Mode)

3.การกระโดด (Jumping) ไปยงตำาแหนงทเหมาะสมของโปรแกรม เพอทจะเรมรนโปรแกรมใหมอกครง

นอกจากนตวจดการเวลา (Dispatcher) ควรมการทำางานทเรวทสดเทาทจะทำาได เพราะวาตวจดการเวลาจะตองทำางานทกครงทมการยาย Process ซงเวลาทถกใชไปกบการทำาการแบบนเรยกวา Dispatch Latency

Suan Dusit Rajabhat University (Computer Science)

Page 13: Chapter 3 :  CPU Management

13

ตวจดตารางการทำางานของ CPU (CPU Scheduler)   เมอใดกตามท CPU วางระบบปฏบตการ (Operating System) จะตองเขามาดำาเนนการนำาเอากระบวนการ (Process) ใดกระบวนการหนงทคอยอยในควเขามาใชงาน CPU โดยการเลอกกระบวนการ (Process) เพอเขามาใชงาน CPU น จะถกจดการดวยสวนทเรยกวา ตวจดการเวลาชวงสน (Short-Term Scheduler) หรอ ตวจดการเวลา CPU ตวจดการเวลานจะเลอกกระบวนการ (Process) ทอยในหนวยความจำาทพรอมในการประมวลผล (Execute) ทสด เพอใหครอบครองเวลาการใชงาน CPU และทรพยากรทเกยวของกบกระบวนการนน (Process) นนภายใตบลอกควบคมกระบวนการ (Process Control Block : PCBs) ซงมอลกอรทมในการจดการควทมความพรอม (Ready Queue) ใหเลอกใชหลากหลาย เชน ควแบบมากอนไดรบบรการกอน (FIFO Queue) ควแบบเรยงตามลำาดบอาวโส (A Priority Queue) ตนไม (Tree) หรอลงคลสก แบบไมเรยงลำาดบ (Unordered Linked List) เปนตน

Suan Dusit Rajabhat University (Computer Science)

Page 14: Chapter 3 :  CPU Management

14

เกณฑในการจดตารางการทำางาน (Scheduling Criteria)   ใชในการเปรยบเทยบความแตกตางของอลกอรทมทใชสำาหรบกระบวนการ (Process) ในการเขามาใชงาน CPU หรอเปรยบเทยบวธการจดตารางการทำางาน CPU วาวธใดเหมาะสมทสด ดงน 1. การใช CPU ใหเกดประโยชน (CPU Utilization) สงสด (0-100%) เชน 40 % สำาหรบการโหลดเบาๆ (Lightly Load) และ ไมควรเกน 90 % สำาหรบการโหลดหนก (Hardily Load)2. ปรมาณงาน (Throughput) ขณะทม CPU การประมวลมจำานวนกระบวนการ (Process) ททำางานเสรจสมบรณภายในหนงหนวยเวลา (Per Time Unit) เทาใด

Suan Dusit Rajabhat University (Computer Science)

Page 15: Chapter 3 :  CPU Management

15

เกณฑในการจดตารางการทำางาน (Scheduling Criteria) 3. การวนรอบการทำางาน (Turnaround Time) คอ ระยะเวลาท Process เรมเขาไปประมวลผลจนกระทงทำางานเสรจสมบรณ หรออาจจะเปนเวลาท Process รอเพอทจะเขาไปใชงาน CPU รออยในแถวคอยเพอเปลยนสถานะเปนพรอม (Ready) ในการประมวลผล (Execute) บน CPU หรอรอเพอใชงานอปกรณ I/O เปนตน 4. เวลาทใชคอย (Waiting Time) รออยในแถวคอยเพอเปลยนสถานะเปนพรอม (Ready)

5. เวลาในการตอบสนอง (Respond Time) ระยะเวลาทกระบวนการ (Process) ใชในการสนองตอคำาสงจากผใชทรองขอ (Request) จนกระทงไดผลลพธสงกลบมายงผใช โดยทเวลาในการตอบสนองมกจะขนอยกบความเรว (Speed) ของอปกรณแสดงผล (Output Device)

Suan Dusit Rajabhat University (Computer Science)

Page 16: Chapter 3 :  CPU Management

16

3.2 อลกอรทมสำาหรบการจดตารางการทำางาน (Scheduling Algorithms)หนาทของตวจดควคอ คดเลอกโปรเซสซงรออยในสถานะพรอมทเหมาะสมทสดใหเขาไปอยในสถานะรน (ไดครอบครองซพย) โดยแทจรงแลวการสงโปรเซสทถกเลอกแลวใหเขาไปอยในสถานะรน เปนหนาทของโปรเซสของระบบปฏบตการ (Operating System) ทชอตวสง (dispatcher) ใน แงการทำางานแลวตวจดควจะเปนผคดเลอกโปรเซสและเรยกใหตวสงสงโปรเซสทถกเลอกแลวเขาไปในสถานะรนเปนความรบผดชอบของตวจดคว

Suan Dusit Rajabhat University (Computer Science)

Page 17: Chapter 3 :  CPU Management

17

1. การจดเวลาแบบมากอนไดกอน (FCFS : First-come First-served Scheduling) การจดควแบบ FCFS (first-come-first-served) วธการคดเลอกแบบ FCFS น เปนวธทงายทสด คอ โปรเซสไหนเขามารอในควกอนจะไดครอบครองซพยกอน คอ "มากอนไดกอน" โปรเซสทไดครอบครองซพยจะทำางานไปจนเสรจ ไมมระยะเวลาควอนตมซงจำากดเวลาการครอบครองซพย แตถาโปรเซสมการเรยกใชงานอปกรณ I/O หรอรอเหตการณบางอยาง โปรเซสนนตองปลดปลอยซพย และออกจากสถานะรนไปอยในสถานะตดขด เมอใดทงานเสรจสนลงหรอเกดเหตการณทกำาลงรออย โปรเซสนนจงคอยกลบเขาไปอยตอทายควของสถานะพรอมใหมอกครงSuan Dusit Rajabhat University (Computer Science)

Page 18: Chapter 3 :  CPU Management

18

1. การจดเวลาแบบมากอนไดกอน (FCFS : First-come First-served Scheduling)

Suan Dusit Rajabhat University (Computer Science)

Page 19: Chapter 3 :  CPU Management

19

2. การจดเวลาแบบงานสนทำากอน (SJF: Short-Job-First

Scheduling) การจดควแบบ SJN (shortest job next) การ คดเลอกโปรเซสดวยวธน จะคดเลอกเอาโปรเซสทตองการเวลาในการทำางานนอยทสด ทำาใหโปรเซสทตองการเวลาในการทำางานนอยจบออกไปไดเรวขน จำานวนโปรเซสในระบบทรออยในควมกจะมจำานวนลดลง และทำาใหเวลาโดยเฉลยในการทำางาน 1 งานเสรจหรอเวลาครบงาน (turnaround time) นอยลงแตการจดควแบบนเปนผลเสยตอโปรเซสทตองการเวลาในการทำางานนาน

Suan Dusit Rajabhat University (Computer Science)

Page 20: Chapter 3 :  CPU Management

20

2. การจดเวลาแบบงานสนทำากอน (SJF: Short-Job-First

Scheduling)

Suan Dusit Rajabhat University (Computer Science)

Page 21: Chapter 3 :  CPU Management

21

3. การจดเวลาตามลำาดบความสำาคญ (Priority Scheduling) การจดควแบบลำาดบความสำาคญ (priority queue) มลกษณะแตกตางกบควธรรมดา ภายในควจะมการจดเรยงลำาดบของโปรเซสตาง ๆ ตามลำาดบความสำาคญของโปรเซสนน โปรเซสทอยตนควจะมลำาดบความสำาคญมากทสด และลดลงเรอย ๆ โปรเซสทอยทายควคอโปรเซสทมลำาดบความสำาคญตำาสด การคดเลอกโปรเซสจะเอาโปรเซสทอยตนคว (มลำาดบความสำาคญสงสด) เขาไปครอบครองซพยกอน ดงนนถงแมวาโปรเซสทเขาควทหลงแตมลำาดบความสำาคญสงกวากอาจได เขาไปครอบครองซพยกอน เชน โปรเซส P5 เขาควเปนโปรเซสหลงสด แตจะไดครอบครองซพยกอนโปรเซส P3 และ P4 เพราะมความสำาคญสงกวา แตถากรณทโปรเซสมลำาดบความสำาคญเทากนจะใชวธมากอนไดกอนในการชวยพจารณา

Suan Dusit Rajabhat University (Computer Science)

Page 22: Chapter 3 :  CPU Management

22

3. การจดเวลาตามลำาดบความสำาคญ (Priority Scheduling)

Suan Dusit Rajabhat University (Computer Science)

Page 23: Chapter 3 :  CPU Management

23

4. การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) การจดควแบบ RR (round-robin) การจดควแบบ RR อาจเรยกวาเปนการจดควแบบมการวนรอบ ลกษณะการคดเลอก โปรเซสในควจะเปนแบบ FCFS คอ "มากอนไดกอน" แตตางกนนดหนอยตรงทการครอบครองซพยของโปรเซสในสถานะรนจะถกจำากด เวลาไวดวยระยะเวลาควอนตม ทำาใหโปรเซสทตองการเวลาในการทำางานนานจะตองเปลยนสถานะหมนระหวางสถานะ พรอมและสถานะรน การจดควแบบ RR สามารถ แกปญหาการคอยนานของโปรเซสทตองการเวลาทำางานนอย ๆ

Suan Dusit Rajabhat University (Computer Science)

Page 24: Chapter 3 :  CPU Management

24

4. การจดเวลาแบบวนรอบ (RR : Round-Robin

Scheduling) ถาระบบกำาหนดเวลาควอนตมเปน 4 มลลวนาท โปรเซส P1 ตองมการวนรอบเปลยนสถานะระหวางสถานะรนและสถานะพรอม 6 ครง โปรเซส P2 1 ครงโปรเซส P3 1 ครง เมอโปรเซส P1 เขาไปอยในสถานะรนครงแรกและกลบออกมา โปรเซส P2 จะไดครอบครองซพยไดและ ทำางานเสรจโปรเซส P2 จบและออกจากระบบไปเลย โปรเซสถดไปทจดไดครอบครองซพยคอ P3 โปรเซส P3 จะครอบครองซพย 3 มลลวนาท จนกระทงโปรเซส P3 จบ เหลอโปรเซส P1 เพยงโปรเซสเดยว จนเขามาใช CPU จนดำาเนนการเสรจสน โดยมตวควบคมการสงโปรเซสเขาไปในควทเรยกวา Process Control Block ดงรปท 3.3 เปนแผนภาพแสดงการสลบกนทำางานของโปรเซสทง 3 และเปนผลทเกดขนจากการจดควแบบ RR

Suan Dusit Rajabhat University (Computer Science)

Page 25: Chapter 3 :  CPU Management

25

รปท 3.3 แสดงการครอบครอง CPU แบบวนรอบ (round-robin)

Suan Dusit Rajabhat University (Computer Science)

Page 26: Chapter 3 :  CPU Management

26

4. การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling)

Suan Dusit Rajabhat University (Computer Science)

Page 27: Chapter 3 :  CPU Management

27

5. การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) เปนวธการจดควโดยการแบงควออกเปนระดบ (Partition) แสดงดงรปท 3.3 มการกำาหนดคณลกษณะของแตละกระบวนการ (Process) เชน ขนาดของหนวยความจำา ลำาดบความสำาคญของโปรเซส และชนดของโปรเซส แตละควจะมอลกอรทมการจดเวลาเปนของตวเอง และมจดลำาดบความสำาคญของแตละโปรเซสในรปแบบโปรเซสลำาดบความสำาคญตำาสด (Lowest Priority) ไปจนถงโปรเซสลำาดบความสำาคญสงสด (Highest Priority)

Suan Dusit Rajabhat University (Computer Science)

Page 28: Chapter 3 :  CPU Management

28

รปท 3.4 แสดงการจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling)

Suan Dusit Rajabhat University (Computer Science)

Multilevel Queue Scheduling

Page 29: Chapter 3 :  CPU Management

29

6. การจดเวลาแบบควหลายระดบแบบยอนกลบ (Multilevel Feedback Queue Scheduling) เพอ ใหการจดควเปนไปอยางมประสทธภาพ จงมการนำาหลาย ๆ เทคนคมาประยกตเขาดวยกน เปนการจดคำาแบบวนรอบ ทคำานงถงความสำาคญของงาน ทำาใหงานทมความสำาคญเหมอนกนอยในควเดยวกน และใหงานสำาคญนอย ๆ อยในควทสำาคญนอยเชนกน แสดงดงรปท 3.4

Suan Dusit Rajabhat University (Computer Science)

Page 30: Chapter 3 :  CPU Management

30

รปท 3.5 แสดงการจดเวลาแบบควหลายระดบ(Multilevel Feedback Queue Scheduling)

Suan Dusit Rajabhat University (Computer Science)

Multilevel Feedback Queue Scheduling

Page 31: Chapter 3 :  CPU Management

31

3.3 การจดตารางการทำางานของระบบหลายกระบวนการ (Multiple-Processor Scheduling) การทำางานในลกษณะทม CPU หลายตวตางกมระบบการจดเวลาของตวเอง จะตองมการออกแบบอยางระมดระวงในเรองของการทโปรเซสแตละโปรเซสอาจจะตองการใชขอมลในฐานขอมลในเวลาเดยวกน รวมทงตองระวงไมให CPU วางงานพรอมกน         ในระบบคอมพวเตอรบางระบบทมการพฒนาเพอใหไดประสทธภาพสงสด ไดมการใช CPU แยกตางหากระหวางงานภายในของระบบ และกบงานทเปนของผใชซงการทำางานแยกกนของ CPU แบบน ทำาใหการออกแบบระบบปฏบตการมความซบซอนนอยลงมาก เนองจากม CPUเพยงตวเดยวทจะเขาไปใชขอมลของระบบปฏบตการ เพราะวา CPU ตวอนๆ ไมวาจะกตวกตาม จะเขาถงไดเฉพาะขอมลของผใชภายนอกเทานน

Suan Dusit Rajabhat University (Computer Science)

Page 32: Chapter 3 :  CPU Management

32

3.4 การจดตารางการทำางานของระบบแบบทนท (Real-Time Scheduling)   Hard real-time คอระบบทสามารถทำางานใดงานหนงใหเสรจตามเวลาทกำาหนดได ซงงานทจะรบเขามาแตละงานนนจะมความตองการของเวลาทตองการให เสรจมาดวย ดงนนตวจดเวลาจะตองเปนตวตดสนใจวาจะรบงานเขามาทำาหรอไม   Soft real-time คอระบบทแบงเวลาธรรมดาทมการใหระดบความสำาคญแกงานบางประเภท หรองานทถกเลอกไวลวงหนาวาเปนงานเรงดวน ซงอาจทำาใหเกดปญหาของการทำางานในระดบตำาๆ อาจไมไดรบเวลาของ CPU เลย

Suan Dusit Rajabhat University (Computer Science)

Page 33: Chapter 3 :  CPU Management

33

3.5 การเลอกใชอลกอรทม (Algorithm Selection) การกำาหนดกฎเกณฑและวธการเลอกใชอลกอรทมมกจะถกกำาหนดจากการเขาไปใชงาน CPU ดงนนจะตองคำานงถงการวดประสทธภาพการใชงานโดยพจารณาจาก 1. การใชประโยชนจาก CPU ไดสงสดภายใตขอกำาหนดของเวลาในการตอบสนอง (Maximum Respond Time) ใหไดอยางรวดเรวภายในหนงวนาท (หนงหนวยเวลา)

2. การใชประโยชนจาก CPU ไดสงสดของปรมาณงาน (Throughput) ทไดเมอเทยบกบอตราสวนของเวลาในการประมวลผล (Execution Time) กบจำานวนโปรเซสททำางานเสรจสมบรณภายในหนงหนวยเวลา ตงแตโปรเซสนนถกสงไปใชงานจนกระทงไดรบผลลพธกลบมาโดยมอลกอรทมหรอรปแบบใหเลอกใช ดงน

Suan Dusit Rajabhat University (Computer Science)

Page 34: Chapter 3 :  CPU Management

34

3.5 การเลอกใชอลกอรทม (Algorithm Selection) Deterministic Modeling          วธนเปนวธการคดเลอกทเรยกวา analytic evaluation ซงจะนำาเอา Algorithm ชนดตางๆ และลกษณะของงานมาสรางสตร เพอใชในการคำานวณหาตวเลขของประสทธภาพทสามารถวดและเปรยบเทยบไดQueuing Models          ลกษณะของงานทเขามาในระบบคอมพวเตอรนนมกจะมลกษณะทไมแนนอน ในแตละวนทมการใชระบบคอมพวเตอรนน งานตางๆทเขามาอาจมลกษณะทไมซำากนเลย อยางไรกตามมสงหนงทเราอาจจะสามารถทำานายหรอกำาหนดได กคอ การกระจายของเวลาในการใช CPU และการใชอปกรณ Input/output ซงเราสามารถทจะกำาหนดแบบคราวๆ ได

Suan Dusit Rajabhat University (Computer Science)

Page 35: Chapter 3 :  CPU Management

35

3.5 การเลอกใชอลกอรทม (Algorithm Selection) Simulations          วธการจำาลองระบบ การทเราจะเลอกวธการหรอเลอก Algorithm ทถกตองตอระบบใดๆ อยางเปนจรงเปนจงแลว เราสามารถใชวธการของการจำาลองระบบ ซงวธการนจะสามารถคำานวณตวเลขตางๆ ออกมาไดอยางเทยงตรงมากขน การทำาการจำาลองระบบในทนจะเกยวของกบการใชโปรแกรมคอมพวเตอร ซงจะตองมการเขยนโปรแกรมเพอใชเปนตวแทนหรอหนจำาลองของระบบตางๆ ในคอมพวเตอร นอกจากนยงตองมการเขยนโปรแกรมเพอเปนตวแทนของสงแวดลอมทเกยว ของกบระบบคอมพวเตอรนนๆอกดวยSuan Dusit Rajabhat University (Computer Science)

Page 36: Chapter 3 :  CPU Management

36

*สรป* การจดการหนวยประมวลผลกลาง (CPU Management)  ซงในระบบคอมพวเตอรทมการทำางานหลายงานพรอมๆ กน (Multi-tasking) ระบบปฏบตการ (Operating System) จะทำาการแบงเวลาใหกบงานหรอกระบวนการ (Process) แตละงาน สามารถประมวลผลไดอยางรวดเรวเสมอนวาทำางานไดหลายๆ งานไดในเวลาเดยวกน ดงนนการจดการกบหนวยประมวลผลกลาง (CPU Management) จงเกยวของกบการจดกระบวนการ (Process) การจดตารางการทำางาน (CPU Scheduling) การประยกตใชอลกอรทมเขาไปชวยในการจดตารางการทำางานในระบบ Multiprocessor แบบ Real Time เพอใชการจดการProcessor ใหเกดประสทธภาพสงสด โดยอลกอรทมสำาหรบการจดตารางการทำางานมดงน

36

Page 37: Chapter 3 :  CPU Management

37

*สรป* 1. การจดเวลาแบบมากอนไดกอน (FCFS:First-come First-served Scheduling) เปนอลกอรทมประเภททไมสามารถแทรกกลางคนได (Non-preemptive) เหมาะกบการใชงานในระบบงานแบบกลม (Batch System) มขอดคองายตอการประยกตใชงาน ขอเสยคอไมสามารถคาดเดาเหตการณของแตละโปรเซสในการเขาใชงาน CPU ได 2. การจดเวลาแบบงานสนทำากอน (SJF: Short-Job-FirstScheduling) เปนอลกอรทมประเภททไมสามารถแทรกกลางคนได (Non-preemptive) เหมาะกบการใชงานในระบบงานแบบกลม (Batch System) มขอดคอ มคาเฉลยเวลาในการรอคอยในการใชงาน CPU แตละโปรเซสนอยทสด ขอเสยคออาจทำาใหเกดปญหาการขาดแคลนทรพยากร (Starvation)

Suan Dusit Rajabhat University (Computer Science)

Page 38: Chapter 3 :  CPU Management

38

*สรป* 3. การจดเวลาตามลำาดบความสำาคญ (Priority Scheduling) เปนอลกอรทมประเภททไมสามารถแทรกกลางคนได (Non-preemptive) เหมาะกบการใชงานในระบบงานแบบกลม (Batch System) มขอดคอ ลำาดบงานทมความสำาคญจะไดรบการประมวลผลกอนเสมอ ขอเสยคออาจทำาใหเกดปญหาการขาดแคลนทรพยากร (Starvation)

Suan Dusit Rajabhat University (Computer Science)

Page 39: Chapter 3 :  CPU Management

39

*สรป* 4. การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) เปนอลกอรทมประเภททสามารถแทรกกลางคนได (Preemptive) เหมาะกบการใชงานในระบบงานแบบโตตอบ (Interactive System) มขอดคอ สามารถตอบสนองตอผใชงานไดอยางรวดเรว ขอเสยคอตองมการกำาหนดระยะเวลาการใชงาน (Quantum Time) ทแนนอนใหกบแตละโปรเซส 5. การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) เปนอลกอรทมประเภท Preemptive/Non- Preemptive เหมาะกบการใชการใชงานในระบบงานแบบกลม (Batch System) และงานในระบบงานแบบโตตอบ (Interactive System) มขอดคอ มความยดหยนในการใชงาน (Flexibility) ขอเสยคอม overhead ในการจากการตรวจสอบลำาดบคว

Suan Dusit Rajabhat University (Computer Science)

Page 40: Chapter 3 :  CPU Management

40

*สรป* 4. การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) เปนอลกอรทมประเภททสามารถแทรกกลางคนได (Preemptive) เหมาะกบการใชงานในระบบงานแบบโตตอบ (Interactive System) มขอดคอ สามารถตอบสนองตอผใชงานไดอยางรวดเรว ขอเสยคอตองมการกำาหนดระยะเวลาการใชงาน (Quantum Time) ทแนนอนใหกบแตละโปรเซส 5. การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) เปนอลกอรทมประเภท Preemptive/Non- Preemptive เหมาะกบการใชการใชงานในระบบงานแบบกลม (Batch System) และงานในระบบงานแบบโตตอบ (Interactive System) มขอดคอ มความยดหยนในการใชงาน (Flexibility) ขอเสยคอม overhead ในการจากการตรวจสอบลำาดบคว

Suan Dusit Rajabhat University (Computer Science)

Page 41: Chapter 3 :  CPU Management

41

*สรป* การจดตารางงานของระบบตวประมวลผลหลายตว (Multiprocessor) จะแบงการทำางานออกเปน 2 ลกษณะ คอ 1. การใชตว Processor) ทหลากหลาย (Heterogeneous System) โดยกำาหนดใหโปรเซสมควการทำางานเปนของตนเอง เพอจดใหแตละโปรเซสทำางานกบตวประมวลผลทเหมาะสม 2. การใชตว Processor เดยวกนทงหมด (Homogeneous System) โดยแบงควใหกบตวประมวลผล (Processor) แตละตว โดยมการจดการควในลกษณะ ควรวม ให“ ”กบโปรเซส โดยการจดควรวมแบง 2 วธคอ ตวจดตารางการ

1. Symmetric Multiprogramming 2. Asymmetric Multiprogramming

Suan Dusit Rajabhat University (Computer Science)

Page 42: Chapter 3 :  CPU Management

42

*สรป* การจดตารางการทำางานของระบบแบบทนท (Real-Time Scheduling) แบงออกเปน1. Hard real-time เปนการจดตารางทำางานเพอกำาหนดสทธใหกบโปรเซสทำางาน โดยรบประกนวางานนนจะเสรจสนตามระยะเวลาทกำาหนด โดยมการกำาหนดระยะเวลาทแนนอน2. Soft real-time เปนการจดตารางทำางานเพออนญาตใหโปรเซสทำางานไดอยางตอเนองจนกวางานนนจะเสรจสน โดยไมมการกำาหนดระยะเวลาทแนนอน

Suan Dusit Rajabhat University (Computer Science)

Page 43: Chapter 3 :  CPU Management

Chapter 3 : The End (Any Question?)