Chapter 3 : CPU Management

Preview:

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

Chapter 3 : CPU Management

Juthawut Chantharamalee Curriculum of Computer ScienceFaculty of Science and Technology, Suan Dusit UniversityEmail: jchantharamalee@yahoo.comURL: http://dusithost.dusit.ac.th/~juthawut_cha/home.htm

2

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

Suan Dusit Rajabhat University (Computer Science)

3

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

Suan Dusit Rajabhat University (Computer Science)

4

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

Suan Dusit Rajabhat University (Computer Science)

5

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

Suan Dusit Rajabhat University (Computer Science)

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)

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

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)

9

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

Suan Dusit Rajabhat University (Computer Science)

Histogram of CPU-burst times

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)

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

12

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

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

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

Suan Dusit Rajabhat University (Computer Science)

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)

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)

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)

16

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

Suan Dusit Rajabhat University (Computer Science)

17

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

18

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

Suan Dusit Rajabhat University (Computer Science)

19

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

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

Suan Dusit Rajabhat University (Computer Science)

20

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

Scheduling)

Suan Dusit Rajabhat University (Computer Science)

21

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

Suan Dusit Rajabhat University (Computer Science)

22

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

Suan Dusit Rajabhat University (Computer Science)

23

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

Suan Dusit Rajabhat University (Computer Science)

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)

25

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

Suan Dusit Rajabhat University (Computer Science)

26

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

Suan Dusit Rajabhat University (Computer Science)

27

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

Suan Dusit Rajabhat University (Computer Science)

28

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

Suan Dusit Rajabhat University (Computer Science)

Multilevel Queue Scheduling

29

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

Suan Dusit Rajabhat University (Computer Science)

30

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

Suan Dusit Rajabhat University (Computer Science)

Multilevel Feedback Queue Scheduling

31

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

Suan Dusit Rajabhat University (Computer Science)

32

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

Suan Dusit Rajabhat University (Computer Science)

33

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

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

Suan Dusit Rajabhat University (Computer Science)

34

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

Suan Dusit Rajabhat University (Computer Science)

35

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

36

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

36

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)

38

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

Suan Dusit Rajabhat University (Computer Science)

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)

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)

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)

42

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

Suan Dusit Rajabhat University (Computer Science)

Chapter 3 : The End (Any Question?)