33
กกกกกกกกก กกกกกกกกกกก (CPU SCHEDULING) SAREENA WANGPITAK

การจัดการโปรเซสเซอร์

  • Upload
    hi-nana

  • View
    122

  • Download
    0

Embed Size (px)

Citation preview

Page 1: การจัดการโปรเซสเซอร์

การจั�ดการ โปรเซสเซอร

(CPU SCHEDULING)

SAREENA WANGPITAK

Page 2: การจัดการโปรเซสเซอร์

การจั�ดเวลาซ�พี�ยู�(CPU SCHEDULING)

♦ การจั�กเวลา CPU เป็นหล�กกาทำ�างานหน��ง ของ OS ทำ��ทำ�าให�คอมพิ�วเตอร�ม�ความ

สามารถในการร�บโป็รแกรมได้�หลายๆๆโป็รแกรมในเวลาเด้�ยวก�น

♦เหต&การณ์�ทำ��ซี�พิ�ย)เป็ล��ยนจัากการทำ�างาน หน��งไป็ย�งอ�กงานหน��งเร�ยกว*า การเป็ล��ยน

สถานะ (context switching)

Page 3: การจัดการโปรเซสเซอร์

การจั�ดเวลาซ�พี�ยู�(CPU SCHEDULING)....ต่�อ

เป�าหมายู ใช้�งานซี�พิ�ย)ได้�อย*างเต-มป็ระส�ทำธิ�ภาพิ

ส��งที่��ต่�องคำ�านึ!ก ในระบบโป็รเซีสเซีอร�เด้�ยวซี�พิ�ย)จัะทำ�างานได้�

คร�0งละ 1 งาน ถ�าม�หลายๆ งานจัะต�องเก�ด้การขอ

Page 4: การจัดการโปรเซสเซอร์

การที่�างานึของระบบในึโปรแกรมเด�ยูว

ต�องทำ�างานอย*างไม*ซี�บซี�อน การทำ�างานทำ�ละโป็รแกรมจันเสร-จักระบวนการ ทำ�างานต�วเองจันเสร-จั หร1อจันกระทำ��งม�การรอ

อะไรบางอย*าง เช้*น I/O การรอน�0ทำ�าให�ซี�พิ�ย)เก�ด้การว*างงานอย)*เฉย

Page 5: การจัดการโปรเซสเซอร์

การที่�างานึของระบบหลายูโปรแกรม

เสม1อนก�บหลายโป็รแกรมด้�าเน�นไป็พิร�อมก�น จัะไม*ยอมให�ซี�พิ�ย&เก�ด้การรอ โป็รเซีสใด้ม�การรอการใช้�อ&ป็กรณ์� I/O จัะม�

การน�าออกไป็จัากซี�พิ�ย)และน�าโป็รเซีสใหม*เข�าไป็ใช้�งานในซี�พิ�ย)แทำน

Page 6: การจัดการโปรเซสเซอร์

การที่�างานึของ CPU

Page 7: การจัดการโปรเซสเซอร์

ต่�วจั�ดการเวลาซ�พี�ยู� (CPU SCHEDULER)

เม1�อใด้ก-ตามทำ��ซี�พิ�ย)ว*าง ระบบป็ฏิ�บ�ต�การจัะต�องเข�ามาเล1อกโป็รเซีสต�วใด้ต�วหน��งทำ��คอยอย)*ในค�วเข�ามาใช้�งานซี�พิ�ย) การเล1อกโป็รเซีสเพิ*อเข�ามาใช้�ซี�พิ�ย)น�0 จัะถ)กจั�ด้การด้�วยส*วนทำ��เร�ยกว*า ต่�วจั�ดคำ�วระยูะส�(นึ “ ” (Short-term Scheduler) ต�วจั�ด้การเวลาน�0จัะเล1อกโป็รเซีสทำ��อย)*ในหน*วยความจั�าทำ��พิร�อมในการเอ-กซี�ค�วต�ทำ��ส&ด้ เพิ1�อให�ครอบครองเวลาซี�พิ�ย)และทำร�พิยากรทำ��เก��ยวข�องก�บโป็รเซีสน�0น

Page 8: การจัดการโปรเซสเซอร์

การให�ส�ที่ธิ�การจั�ดเวลา (PREEMPTIVE SCHEDULING)

การต�ด้ส�นใจัของซี�พิ�ย)ในการเล1อกเอ-กซี�ค�วต�โป็รเซีสใด้ ๆข�0นอย)*ก�บสถานการณ์� ด้�งน�01. เม1�อม�การเป็ล��ยนสถานะของโป็รเซีสจัากสถานะร�น (run) ไป็เป็นสถานะคอย (wait) เช้*น ในสภาวะทำ��คอยอ�นพิ&ต/เอาต�พิ&ต หร1อการคอยให�โป็รเซีสล)กเสร-จัส�0นไป็ก*อน เป็นต�น2. เม1�อม�การเป็ล��ยนสถานะของโป็รเซีสจัากสถานะร�น (run) ไป็เป็นสถานะพิร�อม (ready) เช้*น เม1�อม�อ�นเทำอร�ร�พิทำ�เก�ด้ข�0น เป็นต�น3.  เม1�อม�การเป็ล��ยนสถานะของโป็รเซีสจัากสถานะคอย (wait) ไป็เป็นสถานะพิร�อม (ready) เช้*น เม1�อการรอคอยอ�นพิ&ต/เอาต�พิ&ตเสร-จัส�0นไป็แล�ว 4. เม1�อโป็รเซีสเสร-จัส�0นไป็แล�ว

Page 9: การจัดการโปรเซสเซอร์

ซ�พี�ยู�จัะม�การส�ญเส�ยูเวลาส�าหร�บงานึหล�ก ๆ 3 งานึ คำ,อ

1. เก-บค*าร�จั�สเตอร�และสถานะของเคร1�องไว�ใน PCB ของโป็รเซีสทำ��ก�าล�งจัะป็ลด้ป็ล*อยซี�พิ�ย)

2 .ค�ด้เล1อกโป็รเซีสในสถานะพิร�อม เพิ1�อให�มาครอบครองซี�พิ�ย)

3. โหลด้ค*าร�จั�สเตอร�และสถานะของเคร1�องจัาก PCB ของโป็รเซีสใหม*

Page 10: การจัดการโปรเซสเซอร์

อ�ลกอร�ที่!มของการจั�ดเวลา (SCHEDULING ALGORITHMS)

คอมโพิเนนทำ�ทำ��ส�าค�ญอ�กต�วหน��งทำ��เก��ยวข�อง ก�บฟั7งก�ช้�นในการจั�ด้เวลาซี�พิ�ย)ก-ค1อ ส��งทำ��เร�ยกว*า

Dispatcher ซี��งเป็นโมด้)ลทำ��ทำ�าหน�าทำ��ควบค&มการครอบครองเวลาซี�พิ�ย)ของโป็รเซีส ฟั7งก�ช้�นน�0ป็ระกอบด้�วย1. การย�าย Context2 .การย�ายไป็ user mode3 .กระโด้ด้ไป็ย�งต�าแหน*งทำ��เหมาะสมของ

โป็รแกรม เพิ1�อทำ��จัะเร�มร�นโป็รแกรมน�0นใหม*อ�กคร�0ง

Page 11: การจัดการโปรเซสเซอร์

ต่�วจั�ดคำ�วระยูะส�(นึ (SHORT-TERM SCHEDULER)

การค�ด้เล1อกหาโป็รเซีสทำ��จัะเข�าไป็อย)*ในสถานะร�นเม1�อซี�พิ�ย)ว*างน�0น ถ1อได้�ว*าเป็นการ

จั�ด้สรรซี�พิ�ย)ให�ก�บโป็รเซีสต*าง ๆ ซี��งเป็น หน�าทำ��ของ OS ส*วนของ OS ทำ��ม�หน�าทำ��

จั�ด้สรรซี�พิ�ย)เร�ยกว*า ต�วจั�ด้ค�วระยะส�0น(Short-term scheduler)

Page 12: การจัดการโปรเซสเซอร์

ต่�วจั�ดคำ�วระยูะส�(นึ (SHORT-TERM SCHEDULER)

การจั�ด้ค�วระยะส�0นม�ด้�งน�01. การจั�ด้เวลาแบบมาก*อนได้�ก*อน (FCFS :

First-Come First-Served) 2 .การจั�ด้เวลาแบบงานส�0นทำ�าก*อน (SJF :

Short-Job-First Scheduling) 3 .การจั�ด้เวลาตามล�าด้�บความส�าค�ญ

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

Robin Scheduling) 5. การจั�ด้เวลาแบบค�วหลายระด้�บ

(Multilevel Queue Scheduling)

Page 13: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบมาก�อนึได�ก�อนึ (FCFS : FIRST-COME FIRST-

SERVED) เป็นว�ธิ�การทำ��ง*ายทำ��ส&ด้ ซี��งม�หล�กการค1อ โป็รเซีสใด้ทำ��ร �องขอใช้�ซี�พิ�ย)

ก*อน ได้�ร�บการจั�ด้สรรให�ครอบครองเวลาซี�พิ�ย)

ก*อนซี��งการสร�างอ�ลกอร�ทำ�มน�0ใช้�หล�กการของ ค�วมาก*อนได้�ก*อน (FIFO queue)

เม1�อม�โป็รเซีสใด้เข�ามาอย)*ในค�วแบบน�0 PCB ของงานจัะถ)กเช้1�อมไว�ก�บหางของค�ว เม1�อใด้ทำ��ซี�พิ�ย)ว*างลง โป็รเซีสใด้ทำ��ม� PCB อย)*ทำ��ห�วของค�วก-จัะถ)กน�าออกมาจัากค�วให�เข�าครอบครองเวลาซี�พิ�ย)ได้�เลย

Page 14: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบมาก�อนึได�ก�อนึ (FCFS : FIRST-COME FIRST-

SERVED)…ต่�อ ข�อด�คำ,อ การจั�ด้ค�วทำ�าได้�ไม*ย&*งยากซี�บซี�อน ต่�วอยู�าง การจั�ด้ค�วเม1�อม� 3 โป็รเซีส (A,B,C)

ต�องการใช้� CPUโปรเซส

ล�าด�บการเข�าคำ�ว

เวลาที่��ต่�องการc

pu(ว�นึาที่�)

เวลาที่��รอ อยู��ในึคำ�ว (ว�

นึาที่�)

เวลาที่��โปรเซสที่�างานึ

เสร.จั(ว�นึาที่�)

A 1 15 0 0+15=15

B 2 1 15 15+1=16

C 3 10 16 16+10=26 เวลาเฉล��ยในการรอ =(11+1+11)/3 = 7.67

ว�นาทำ�

Page 15: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบมาก�อนึได�ก�อนึ (FCFS : FIRST-COME FIRST-

SERVED)…ต่�อ ถ�งแม�ว*าล�าด้�บเข�ามาในค�วอาจัจัะเป็น A,B,C แต*

การใช้�หล�กการของการจั�ด้ล�าด้�บความส�าค�ญ จัะจั�ด้ค�วออกมาในล�กษณ์ะด้�งน�0

A B C

15 16 26 โป็รเซีส A ต�องการรอเวลาในการป็ระมวลผล = 0 ว�นาทำ�

โป็รเซีส B ต�องการรอเวลาในการป็ระมวลผล = 15 ว�นาทำ�

โป็รเซีส C ต�องการรอเวลาในการป็ระมวลผล = 16 ว�นาทำ�

เวลาเฉล��ยในการรอ = (0+15+16)/3=10.33 ว�นาทำ�

Page 16: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบมาก�อนึได�ก�อนึ (FCFS : FIRST-COME FIRST-

SERVED)…ต่�อ

จัากต�วอย*างจัะพิบว*าการจั�ด้แบบ FCFS เป็นผล เส�ยอย*างมากก�บโป็รเซีส B ต�องการเวลาในการทำ�างาน

เพิ�ยง 1 ว�นาทำ� แต*ต�องรอให�โป็รเซีส A ซี��งเข�ามาก*อนทำ�างานเสร-จั

เวลาเฉล��ยในการรอ =(15+16)/3=10.33 ว�นาทำ�

ทำ�าให�การทำ�างานของโป็รเซีส B น�0นใช้�เวลา 16 ว�นาทำ� จั�งจัะเสร-จัส�0นเทำ�ยบเวลาในการทำ�างานค1อ 1/16*100

= 6% ส�าหร�บเวลาในการรอค1อ 100-6 = 94% ซี��งจัะเห-น

ว*าโป็รเซีส B ต�องเส�ยเวลารอนานมาก

Page 17: การจัดการโปรเซสเซอร์

  งานึส�(นึที่�าก�อนึ(SHORTEST-JOB FIRST SCHEDULING :

SJF )

เป็นอ�ลกอร�ทำ�มมาก*อนบร�การก*อนน�0น พิบว*า ค*าเฉล��ยของเวลาครบวงงาน และค*า

เฉล��ยของเวลารอม�ค*าส)ง โด้ยเฉพิาะกรณ์�ทำ��ในค�วพิร�อมม�โป็รเซีสทำ��ต�องการใช้�ซี�พิ�ย)เป็นเวลาทำ��แตกต*างก�นอ�ลกอร�ทำ�มของงานส�0น

ทำ�าก*อนจัะพิยายามลด้ค*าเฉล��ยของเวลา ครบวงงาน และค*าเฉล��ยของเวลารอ โด้ย

ก�าหนด้ให�โป็รเซีสทำ��ต�องการใช้�ซี�พิ�ย)เป็นระยะเวลาน�อยได้�เข�าใช้�ซี�พิ�ย)ก*อนโป็รเซีสทำ��ต�องการใช้�ซี�พิ�ย)เป็นระยะเวลานาน

Page 18: การจัดการโปรเซสเซอร์

  งานึส�(นึที่�าก�อนึ(SHORTEST-JOB FIRST SCHEDULING :

SJF )…ต่�อ ต่�วอยู�างที่�� 1  พิ�จัารณ์าระบบทำ��ป็ระกอบด้�วยโป็รเซีส

P1, P2, P3 และ P4 โด้ยทำ��ทำ&กโป็รเซีสถ)กร�บเข�ามาในระบบพิร�อมก�นโปรเซส เวลาที่��ต่�องการใช้�

ซ�พี�ยู�P1 6

P2 8

P3 7

P4 3

Page 19: การจัดการโปรเซสเซอร์

  งานึส�(นึที่�าก�อนึ(SHORTEST-JOB FIRST SCHEDULING :

SJF )…ต่�อ

จัาก Gantt Chart จัะเห-นว*า โป็รเซีส P1 ต�องรอเป็นเวลา 3 หน*วยเวลา โป็รเซีส P2 ต�องรอเป็นเวลา 16 หน*วยเวลา โป็รเซีส P3 ต�องรอเป็นเวลา 9 หน*วยเวลา โป็รเซีส P4 ต�องรอเป็นเวลา 0 หน*วยเวลา        ค*าเฉล��ยของเวลาทำ��ใช้�ในการรอ ค1อ (3+16+9+0)/4 = 7 หน*วยเวลา

Page 20: การจัดการโปรเซสเซอร์

 ล�าด�บคำวามส�าคำ�ญ (PRIORITY SCHEDULING)

เป็นว�ธิ�จั�ด้ล�าด้�บการใช้�ซี�พิ�ย)โด้ยก�าหนด้ล�าด้�บความ ส�าค�ญ (Priority) ให�แต*ละโป็รเซีส โด้ยระบบจัะต�อง

ก�าหนด้ว*า

ให�ต�วเลขทำ��ม�ค*าน�อยทำ��ส&ด้ แสด้งถ�งล�าด้�บความส�าค�ญน�อยทำ��ส&ด้

ให�ต�วเลขทำ��ม�ค*ามากทำ��ส&ด้ แสด้งถ�งล�าด้�บความส�าค�ญมากทำ��ส&ด้

ให�ต�วเลขทำ��ม�ค*าน�อยทำ��ส&ด้ แสด้งถ�งล�าด้�บความส�าค�ญมากทำ��ส&ด้

ให�ต�วเลขทำ��ม�ค*ามากทำ��ส&ด้ แสด้งถ�งล�าด้�บความส�าค�ญน�อยทำ��ส&ด้

Page 21: การจัดการโปรเซสเซอร์

 ล�าด�บคำวามส�าคำ�ญ (PRIORITY SCHEDULING)…ต่�อ

โปรเซส เวลาที่��ต่�องการใช้�ซ�พี�ยู� ล�าด�บส�าคำ�ญP1 6 3P2 8 1P3 7 3P4 3 4P5 5 2

Page 22: การจัดการโปรเซสเซอร์

 ล�าด�บคำวามส�าคำ�ญ (PRIORITY SCHEDULING)…ต่�อ

เม1�อก�าหนด้ให� ต�วเลขทำ��ม�ค*าน�อยทำ��ส&ด้ม�ลาด้�บความส�าค�ญส)งทำ��ส&ด้การจั�ด้ลาด้�บของซี�พิ�ย)จัะเป็นไป็ตามลาด้�บค*าความ

ส�าค�ญ ค1อ P2, P5, P1, P3, P4 การจั�ด้ล�าด้�บของซี�พิ�ย)จัะเป็นไป็ตามลาด้�บค*าความส�าค�ญ ค1อ

P2, P5, P1, P3, P4Aging ค1อ การก�าหนด้ให�ม�การเพิ��มค*าของล�าด้�บความ

ส�าค�ญของทำ&กโป็รเซีสในระบบเป็นระยะ

Page 23: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบวนึรอบ(RR : ROUND-ROBIN

SCHEDULING)

การสร�างระบบการทำ�างานแบบวนรอบ เราจัะทำ�าค�วทำ��พิร�อมทำ�างาน (Ready Queue) เป็นแบบมาก*อนได้�ก*อนไว�ส�าหร�บเก-บโป็รเซีสต*าง ๆ โป็รเซีสทำ��เข�ามาใหม*จัะถ)กน�ามาต*อไว�ทำ��หางของค�ว ต�วจั�ด้เวลาจัะเล1อกเอาโป็รเซีสทำ��อย)*ตรงห�วค�วออกมา แล�วก�าหนด้ให� timer หย&ด้การให�เวลาซี�พิ�ย)หล�งจัากน�0น 1 คำวอนึต่�ม แล�วน�าโป็รเซีสออกไป็ต*อทำ��หางค�ว ถ�าหากว*าโป็รแกรมย�งไม*ส�0นส&ด้การทำ�างาน โป็รเซีสบางโป็รเซีสอาจัต�องการใช้�ซี�พิ�ย)น�อยกว*า 1 ควอนต�ม ก-จัะออกจัากการครอบครองซี�พิ�ย) เพิ1�อให�โป็รเซีสอ1�นทำ��อย)*ห�วค�วเข�ามาทำ�างานต*อไป็

Page 24: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบวนึรอบ(RR : ROUND-ROBIN

SCHEDULING)…ต่�อ ต่�วอยู�าง การจั�ด้ค�วแบบ RR เม1�อม� 3 โป็รเซีส (A,B,C)

ต�องการใช้� CPU โด้ยม�เวลาคว�มต�นเป็น 1 ว�นาทำ�โปรเซส

ล�าด�บการเข�าคำ�ว

เวลาที่��ต่�องการc

pu(ว�นึาที่�)

เวลาที่��รอ อยู��ในึคำ�ว (ว�

นึาที่�)

เวลาที่��โปรเซสที่�างานึ

เสร.จั(ว�นึาที่�)

A 1 15 11 15+11=26

B 2 1 1 1+1=2

C 3 10 11 10+11=21

เวลาเฉล��ยในการรอ = (11+1+11)/3 = 7.57 ว�นาทำ�

Page 25: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบวนึรอบ(RR : ROUND-ROBIN

SCHEDULING)…ต่�อA B C A C A C A C A C A C A C A C A C A C A A A A A

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Page 26: การจัดการโปรเซสเซอร์

การจั�ดเวลาแบบวนึรอบ(RR : ROUND-ROBIN

SCHEDULING)

จัากต�วอย*างจัะเห-นว*าการทำ�างานแบบ RR จัะเป็น ป็ระโยช้น�ต*อโป็รเซีส B หร1อโป็รเซีสทำ��ต�องการเวลาใน

การใช้� CPU น�อยแต*เข�าค�วมาทำ�หล�ง ในทำางตรงก�นข�ามจัะเก�ด้ผลเส�ยต*อโป็รเซีส A หร1อ

โป็รเซีสทำ��ต�องการเวลาในการใช้� CPU มากป็ระส�ทำธิ�ภาพิของการวนรบข�0นอย)*ก�บการก�าหนด้ขนาด้ของคว�นต�มเป็นอย*างย��ง

ถ�าขนาด้ของคว�นต�มใหญ*หร1อนานเก�นไป็ป็ระส�ทำธิ�ภาพิของการวนรอบก-จัะใกล�เค�ยงก�บแบบมาก*อนได้�ก*อน

ถ�าขนาด้ของคว�นต�มเล-กเก�นไป็ ระยะเวลาทำ��ใช้�ในการทำ�างานของระบบ(throughput) ก-จัะช้�าลง

Page 27: การจัดการโปรเซสเซอร์

ต่�วอยู�าง จังหาค*าเฉล��ยทำ�0ง 3 ว�ธิ� ค1อ FCFS,SJF และ RR เวลา

ควอนต�ม = 10โปรเซส เวลาABCDE

10293712

Page 28: การจัดการโปรเซสเซอร์

เฉลยู

RRเวลาในการรอA=0B=10C=20D=10+10+3=23E=10+10+3+7=30(0+10+20+23+30)/5=16.6

เวลาเฉล��ยในการทำ�างานเสร-จัA=0+10=10B=10+29=39C=20+3=23D=23+7=30E=30+12=4210+39+23+30+42/5=28.8

A B C D E B E B

0 10 20 23 30 40 50 52 61

Page 29: การจัดการโปรเซสเซอร์

การจั�ดต่ารางการที่�างานึแบบแถวคำอยูหลายู ช้�(นึ

(MULTILEVEL QUEUE SCHEDULING)

ถ)กสร�างข�0นมาเพิ1�อใช้�ก�บสถานการณ์�ทำ��สามารถจั�ด้แบ*งกระบวนการทำ��เข�ามาทำ�างานในระบบออกเป็นก

ล&*ม หร1อป็ระเภทำทำ��แตกต*างก�นได้� เช้*น เราอาจัแบ*ง กระบวนการทำ��เข�ามาทำ�างานในระบบออกเป็นกล&*ม หร1อ

ป็ระเภทำทำ��แตกต*างก�นได้� เช้*น เราอาจัแบ*งกระบวนการ ออกเป็น 2 ป็ระเภทำข�0นต�น ค1อ กระบวนการทำ��ทำ�างาน

แบบโต�ตอบ (interactive) และกระบวนการทำ�� ทำ�างานแบบกล&*ม (batch) ซี��งการทำ�างานของ

กระบวนการ 2 ป็ระเภทำน�0 ต�องการเวลาในการโต�ตอบ แตกต*างก�น และความต�องการในการจั�ด้ตารางการ

ทำ�างานก-ต*างก�นด้�วย นอกจัากน�0นแล�วกระบวนการทำ�� ทำ�างานแบบโต�ตอบ จัะม�ล�าด้�บส�าค�ญกว*ากระบวนการทำ��

ทำ�างานแบบกล&*ม

Page 30: การจัดการโปรเซสเซอร์

การจั�ดต่ารางการที่�างานึแบบแถวคำอยูหลายู ช้�(นึ

(MULTILEVEL QUEUE SCHEDULING)…ต่�อ

ข�0นตอนว�ธิ�ในการจั�ด้ตารางการทำ�างานแบบแถวคอย หลายช้�0นน�0 เร��มจัากการจั�ด้แถวพิร�อมของระบบออกเป็นหลาย

ๆ แถวแยกจัากก�น ด้�งแสด้งในร)ป็

Page 31: การจัดการโปรเซสเซอร์

การจั�ดต่ารางการที่�างานึแบบแถวคำอยูหลายู ช้�(นึ

(MULTILEVEL QUEUE SCHEDULING)…ต่�อและกระบวนการทำ��เข�าส)*ระบบก-จัะถ)กก�าหนด้ให�เข�าแถวทำ�� แน*นอนตายต�ว เพิ1�อเข�าไป็ใช้�หน*วยป็ระมวลผลกลาง ภายในแถว

พิร�อมแต*ละแถวก-จัะม�การจั�ด้ตารางการทำ�างานของแต*ละแถว ต*างหาก ต�วอย*างเช้*น ในกรณ์�ทำ��แบ*งแถวพิร�อมออกเป็น 2 แถว

ส�าหร�บกระบวนการทำ��ทำ�างานแบบโต�ตอบ และกระบวนการทำ�� ทำ�างานแบบกล&*ม โด้ยทำ��ภายในแถวพิร�อมของการทำ�างานแบบ

โต�ตอบอาจัม�การจั�ด้ตารางการทำ�างานแบบเว�ยนเทำ�ยน และแถวพิร�อมของการทำ�างานแบบกล&*มอาจัม�การจั�ด้ตารางการทำ�างานแบบมาก*อน-ได้�ก*อน

นอกจัากน�0นก-จัะต�องม�การจั�ด้ตารางการทำ�างานระหว*าง แถวพิร�อมเหล*าน�0นด้�วย โด้ยทำ��วไป็ จัะใช้�การจั�ด้ตารางการทำ�างาน

แบบศั�กด้�;ส)งได้�ก*อน ช้น�ด้ทำ��ให�แทำรกกลางค�นได้� เช้*น แถวส�าหร�บ กระบวนการทำ��ทำ�างานแบบโต�ตอบ จัะม�ศั�กด้�;ส)งกว*าแถวส�าหร�บ

กระบวนการทำ��ทำ�างานแบบกล&*ม

Page 32: การจัดการโปรเซสเซอร์

การจั�ดต่ารางการที่�างานึแบบแถวคำอยูหลายู ช้�(นึ

(MULTILEVEL QUEUE SCHEDULING)…ต่�อ

สมมต�ว*าในระบบม�แถวพิร�อมอย)* 5 แถว ด้�งน�0

งานของระบบ (system processes) งานแบบโต�ตอบ (interactive processes) งานแก�ไขข�อม)ล (interactive edition

processes) งานแบบกล&*ม (batch processes) งานของน�กศั�กษา (student processes)

Page 33: การจัดการโปรเซสเซอร์

การจั�ดต่ารางการที่�างานึแบบแถวคำอยูหลายู ช้�(นึ

(MULTILEVEL QUEUE SCHEDULING)…ต่�อ

โด้ยแถวบนจัะม�ศั�กด้�;ส)งกว*าแถวล*าง ด้�งน�0นกระบวนการทำ��ทำ�างานแบบกล&*มจัะสามารถทำ�างานได้�ต*อเม1�อ

กระบวนการทำ��อย)*ในแถวพิร�อมของงานระบบ , งานโต�ตอบ และ งานแก�ไขข�อม)ล ได้�ทำ�างานจันเสร-จัสมบ)รณ์�แล�ว และใน

กรณ์�ทำ��ม�กระบวนการใหม*เข�ามาส)*แถวพิร�อมของงานแก�ไข ข�อม)ล ในขณ์ะทำ��กระบวนการแบบกล&*มก�าล�งทำ�างานอย)*

กระบวนการทำ��ทำ�างานแบบกล&*มจัะถ)กแทำรกกลางค�นทำ�นทำ� หร1ออาจัจั�ด้แบ*งเวลาของหน*วยป็ระมวลผลให�แต*ละแถว

โด้ยทำ��แต*ละแถวก-จัะไป็จั�ด้แบ*งป็7นเวลาทำ��ได้�ร�บก�นเอง เช้*นแถวพิร�อมของการทำ�างานแบบโต�ตอบอาจัจัะได้�ร�บช้*วงเวลา

ในการใช้�งานหน*วยป็ระมวลผลกลางถ�ง 80 % ในขณ์ะทำ��แถวพิร�อมของการทำ�างานแบบกล&*มจัะได้�ร�บช้*วงเวลาด้�ง

กล*าวเพิ�ยง 20 %