SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
การจัดการโปรเซสเซอร์
การจั ด เวลาซี พี ยู

♦ การจักเวลา CPU เป็ นหลักกาทางานหนึงของ OS ที่ทา
่
ให้ คอมพิวเตอร์ มีความสามารถในการรับโปรแกรมได้
หลายๆๆโปรแกรมในเวลาเดียวกัน
♦ เหตุการณ์ที่ซีพียเู ปลี่ยนจากการทางานหนึงไปยังอีกงาน
่
หนึงเรี ยกว่า การเปลี่ยนสถานะ (context
่
switching)
การจั ด เวลาซี พี ยู

ต่ อ

เปาหมาย
้
 ใช้ งานซีพียได้ อย่างเต็มประสิทธิภาพ
ู
สิ่งที่ต้องคานึก
 ในระบบโปรเซสเซอร์ เดียวซีพียจะทางานได้ ครังละ 1 งาน
ู
้
 ถ้ ามีหลายๆ งานจะต้ องเกิดการขอ
การทางานของระบบในโปรแกรมเดี ย ว
 ต้ องทางานอย่างไม่ซบซ้ อน
ั
 การทางานทีละโปรแกรมจนเสร็จกระบวนการ
 ทางานตัวเองจนเสร็จ หรื อจนกระทังมีการรออะไรบางอย่าง เช่น
่
I/O
 การรอนี ้ทาให้ ซีพียเู กิดการว่างงานอยูเ่ ฉย
การทางานของระบบหลายโปรแกรม
 เสมือนกับหลายโปรแกรมดาเนินไปพร้ อมกัน
 จะไม่ยอมให้ ซีพียเุ กิดการรอ
 โปรเซสใดมีการรอการใช้ อปกรณ์ I/O จะมีการนาออกไปจาก
ุ
ซีพียและนาโปรเซสใหม่เข้ าไปใช้ งานในซีพียแทน
ู
ู
การทางานของ CPU
ตั ว จั ด การเวลาซี พี ยู
เมื่อใดก็ตามที่ซีพียวาง ระบบปฏิบติการจะต้ องเข้ ามา
ู่
ั
เลือกโปรเซสตัวใดตัวหนึงที่คอยอยูในคิวเข้ ามาใช้ งานซีพียู การ
่
่
เลือกโปรเซสเพ่อเข้ ามาใช้ ซีพียนี ้ จะถูกจัดการด้ วยส่วนที่เรี ยกว่า
ู
ตัวจัดคิวระยะสัน
้
ตัวจัดการ
เวลานี ้จะเลือกโปรเซสที่อยูในหน่วยความจาที่พร้ อมในการเอ็กซิ
่
คิวต์ที่สด เพื่อให้ ครอบครองเวลาซีพียและทรัพยากรที่เกี่ยวข้ อง
ุ
ู
กับโปรเซสนัน
้
การให้ สิ ท ธิ ก ารจั ด เวลา
การตัดสินใจของซีพียในการเลือกเอ็กซิคิวต์โปรเซสใด ๆ ขึ ้นอยูกบสถานการณ์
ู
่ ั
ดังนี ้
เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะรัน
ไปเป็ นสถานะ
คอย
เช่น ในสภาวะที่คอยอินพุต เอาต์พต หรื อการคอยให้ โปรเซสลูก
ุ
เสร็จสิ ้นไปก่อน เป็ นต้ น
เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะรัน
ไปเป็ นสถานะ
พร้ อม
เช่น เมื่อมีอินเทอร์ รัพท์เกิดขึ ้น เป็ นต้ น
เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะคอย
ไปเป็ นสถานะ
พร้ อม
เช่น เมื่อการรอคอยอินพุต เอาต์พตเสร็จสิ ้นไปแล้ ว
ุ
เมื่อโปรเซสเสร็จสิ ้นไปแล้ ว
ซี พี ยู จ ะมี ก ารสู ญ เสี ย เวลาสาหรั บ งานหลั ก ๆ

งาน คื อ

เก็บค่ารี จิสเตอร์ และสถานะของเครื่ องไว้ ใน
ของ
โปรเซสที่กาลังจะปลดปล่อยซีพียู
คัดเลือกโปรเซสในสถานะพร้ อม เพื่อให้ มาครอบครองซีพียู
โหลดค่ารี จิสเตอร์ และสถานะของเครื่ องจาก
ของ
โปรเซสใหม่
อั ล กอริ ทึ ม ของการจั ด เวลา
คอมโพเนนท์ที่สาคัญอีกตัวหนึงที่เกี่ยวข้ องกับฟั งก์ชนในการ
่
ั
จัดเวลาซีพียก็คือ สิ่งที่เรี ยกว่า
ู
ซึงเป็ นโมดูลที่ทาหน้ าที่
่
ควบคุมการ
ครอบครองเวลาซีพียของโปรเซส ฟั งก์ชนนี ้ประกอบด้ วย
ู
ั
การย้ าย
การย้ ายไป
กระโดดไปยังตาแหน่งที่เหมาะสมของโปรแกรม เพื่อที่จะเริ มรัน
โปรแกรมนันใหม่อีกครัง
้
้
ตั ว จั ด คิ ว ระยะสั ้น
(SHORT-TERM SCHEDULER)
การคัดเลือกหาโปรเซสที่จะเข้ าไปอยูในสถานะรันเมื่อ
่
ซีพียวางนัน ถือได้ วาเป็ นการจัดสรรซีพียให้ กบโปรเซสต่าง ๆ
ู่ ้
่
ู ั
ซึงเป็ นหน้ าที่ของ OS ส่วนของ OS ที่มีหน้ าที่จดสรร
่
ั
ซีพียเู รี ยกว่า ตัวจัดคิวระยะสัน (Short-term
้
scheduler)
ตั ว จั ด คิ ว ระยะสั ้น
(SHORT-TERM SCHEDULER)

การจัดคิวระยะสันมีดงนี ้
้ ั
การจัดเวลาแบบมาก่อนได้ ก่อน
การจัดเวลาแบบงานสันทาก่อน
้
การจัดเวลาตามลาดับความสาคัญ
การจัดเวลาแบบวนรอบ
การจัดเวลาแบบคิวหลายระดับ
การจั ด เวลาแบบมาก่ อนได้ ก่ อน
(FCFS : FIRST-COME FIRST-SERVED)
 เป็ นวิธีการที่งายที่สด
่
ุ
 ซึงมีหลักการคือ โปรเซสใดที่ร้องขอใช้ ซีพียก่อน
่
ู
 ได้ รับการจัดสรรให้ ครอบครองเวลาซีพียก่อนซึงการสร้ าง
ู
่
อัลกอริ ทมนี ้ใช้ หลักการของคิวมาก่อนได้ ก่อน (
ึ
 เมื่อมีโปรเซสใดเข้ ามาอยูในคิวแบบนี ้
่
ของงานจะถูกเชื่อม
ไว้ กบหางของคิว เมื่อใดที่ซีพียวางลง โปรเซสใดที่มี
ั
ู่
อยูที่
่
หัวของคิวก็จะถูกนาออกมาจากคิวให้ เข้ าครอบครองเวลาซีพียู
ได้ เลย
การจั ด เวลาแบบมาก่ อนได้ ก่ อน
(FCFS : FIRST-COME FIRST-SERVED)…ต่ อ
ข้ อดีคือ การจัดคิวทาได้ ไม่ยงยากซับซ้ อน
ุ่
ตัวอย่ าง การจัดคิวเมื่อมี 3 โปรเซส (A,B,C) ต้ องการใช้ CPU
โปรเซส

ลาดับการ
เข้ าคิว

A
B
C

1
2
3

เวลาที่ต้องการ เวลาที่รออยู่ใน
คิว (วินาที)
cpu
(วินาที)
15
0
1
15
10
16

เวลาเฉลี่ยในการรอ =(11+1+11)/3 = 7.67 วินาที

เวลาที่โปรเซส
ทางานเสร็จ
(วินาที)
0+15=15
15+1=16
16+10=26
การจั ด เวลาแบบมาก่ อนได้ ก่ อน
(FCFS : FIRST-COME FIRST-SERVED)…ต่ อ
ถึงแม้ วาลาดับเข้ ามาในคิวอาจจะเป็ น A,B,C แต่การใช้ หลักการ
่
ของการจัดลาดับความสาคัญ จะจัดคิวออกมาในลักษณะดังนี ้
A

B
15

C
16

โปรเซส A ต้ องการรอเวลาในการประมวลผล = 0 วินาที
โปรเซส B ต้ องการรอเวลาในการประมวลผล = 15 วินาที
โปรเซส C ต้ องการรอเวลาในการประมวลผล = 16 วินาที
เวลาเฉลี่ยในการรอ = (0+15+16)/3=10.33 วินาที

26
การจั ด เวลาแบบมาก่ อนได้ ก่ อน
(FCFS : FIRST-COME FIRST-SERVED)…ต่ อ
จากตัวอย่างจะพบว่าการจัดแบบ FCFS เป็ นผลเสียอย่างมากกับ
โปรเซส B ต้ องการเวลาในการทางานเพียง 1 วินาที แต่ต้องรอให้ โปรเซส A
ซึงเข้ ามาก่อนทางานเสร็จ
่
เวลาเฉลี่ยในการรอ =(15+16)/3=10.33 วินาที
ทาให้ การทางานของโปรเซส B นันใช้ เวลา 16 วินาทีจงจะเสร็จสิ ้นเทียบ
้
ึ
เวลาในการทางานคือ 1/16*100 = 6%
สาหรับเวลาในการรอคือ 100-6 = 94% ซึงจะเห็นว่าโปรเซส B ต้ อง
่
เสียเวลารอนานมาก
งานสั ้น ทาก่ อน
(SHORTEST-JOB FIRST SCHEDULING : SJF )

เป็ นอัลกอริทมมาก่อนบริการก่อนนัน พบว่า ค่าเฉลี่ยของ
ึ
้
เวลาครบวงงาน และค่าเฉลี่ยของเวลารอมีคาสูง โดยเฉพาะกรณีที่
่
ในคิวพร้ อมมีโปรเซสที่ต้องการใช้ ซีพียเู ป็ นเวลาที่แตกต่างกัน
อัลกอริทมของงานสัน
ึ
้
ทาก่อนจะพยายามลดค่าเฉลี่ยของเวลาครบวงงาน และ
ค่าเฉลี่ยของเวลารอ โดยกาหนดให้ โปรเซสที่ต้องการใช้ ซีพียเู ป็ น
ระยะเวลาน้ อยได้ เข้ าใช้ ซีพียก่อนโปรเซสที่ต้องการใช้ ซีพียเู ป็ น
ู
ระยะเวลานาน
งานสั ้น ทาก่ อน
(SHORTEST-JOB FIRST SCHEDULING : SJF )…ต่ อ

ตัวอย่ างที่ 1 พิจารณาระบบที่ประกอบด้ วยโปรเซส P1, P2, P3 และ
P4 โดยที่ทกโปรเซสถูกรับเข้ ามาในระบบพร้ อมกัน
ุ
โปรเซส
P1
P2
P3
P4

เวลาที่ต้องการใช้ ซีพียู
6
8
7
3
งานสั ้น ทาก่ อน
(SHORTEST-JOB FIRST SCHEDULING : SJF )… ต่ อ






จาก Gantt Chart จะเห็นว่า
โปรเซส P1 ต้ องรอเป็ นเวลา 3 หน่วยเวลา
โปรเซส P2 ต้ องรอเป็ นเวลา 16 หน่วยเวลา
โปรเซส P3 ต้ องรอเป็ นเวลา 9 หน่วยเวลา
โปรเซส P4 ต้ องรอเป็ นเวลา 0 หน่วยเวลา
ค่าเฉลี่ยของเวลาที่ใช้ ในการรอ คือ (3+16+9+0)/4 = 7 หน่วยเวลา
ลาดั บ ความสาคั ญ
(PRIORIT Y SCHEDULING)
เป็ นวิธีจดลาดับการใช้ ซีพียโดยกาหนดลาดับความสาคัญ (Priority) ให้
ั
ู
แต่ละโปรเซส โดยระบบจะต้ องกาหนดว่า
 ให้ ตวเลขที่มีคาน้ อยที่สด แสดงถึงลาดับความสาคัญน้ อยที่สด
ั
่
ุ
ุ
 ให้ ตวเลขที่มีคามากที่สด แสดงถึงลาดับความสาคัญมากที่สด
ั
่
ุ
ุ
 ให้ ตวเลขที่มีคาน้ อยที่สด แสดงถึงลาดับความสาคัญมากที่สด
ั
่
ุ
ุ
 ให้ ตวเลขที่มีคามากที่สด แสดงถึงลาดับความสาคัญน้ อยที่สด
ั
่
ุ
ุ
ลาดั บ ความสาคั ญ
(PRIORIT Y SCHEDULING)…ต่ อ
โปรเซส
P1
P2
P3
P4
P5

เวลาที่ต้องการใช้ ซีพียู
6
8
7
3
5

ลาดับสาคัญ
3
1
3
4
2
ลาดั บ ความสาคั ญ
(PRIORIT Y SCHEDULING)…ต่ อ
เมื่อกาหนดให้ ตัวเลขที่มีคาน้ อยที่สดมีลาดับความสาคัญสูงที่สดการจัดลาดับ
่
ุ
ุ
ของซีพียจะเป็ นไปตามลาดับค่าความสาคัญ คือ P2, P5, P1, P3, P4
ู
การจัดลาดับของซีพียจะเป็ นไปตามลาดับค่าความสาคัญ คือ P2, P5, P1, P3,
ู
P4
Aging คือ การกาหนดให้ มีการเพิ่มค่าของลาดับความสาคัญของทุกโปรเซส
ในระบบเป็ นระยะ
การจั ด เวลาแบบวนรอบ
(RR : ROUND-ROBIN SCHEDULING)

การสร้ างระบบการทางานแบบวนรอบ เราจะทาคิวที่พร้ อมทางาน
เป็ นแบบมาก่อนได้ ก่อนไว้ สาหรับเก็บโปรเซส
ต่าง ๆ โปรเซสที่เข้ ามาใหม่จะถูกนามาต่อไว้ ที่หางของคิว ตัวจัด
เวลาจะเลือกเอาโปรเซสที่อยูตรงหัวคิวออกมา แล้ วกาหนดให้
่
หยุดการให้ เวลาซีพียหลังจากนัน ควอนตัม แล้ วนา
ู
้
โปรเซสออกไปต่อที่หางคิว ถ้ าหากว่าโปรแกรมยังไม่สิ ้นสุดการ
ทางาน โปรเซสบางโปรเซสอาจต้ องการใช้ ซีพียน้อยกว่า
ู
ควอนตัม ก็จะออกจากการครอบครองซีพียู เพื่อให้ โปรเซสอื่นที่อยู่
หัวคิวเข้ ามาทางานต่อไป
การจั ด เวลาแบบวนรอบ
(RR : ROUND-ROBIN SCHEDULING)…ต่ อ
ตัวอย่ าง การจัดคิวแบบ RR เมื่อมี 3 โปรเซส (A,B,C) ต้ องการใช้ CPU โดยมี
เวลาควัมตันเป็ น 1 วินาที
โปรเซส ลาดับการ เวลาที่ต้องการ เวลาที่รออยู่ใน เวลาที่โปรเซส
เข้ าคิว
คิว (วินาที)
ทางานเสร็จ
cpu
(วินาที)
(วินาที)
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 วินาที
การจั ด เวลาแบบวนรอบ
(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
การจั ด เวลาแบบวนรอบ
(RR : ROUND-ROBIN SCHEDULING)

จากตัวอย่างจะเห็นว่าการทางานแบบ RR จะเป็ นประโยชน์ตอ
่
โปรเซส B หรื อโปรเซสที่ต้องการเวลาในการใช้ CPU น้ อยแต่เข้ าคิวมาทีหลัง
ในทางตรงกันข้ ามจะเกิดผลเสียต่อโปรเซส A หรื อโปรเซสที่ต้องการ
เวลาในการใช้ CPU มากประสิทธิภาพของการวนรบขึ ้นอยูกบการกาหนด
่ ั
ขนาดของควันตัมเป็ นอย่างยิง
่
ถ้ าขนาดของควันตัมใหญ่หรื อนานเกินไป ประสิทธิภาพของการวนรอบ
ก็จะใกล้ เคียงกับแบบมาก่อนได้ ก่อน
ถ้ าขนาดของควันตัมเล็กเกินไป ระยะเวลาที่ใช้ ในการทางานของระบบ
(throughput) ก็จะช้ าลง
ตั ว อย่ า ง
จงหาค่าเฉลี่ยทัง้ 3 วิธี คือ FCFS,SJF และ RR เวลาควอนตัม = 10
โปรเซส

เวลา

A
B
C
D
E

10
29
3
7
12
เฉลย
A
0

B
10

C
20 23

D

E
30

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

B
40

E
50 52

B
61

เวลาเฉลี่ยในการทางานเสร็จ
A=0+10=10
B=10+29=39
C=20+3=23
D=23+7=30
E=30+12=42
10+39+23+30+42/5
=28.8
การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น
(MULTILEVEL QUEUE SCHEDULING)
ถูกสร้ างขึ ้นมาเพื่อใช้ กบสถานการณ์ที่สามารถจัดแบ่งกระบวนการที่
ั
เข้ ามาทางานในระบบออกเป็ นกลุม หรื อประเภทที่แตกต่างกันได้ เช่น เราอาจ
่
แบ่งกระบวนการที่เข้ ามาทางานในระบบออกเป็ นกลุม หรื อประเภทที่แตกต่าง
่
กันได้ เช่น เราอาจแบ่งกระบวนการออกเป็ น 2 ประเภทขันต้ น คือ
้
กระบวนการที่ทางานแบบโต้ ตอบ (interactive) และกระบวนการที่
ทางานแบบกลุม (batch) ซึงการทางานของกระบวนการ 2 ประเภทนี ้
่
่
ต้ องการเวลาในการโต้ ตอบแตกต่างกัน และความต้ องการในการจัดตาราง
การทางานก็ตางกันด้ วย นอกจากนันแล้ วกระบวนการที่ทางานแบบโต้ ตอบ
่
้
จะมีลาดับสาคัญกว่ากระบวนการที่ทางานแบบกลุม
่
การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น
(MULTILEVEL QUEUE SCHEDULING)…ต่ อ
ขันตอนวิธีในการจัดตารางการทางานแบบแถวคอยหลายชันนี ้ เริ่มจากการจัด
้
้
แถวพร้ อมของระบบออกเป็ นหลาย ๆ แถวแยกจากกัน ดังแสดงในรูป
การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น
(MULTILEVEL QUEUE SCHEDULING)…ต่ อ
และกระบวนการที่เข้ าสูระบบก็จะถูกกาหนดให้ เข้ าแถวที่แน่นอนตายตัว เพื่อเข้ า
่
ไปใช้ หน่วยประมวลผลกลาง ภายในแถวพร้ อมแต่ละแถวก็จะมีการจัดตารางการทางาน
ของแต่ละแถวต่างหาก ตัวอย่างเช่น ในกรณีที่แบ่งแถวพร้ อมออกเป็ น 2 แถว สาหรับ
กระบวนการที่ทางานแบบโต้ ตอบ และกระบวนการที่ทางานแบบกลุม โดยที่ภายในแถว
่
พร้ อมของการทางานแบบโต้ ตอบอาจมีการจัดตารางการทางานแบบเวียนเทียน และแถว
พร้ อมของการทางานแบบกลุมอาจมีการจัดตารางการทางานแบบมาก่อน-ได้ ก่อน
่
นอกจากนันก็จะต้ องมีการจัดตารางการทางานระหว่างแถวพร้ อมเหล่านันด้ วย
้
้
โดยทัวไป จะใช้ การจัดตารางการทางานแบบศักดิ์สงได้ ก่อน ชนิดที่ให้ แทรกกลางคันได้ เช่น
่
ู
แถวสาหรับกระบวนการที่ทางานแบบโต้ ตอบ จะมีศกดิ์สงกว่าแถวสาหรับกระบวนการที่
ั ู
ทางานแบบกลุม
่
การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น
(MULTILEVEL QUEUE SCHEDULING)…ต่ อ
สมมติวาในระบบมีแถวพร้ อมอยู่ 5 แถว ดังนี ้
่






งานของระบบ (system processes)
งานแบบโต้ ตอบ (interactive processes)
งานแก้ ไขข้ อมูล (interactive edition processes)
งานแบบกลุม (batch processes)
่
งานของนักศึกษา (student processes)
การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น
(MULTILEVEL QUEUE SCHEDULING)…ต่ อ
โดยแถวบนจะมีศกดิ์สงกว่าแถวล่าง ดังนัน กระบวนการที่ทางานแบบกลุม
ั ู
้
่
จะสามารถทางานได้ ตอเมื่อกระบวนการที่อยูในแถวพร้ อมของงานระบบ , งาน
่
่
โต้ ตอบ และ งานแก้ ไขข้ อมูล ได้ ทางานจนเสร็จสมบูรณ์แล้ ว และในกรณีที่มี
กระบวนการใหม่เข้ ามาสูแถวพร้ อมของงานแก้ ไขข้ อมูล ในขณะที่กระบวนการแบบ
่
กลุมกาลังทางานอยู่ กระบวนการที่ทางานแบบกลุมจะถูกแทรกกลางคันทันที หรื อ
่
่
อาจจัดแบ่งเวลาของหน่วยประมวลผลให้ แต่ละแถว โดยที่แต่ละแถวก็จะไปจัดแบ่งปั น
เวลาที่ได้ รับกันเอง เช่น แถวพร้ อมของการทางานแบบโต้ ตอบอาจจะได้ รับช่วงเวลาใน
การใช้ งานหน่วยประมวลผลกลางถึง 80 % ในขณะที่แถวพร้ อมของการทางานแบบ
กลุมจะได้ รับช่วงเวลาดังกล่าวเพียง 20 %
่

Mais conteúdo relacionado

Mais procurados

การชั้งการตวง
การชั้งการตวงการชั้งการตวง
การชั้งการตวงOopip' Orranicha
 
ฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้นฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้นY'Yuyee Raksaya
 
เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2นายเค ครูกาย
 
ข้อสอบอัตนัย
ข้อสอบอัตนัยข้อสอบอัตนัย
ข้อสอบอัตนัยNU
 
การติดต่อสื่อสารในองค์กร
การติดต่อสื่อสารในองค์กรการติดต่อสื่อสารในองค์กร
การติดต่อสื่อสารในองค์กรChainarong Maharak
 
ตัวอย่างการเขียนโครงงาน 5 บท
ตัวอย่างการเขียนโครงงาน 5 บทตัวอย่างการเขียนโครงงาน 5 บท
ตัวอย่างการเขียนโครงงาน 5 บทchaipalat
 
การศึกษารายกรณี ครูธัญญา ซื่อตรง
การศึกษารายกรณี ครูธัญญา ซื่อตรงการศึกษารายกรณี ครูธัญญา ซื่อตรง
การศึกษารายกรณี ครูธัญญา ซื่อตรงKru Tew Suetrong
 
สอนSpss
สอนSpssสอนSpss
สอนSpsskaew393
 
บทที่ 9 การควบคุมการผลิต
บทที่ 9 การควบคุมการผลิตบทที่ 9 การควบคุมการผลิต
บทที่ 9 การควบคุมการผลิตRungnapa Rungnapa
 
โครงร่างโครงงานกระดาษสา
โครงร่างโครงงานกระดาษสาโครงร่างโครงงานกระดาษสา
โครงร่างโครงงานกระดาษสา1234 Payoon
 
แบบโครงร่าง โรคเบาหวาน
แบบโครงร่าง โรคเบาหวานแบบโครงร่าง โรคเบาหวาน
แบบโครงร่าง โรคเบาหวานDduang07
 
บทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงานบทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงานChamp Wachwittayakhang
 
ชุดส่งเสริมความรู้โภชนาการและการบริโภค
ชุดส่งเสริมความรู้โภชนาการและการบริโภคชุดส่งเสริมความรู้โภชนาการและการบริโภค
ชุดส่งเสริมความรู้โภชนาการและการบริโภคtassanee chaicharoen
 
สมรรถภาพทางกลไก
สมรรถภาพทางกลไกสมรรถภาพทางกลไก
สมรรถภาพทางกลไก593non
 
ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552
ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552
ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552waranyuati
 
รายงานคอมพิวเตอร์
รายงานคอมพิวเตอร์รายงานคอมพิวเตอร์
รายงานคอมพิวเตอร์Pimrada Seehanam
 
โครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติ
โครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติโครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติ
โครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติDota00961
 

Mais procurados (20)

เลขยกกำลัง
เลขยกกำลังเลขยกกำลัง
เลขยกกำลัง
 
การชั้งการตวง
การชั้งการตวงการชั้งการตวง
การชั้งการตวง
 
ฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้นฟังก์ชันเชิงเส้น
ฟังก์ชันเชิงเส้น
 
เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2
 
ข้อสอบอัตนัย
ข้อสอบอัตนัยข้อสอบอัตนัย
ข้อสอบอัตนัย
 
การติดต่อสื่อสารในองค์กร
การติดต่อสื่อสารในองค์กรการติดต่อสื่อสารในองค์กร
การติดต่อสื่อสารในองค์กร
 
ใบงานที่ 5.1 เรื่อง ระบบเครือข่ายคอมพิวเตอร์
ใบงานที่  5.1 เรื่อง    ระบบเครือข่ายคอมพิวเตอร์ใบงานที่  5.1 เรื่อง    ระบบเครือข่ายคอมพิวเตอร์
ใบงานที่ 5.1 เรื่อง ระบบเครือข่ายคอมพิวเตอร์
 
ตัวอย่างการเขียนโครงงาน 5 บท
ตัวอย่างการเขียนโครงงาน 5 บทตัวอย่างการเขียนโครงงาน 5 บท
ตัวอย่างการเขียนโครงงาน 5 บท
 
การศึกษารายกรณี ครูธัญญา ซื่อตรง
การศึกษารายกรณี ครูธัญญา ซื่อตรงการศึกษารายกรณี ครูธัญญา ซื่อตรง
การศึกษารายกรณี ครูธัญญา ซื่อตรง
 
สอนSpss
สอนSpssสอนSpss
สอนSpss
 
บทที่ 9 การควบคุมการผลิต
บทที่ 9 การควบคุมการผลิตบทที่ 9 การควบคุมการผลิต
บทที่ 9 การควบคุมการผลิต
 
สารบัญ.
สารบัญ.สารบัญ.
สารบัญ.
 
โครงร่างโครงงานกระดาษสา
โครงร่างโครงงานกระดาษสาโครงร่างโครงงานกระดาษสา
โครงร่างโครงงานกระดาษสา
 
แบบโครงร่าง โรคเบาหวาน
แบบโครงร่าง โรคเบาหวานแบบโครงร่าง โรคเบาหวาน
แบบโครงร่าง โรคเบาหวาน
 
บทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงานบทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงาน
 
ชุดส่งเสริมความรู้โภชนาการและการบริโภค
ชุดส่งเสริมความรู้โภชนาการและการบริโภคชุดส่งเสริมความรู้โภชนาการและการบริโภค
ชุดส่งเสริมความรู้โภชนาการและการบริโภค
 
สมรรถภาพทางกลไก
สมรรถภาพทางกลไกสมรรถภาพทางกลไก
สมรรถภาพทางกลไก
 
ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552
ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552
ตัวอย่างข้อสอบ Gsp งานศิลปะหัตกรรม ปีการศึกษา 2552
 
รายงานคอมพิวเตอร์
รายงานคอมพิวเตอร์รายงานคอมพิวเตอร์
รายงานคอมพิวเตอร์
 
โครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติ
โครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติโครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติ
โครงงานศึกษาประสิทธิภาพของโอเอซิสจากวัสดุเหลือใช้ในธรรมชาติ
 

Destaque

การจัดเวลาโปรเซส
การจัดเวลาโปรเซสการจัดเวลาโปรเซส
การจัดเวลาโปรเซสThanaporn Singsuk
 
สถานะของโปรเซส
สถานะของโปรเซสสถานะของโปรเซส
สถานะของโปรเซสThanaporn Singsuk
 
Ch 2 process
Ch 2 processCh 2 process
Ch 2 processporpat21
 
การติดต่อสื่อสารระหว่างโปรเซส
การติดต่อสื่อสารระหว่างโปรเซสการติดต่อสื่อสารระหว่างโปรเซส
การติดต่อสื่อสารระหว่างโปรเซสThanaporn Singsuk
 
Multiprogramming&timesharing
Multiprogramming&timesharingMultiprogramming&timesharing
Multiprogramming&timesharingTanuj Tyagi
 
Operating System Chapter 4
Operating System Chapter 4Operating System Chapter 4
Operating System Chapter 4Nuth Otanasap
 
Operating System Chapter 5
Operating System Chapter 5Operating System Chapter 5
Operating System Chapter 5Nuth Otanasap
 
Operating System Chapter 3
Operating System Chapter 3Operating System Chapter 3
Operating System Chapter 3Nuth Otanasap
 
Operating System Chapter 1
Operating System Chapter 1Operating System Chapter 1
Operating System Chapter 1Nuth Otanasap
 

Destaque (16)

การจัดเวลาโปรเซส
การจัดเวลาโปรเซสการจัดเวลาโปรเซส
การจัดเวลาโปรเซส
 
B4
B4B4
B4
 
B2
B2B2
B2
 
สถานะของโปรเซส
สถานะของโปรเซสสถานะของโปรเซส
สถานะของโปรเซส
 
Ch 2 process
Ch 2 processCh 2 process
Ch 2 process
 
Os ch02
Os ch02Os ch02
Os ch02
 
การติดต่อสื่อสารระหว่างโปรเซส
การติดต่อสื่อสารระหว่างโปรเซสการติดต่อสื่อสารระหว่างโปรเซส
การติดต่อสื่อสารระหว่างโปรเซส
 
Ch5
Ch5Ch5
Ch5
 
Ch3
Ch3Ch3
Ch3
 
Multiprogramming&timesharing
Multiprogramming&timesharingMultiprogramming&timesharing
Multiprogramming&timesharing
 
Chapter 3 - Processes
Chapter 3 - ProcessesChapter 3 - Processes
Chapter 3 - Processes
 
Ch06th
Ch06thCh06th
Ch06th
 
Operating System Chapter 4
Operating System Chapter 4Operating System Chapter 4
Operating System Chapter 4
 
Operating System Chapter 5
Operating System Chapter 5Operating System Chapter 5
Operating System Chapter 5
 
Operating System Chapter 3
Operating System Chapter 3Operating System Chapter 3
Operating System Chapter 3
 
Operating System Chapter 1
Operating System Chapter 1Operating System Chapter 1
Operating System Chapter 1
 

Semelhante a CPU Scheduling

คำศัพท์ที่ควรทราบ
คำศัพท์ที่ควรทราบคำศัพท์ที่ควรทราบ
คำศัพท์ที่ควรทราบossaga
 
การจัดเวลาโปรเซส
การจัดเวลาโปรเซสการจัดเวลาโปรเซส
การจัดเวลาโปรเซสNu Mai Praphatson
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1ninewnilubon
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผลSuphattra
 
4 ca-process structure
4 ca-process structure4 ca-process structure
4 ca-process structurekrissapat
 
3 ca-computer system structure
3 ca-computer system structure3 ca-computer system structure
3 ca-computer system structurekrissapat
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผลSuphattra
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผลSuphattra
 
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้นC:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น-
 
Random 110909062421-phpapp02
Random 110909062421-phpapp02Random 110909062421-phpapp02
Random 110909062421-phpapp02nantakit
 
Random 110909062421-phpapp02
Random 110909062421-phpapp02Random 110909062421-phpapp02
Random 110909062421-phpapp02nantakit
 
หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)Supaksorn Tatongjai
 
ส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถnalinratthongnoi
 
ส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถnalinratthongnoi
 
Ch 1 introos
Ch 1 introosCh 1 introos
Ch 1 introosporpat21
 
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
กลุ่มที่ 3  คอมพิวเตอร์ส่วนบุคคลกลุ่มที่ 3  คอมพิวเตอร์ส่วนบุคคล
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคลNattakan Wuttipisan
 

Semelhante a CPU Scheduling (20)

คำศัพท์ที่ควรทราบ
คำศัพท์ที่ควรทราบคำศัพท์ที่ควรทราบ
คำศัพท์ที่ควรทราบ
 
การจัดเวลาโปรเซส
การจัดเวลาโปรเซสการจัดเวลาโปรเซส
การจัดเวลาโปรเซส
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผล
 
4 ca-process structure
4 ca-process structure4 ca-process structure
4 ca-process structure
 
3 ca-computer system structure
3 ca-computer system structure3 ca-computer system structure
3 ca-computer system structure
 
หลักการเขียนโปรแกรม
หลักการเขียนโปรแกรมหลักการเขียนโปรแกรม
หลักการเขียนโปรแกรม
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผล
 
หน่วยประมวลผล
หน่วยประมวลผลหน่วยประมวลผล
หน่วยประมวลผล
 
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้นC:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
C:\Documents And Settings\Administrator\Desktop\Ch00 คอมพิวเตอร์เบื้องต้น
 
B3
B3B3
B3
 
NETWORK SERVICEOPENSSH + NTP + SQUID
NETWORK SERVICEOPENSSH + NTP + SQUIDNETWORK SERVICEOPENSSH + NTP + SQUID
NETWORK SERVICEOPENSSH + NTP + SQUID
 
Random 110909062421-phpapp02
Random 110909062421-phpapp02Random 110909062421-phpapp02
Random 110909062421-phpapp02
 
Random 110909062421-phpapp02
Random 110909062421-phpapp02Random 110909062421-phpapp02
Random 110909062421-phpapp02
 
Know4 3
Know4 3Know4 3
Know4 3
 
หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)หน่วยประมวลผลกลาง Present 4-12 (Group2)
หน่วยประมวลผลกลาง Present 4-12 (Group2)
 
ส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถ
 
ส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถส่งงานอ.นิศานาถ
ส่งงานอ.นิศานาถ
 
Ch 1 introos
Ch 1 introosCh 1 introos
Ch 1 introos
 
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
กลุ่มที่ 3  คอมพิวเตอร์ส่วนบุคคลกลุ่มที่ 3  คอมพิวเตอร์ส่วนบุคคล
กลุ่มที่ 3 คอมพิวเตอร์ส่วนบุคคล
 

CPU Scheduling

  • 2. การจั ด เวลาซี พี ยู ♦ การจักเวลา CPU เป็ นหลักกาทางานหนึงของ OS ที่ทา ่ ให้ คอมพิวเตอร์ มีความสามารถในการรับโปรแกรมได้ หลายๆๆโปรแกรมในเวลาเดียวกัน ♦ เหตุการณ์ที่ซีพียเู ปลี่ยนจากการทางานหนึงไปยังอีกงาน ่ หนึงเรี ยกว่า การเปลี่ยนสถานะ (context ่ switching)
  • 3. การจั ด เวลาซี พี ยู ต่ อ เปาหมาย ้  ใช้ งานซีพียได้ อย่างเต็มประสิทธิภาพ ู สิ่งที่ต้องคานึก  ในระบบโปรเซสเซอร์ เดียวซีพียจะทางานได้ ครังละ 1 งาน ู ้  ถ้ ามีหลายๆ งานจะต้ องเกิดการขอ
  • 4. การทางานของระบบในโปรแกรมเดี ย ว  ต้ องทางานอย่างไม่ซบซ้ อน ั  การทางานทีละโปรแกรมจนเสร็จกระบวนการ  ทางานตัวเองจนเสร็จ หรื อจนกระทังมีการรออะไรบางอย่าง เช่น ่ I/O  การรอนี ้ทาให้ ซีพียเู กิดการว่างงานอยูเ่ ฉย
  • 5. การทางานของระบบหลายโปรแกรม  เสมือนกับหลายโปรแกรมดาเนินไปพร้ อมกัน  จะไม่ยอมให้ ซีพียเุ กิดการรอ  โปรเซสใดมีการรอการใช้ อปกรณ์ I/O จะมีการนาออกไปจาก ุ ซีพียและนาโปรเซสใหม่เข้ าไปใช้ งานในซีพียแทน ู ู
  • 7. ตั ว จั ด การเวลาซี พี ยู เมื่อใดก็ตามที่ซีพียวาง ระบบปฏิบติการจะต้ องเข้ ามา ู่ ั เลือกโปรเซสตัวใดตัวหนึงที่คอยอยูในคิวเข้ ามาใช้ งานซีพียู การ ่ ่ เลือกโปรเซสเพ่อเข้ ามาใช้ ซีพียนี ้ จะถูกจัดการด้ วยส่วนที่เรี ยกว่า ู ตัวจัดคิวระยะสัน ้ ตัวจัดการ เวลานี ้จะเลือกโปรเซสที่อยูในหน่วยความจาที่พร้ อมในการเอ็กซิ ่ คิวต์ที่สด เพื่อให้ ครอบครองเวลาซีพียและทรัพยากรที่เกี่ยวข้ อง ุ ู กับโปรเซสนัน ้
  • 8. การให้ สิ ท ธิ ก ารจั ด เวลา การตัดสินใจของซีพียในการเลือกเอ็กซิคิวต์โปรเซสใด ๆ ขึ ้นอยูกบสถานการณ์ ู ่ ั ดังนี ้ เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะรัน ไปเป็ นสถานะ คอย เช่น ในสภาวะที่คอยอินพุต เอาต์พต หรื อการคอยให้ โปรเซสลูก ุ เสร็จสิ ้นไปก่อน เป็ นต้ น เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะรัน ไปเป็ นสถานะ พร้ อม เช่น เมื่อมีอินเทอร์ รัพท์เกิดขึ ้น เป็ นต้ น เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะคอย ไปเป็ นสถานะ พร้ อม เช่น เมื่อการรอคอยอินพุต เอาต์พตเสร็จสิ ้นไปแล้ ว ุ เมื่อโปรเซสเสร็จสิ ้นไปแล้ ว
  • 9. ซี พี ยู จ ะมี ก ารสู ญ เสี ย เวลาสาหรั บ งานหลั ก ๆ งาน คื อ เก็บค่ารี จิสเตอร์ และสถานะของเครื่ องไว้ ใน ของ โปรเซสที่กาลังจะปลดปล่อยซีพียู คัดเลือกโปรเซสในสถานะพร้ อม เพื่อให้ มาครอบครองซีพียู โหลดค่ารี จิสเตอร์ และสถานะของเครื่ องจาก ของ โปรเซสใหม่
  • 10. อั ล กอริ ทึ ม ของการจั ด เวลา คอมโพเนนท์ที่สาคัญอีกตัวหนึงที่เกี่ยวข้ องกับฟั งก์ชนในการ ่ ั จัดเวลาซีพียก็คือ สิ่งที่เรี ยกว่า ู ซึงเป็ นโมดูลที่ทาหน้ าที่ ่ ควบคุมการ ครอบครองเวลาซีพียของโปรเซส ฟั งก์ชนนี ้ประกอบด้ วย ู ั การย้ าย การย้ ายไป กระโดดไปยังตาแหน่งที่เหมาะสมของโปรแกรม เพื่อที่จะเริ มรัน โปรแกรมนันใหม่อีกครัง ้ ้
  • 11. ตั ว จั ด คิ ว ระยะสั ้น (SHORT-TERM SCHEDULER) การคัดเลือกหาโปรเซสที่จะเข้ าไปอยูในสถานะรันเมื่อ ่ ซีพียวางนัน ถือได้ วาเป็ นการจัดสรรซีพียให้ กบโปรเซสต่าง ๆ ู่ ้ ่ ู ั ซึงเป็ นหน้ าที่ของ OS ส่วนของ OS ที่มีหน้ าที่จดสรร ่ ั ซีพียเู รี ยกว่า ตัวจัดคิวระยะสัน (Short-term ้ scheduler)
  • 12. ตั ว จั ด คิ ว ระยะสั ้น (SHORT-TERM SCHEDULER) การจัดคิวระยะสันมีดงนี ้ ้ ั การจัดเวลาแบบมาก่อนได้ ก่อน การจัดเวลาแบบงานสันทาก่อน ้ การจัดเวลาตามลาดับความสาคัญ การจัดเวลาแบบวนรอบ การจัดเวลาแบบคิวหลายระดับ
  • 13. การจั ด เวลาแบบมาก่ อนได้ ก่ อน (FCFS : FIRST-COME FIRST-SERVED)  เป็ นวิธีการที่งายที่สด ่ ุ  ซึงมีหลักการคือ โปรเซสใดที่ร้องขอใช้ ซีพียก่อน ่ ู  ได้ รับการจัดสรรให้ ครอบครองเวลาซีพียก่อนซึงการสร้ าง ู ่ อัลกอริ ทมนี ้ใช้ หลักการของคิวมาก่อนได้ ก่อน ( ึ  เมื่อมีโปรเซสใดเข้ ามาอยูในคิวแบบนี ้ ่ ของงานจะถูกเชื่อม ไว้ กบหางของคิว เมื่อใดที่ซีพียวางลง โปรเซสใดที่มี ั ู่ อยูที่ ่ หัวของคิวก็จะถูกนาออกมาจากคิวให้ เข้ าครอบครองเวลาซีพียู ได้ เลย
  • 14. การจั ด เวลาแบบมาก่ อนได้ ก่ อน (FCFS : FIRST-COME FIRST-SERVED)…ต่ อ ข้ อดีคือ การจัดคิวทาได้ ไม่ยงยากซับซ้ อน ุ่ ตัวอย่ าง การจัดคิวเมื่อมี 3 โปรเซส (A,B,C) ต้ องการใช้ CPU โปรเซส ลาดับการ เข้ าคิว A B C 1 2 3 เวลาที่ต้องการ เวลาที่รออยู่ใน คิว (วินาที) cpu (วินาที) 15 0 1 15 10 16 เวลาเฉลี่ยในการรอ =(11+1+11)/3 = 7.67 วินาที เวลาที่โปรเซส ทางานเสร็จ (วินาที) 0+15=15 15+1=16 16+10=26
  • 15. การจั ด เวลาแบบมาก่ อนได้ ก่ อน (FCFS : FIRST-COME FIRST-SERVED)…ต่ อ ถึงแม้ วาลาดับเข้ ามาในคิวอาจจะเป็ น A,B,C แต่การใช้ หลักการ ่ ของการจัดลาดับความสาคัญ จะจัดคิวออกมาในลักษณะดังนี ้ A B 15 C 16 โปรเซส A ต้ องการรอเวลาในการประมวลผล = 0 วินาที โปรเซส B ต้ องการรอเวลาในการประมวลผล = 15 วินาที โปรเซส C ต้ องการรอเวลาในการประมวลผล = 16 วินาที เวลาเฉลี่ยในการรอ = (0+15+16)/3=10.33 วินาที 26
  • 16. การจั ด เวลาแบบมาก่ อนได้ ก่ อน (FCFS : FIRST-COME FIRST-SERVED)…ต่ อ จากตัวอย่างจะพบว่าการจัดแบบ FCFS เป็ นผลเสียอย่างมากกับ โปรเซส B ต้ องการเวลาในการทางานเพียง 1 วินาที แต่ต้องรอให้ โปรเซส A ซึงเข้ ามาก่อนทางานเสร็จ ่ เวลาเฉลี่ยในการรอ =(15+16)/3=10.33 วินาที ทาให้ การทางานของโปรเซส B นันใช้ เวลา 16 วินาทีจงจะเสร็จสิ ้นเทียบ ้ ึ เวลาในการทางานคือ 1/16*100 = 6% สาหรับเวลาในการรอคือ 100-6 = 94% ซึงจะเห็นว่าโปรเซส B ต้ อง ่ เสียเวลารอนานมาก
  • 17. งานสั ้น ทาก่ อน (SHORTEST-JOB FIRST SCHEDULING : SJF ) เป็ นอัลกอริทมมาก่อนบริการก่อนนัน พบว่า ค่าเฉลี่ยของ ึ ้ เวลาครบวงงาน และค่าเฉลี่ยของเวลารอมีคาสูง โดยเฉพาะกรณีที่ ่ ในคิวพร้ อมมีโปรเซสที่ต้องการใช้ ซีพียเู ป็ นเวลาที่แตกต่างกัน อัลกอริทมของงานสัน ึ ้ ทาก่อนจะพยายามลดค่าเฉลี่ยของเวลาครบวงงาน และ ค่าเฉลี่ยของเวลารอ โดยกาหนดให้ โปรเซสที่ต้องการใช้ ซีพียเู ป็ น ระยะเวลาน้ อยได้ เข้ าใช้ ซีพียก่อนโปรเซสที่ต้องการใช้ ซีพียเู ป็ น ู ระยะเวลานาน
  • 18. งานสั ้น ทาก่ อน (SHORTEST-JOB FIRST SCHEDULING : SJF )…ต่ อ ตัวอย่ างที่ 1 พิจารณาระบบที่ประกอบด้ วยโปรเซส P1, P2, P3 และ P4 โดยที่ทกโปรเซสถูกรับเข้ ามาในระบบพร้ อมกัน ุ โปรเซส P1 P2 P3 P4 เวลาที่ต้องการใช้ ซีพียู 6 8 7 3
  • 19. งานสั ้น ทาก่ อน (SHORTEST-JOB FIRST SCHEDULING : SJF )… ต่ อ     จาก Gantt Chart จะเห็นว่า โปรเซส P1 ต้ องรอเป็ นเวลา 3 หน่วยเวลา โปรเซส P2 ต้ องรอเป็ นเวลา 16 หน่วยเวลา โปรเซส P3 ต้ องรอเป็ นเวลา 9 หน่วยเวลา โปรเซส P4 ต้ องรอเป็ นเวลา 0 หน่วยเวลา ค่าเฉลี่ยของเวลาที่ใช้ ในการรอ คือ (3+16+9+0)/4 = 7 หน่วยเวลา
  • 20. ลาดั บ ความสาคั ญ (PRIORIT Y SCHEDULING) เป็ นวิธีจดลาดับการใช้ ซีพียโดยกาหนดลาดับความสาคัญ (Priority) ให้ ั ู แต่ละโปรเซส โดยระบบจะต้ องกาหนดว่า  ให้ ตวเลขที่มีคาน้ อยที่สด แสดงถึงลาดับความสาคัญน้ อยที่สด ั ่ ุ ุ  ให้ ตวเลขที่มีคามากที่สด แสดงถึงลาดับความสาคัญมากที่สด ั ่ ุ ุ  ให้ ตวเลขที่มีคาน้ อยที่สด แสดงถึงลาดับความสาคัญมากที่สด ั ่ ุ ุ  ให้ ตวเลขที่มีคามากที่สด แสดงถึงลาดับความสาคัญน้ อยที่สด ั ่ ุ ุ
  • 21. ลาดั บ ความสาคั ญ (PRIORIT Y SCHEDULING)…ต่ อ โปรเซส P1 P2 P3 P4 P5 เวลาที่ต้องการใช้ ซีพียู 6 8 7 3 5 ลาดับสาคัญ 3 1 3 4 2
  • 22. ลาดั บ ความสาคั ญ (PRIORIT Y SCHEDULING)…ต่ อ เมื่อกาหนดให้ ตัวเลขที่มีคาน้ อยที่สดมีลาดับความสาคัญสูงที่สดการจัดลาดับ ่ ุ ุ ของซีพียจะเป็ นไปตามลาดับค่าความสาคัญ คือ P2, P5, P1, P3, P4 ู การจัดลาดับของซีพียจะเป็ นไปตามลาดับค่าความสาคัญ คือ P2, P5, P1, P3, ู P4 Aging คือ การกาหนดให้ มีการเพิ่มค่าของลาดับความสาคัญของทุกโปรเซส ในระบบเป็ นระยะ
  • 23. การจั ด เวลาแบบวนรอบ (RR : ROUND-ROBIN SCHEDULING) การสร้ างระบบการทางานแบบวนรอบ เราจะทาคิวที่พร้ อมทางาน เป็ นแบบมาก่อนได้ ก่อนไว้ สาหรับเก็บโปรเซส ต่าง ๆ โปรเซสที่เข้ ามาใหม่จะถูกนามาต่อไว้ ที่หางของคิว ตัวจัด เวลาจะเลือกเอาโปรเซสที่อยูตรงหัวคิวออกมา แล้ วกาหนดให้ ่ หยุดการให้ เวลาซีพียหลังจากนัน ควอนตัม แล้ วนา ู ้ โปรเซสออกไปต่อที่หางคิว ถ้ าหากว่าโปรแกรมยังไม่สิ ้นสุดการ ทางาน โปรเซสบางโปรเซสอาจต้ องการใช้ ซีพียน้อยกว่า ู ควอนตัม ก็จะออกจากการครอบครองซีพียู เพื่อให้ โปรเซสอื่นที่อยู่ หัวคิวเข้ ามาทางานต่อไป
  • 24. การจั ด เวลาแบบวนรอบ (RR : ROUND-ROBIN SCHEDULING)…ต่ อ ตัวอย่ าง การจัดคิวแบบ RR เมื่อมี 3 โปรเซส (A,B,C) ต้ องการใช้ CPU โดยมี เวลาควัมตันเป็ น 1 วินาที โปรเซส ลาดับการ เวลาที่ต้องการ เวลาที่รออยู่ใน เวลาที่โปรเซส เข้ าคิว คิว (วินาที) ทางานเสร็จ cpu (วินาที) (วินาที) 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 วินาที
  • 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
  • 26. การจั ด เวลาแบบวนรอบ (RR : ROUND-ROBIN SCHEDULING) จากตัวอย่างจะเห็นว่าการทางานแบบ RR จะเป็ นประโยชน์ตอ ่ โปรเซส B หรื อโปรเซสที่ต้องการเวลาในการใช้ CPU น้ อยแต่เข้ าคิวมาทีหลัง ในทางตรงกันข้ ามจะเกิดผลเสียต่อโปรเซส A หรื อโปรเซสที่ต้องการ เวลาในการใช้ CPU มากประสิทธิภาพของการวนรบขึ ้นอยูกบการกาหนด ่ ั ขนาดของควันตัมเป็ นอย่างยิง ่ ถ้ าขนาดของควันตัมใหญ่หรื อนานเกินไป ประสิทธิภาพของการวนรอบ ก็จะใกล้ เคียงกับแบบมาก่อนได้ ก่อน ถ้ าขนาดของควันตัมเล็กเกินไป ระยะเวลาที่ใช้ ในการทางานของระบบ (throughput) ก็จะช้ าลง
  • 27. ตั ว อย่ า ง จงหาค่าเฉลี่ยทัง้ 3 วิธี คือ FCFS,SJF และ RR เวลาควอนตัม = 10 โปรเซส เวลา A B C D E 10 29 3 7 12
  • 29. การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น (MULTILEVEL QUEUE SCHEDULING) ถูกสร้ างขึ ้นมาเพื่อใช้ กบสถานการณ์ที่สามารถจัดแบ่งกระบวนการที่ ั เข้ ามาทางานในระบบออกเป็ นกลุม หรื อประเภทที่แตกต่างกันได้ เช่น เราอาจ ่ แบ่งกระบวนการที่เข้ ามาทางานในระบบออกเป็ นกลุม หรื อประเภทที่แตกต่าง ่ กันได้ เช่น เราอาจแบ่งกระบวนการออกเป็ น 2 ประเภทขันต้ น คือ ้ กระบวนการที่ทางานแบบโต้ ตอบ (interactive) และกระบวนการที่ ทางานแบบกลุม (batch) ซึงการทางานของกระบวนการ 2 ประเภทนี ้ ่ ่ ต้ องการเวลาในการโต้ ตอบแตกต่างกัน และความต้ องการในการจัดตาราง การทางานก็ตางกันด้ วย นอกจากนันแล้ วกระบวนการที่ทางานแบบโต้ ตอบ ่ ้ จะมีลาดับสาคัญกว่ากระบวนการที่ทางานแบบกลุม ่
  • 30. การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น (MULTILEVEL QUEUE SCHEDULING)…ต่ อ ขันตอนวิธีในการจัดตารางการทางานแบบแถวคอยหลายชันนี ้ เริ่มจากการจัด ้ ้ แถวพร้ อมของระบบออกเป็ นหลาย ๆ แถวแยกจากกัน ดังแสดงในรูป
  • 31. การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น (MULTILEVEL QUEUE SCHEDULING)…ต่ อ และกระบวนการที่เข้ าสูระบบก็จะถูกกาหนดให้ เข้ าแถวที่แน่นอนตายตัว เพื่อเข้ า ่ ไปใช้ หน่วยประมวลผลกลาง ภายในแถวพร้ อมแต่ละแถวก็จะมีการจัดตารางการทางาน ของแต่ละแถวต่างหาก ตัวอย่างเช่น ในกรณีที่แบ่งแถวพร้ อมออกเป็ น 2 แถว สาหรับ กระบวนการที่ทางานแบบโต้ ตอบ และกระบวนการที่ทางานแบบกลุม โดยที่ภายในแถว ่ พร้ อมของการทางานแบบโต้ ตอบอาจมีการจัดตารางการทางานแบบเวียนเทียน และแถว พร้ อมของการทางานแบบกลุมอาจมีการจัดตารางการทางานแบบมาก่อน-ได้ ก่อน ่ นอกจากนันก็จะต้ องมีการจัดตารางการทางานระหว่างแถวพร้ อมเหล่านันด้ วย ้ ้ โดยทัวไป จะใช้ การจัดตารางการทางานแบบศักดิ์สงได้ ก่อน ชนิดที่ให้ แทรกกลางคันได้ เช่น ่ ู แถวสาหรับกระบวนการที่ทางานแบบโต้ ตอบ จะมีศกดิ์สงกว่าแถวสาหรับกระบวนการที่ ั ู ทางานแบบกลุม ่
  • 32. การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น (MULTILEVEL QUEUE SCHEDULING)…ต่ อ สมมติวาในระบบมีแถวพร้ อมอยู่ 5 แถว ดังนี ้ ่      งานของระบบ (system processes) งานแบบโต้ ตอบ (interactive processes) งานแก้ ไขข้ อมูล (interactive edition processes) งานแบบกลุม (batch processes) ่ งานของนักศึกษา (student processes)
  • 33. การจั ด ตารางการทางานแบบแถวคอยหลายชั ้น (MULTILEVEL QUEUE SCHEDULING)…ต่ อ โดยแถวบนจะมีศกดิ์สงกว่าแถวล่าง ดังนัน กระบวนการที่ทางานแบบกลุม ั ู ้ ่ จะสามารถทางานได้ ตอเมื่อกระบวนการที่อยูในแถวพร้ อมของงานระบบ , งาน ่ ่ โต้ ตอบ และ งานแก้ ไขข้ อมูล ได้ ทางานจนเสร็จสมบูรณ์แล้ ว และในกรณีที่มี กระบวนการใหม่เข้ ามาสูแถวพร้ อมของงานแก้ ไขข้ อมูล ในขณะที่กระบวนการแบบ ่ กลุมกาลังทางานอยู่ กระบวนการที่ทางานแบบกลุมจะถูกแทรกกลางคันทันที หรื อ ่ ่ อาจจัดแบ่งเวลาของหน่วยประมวลผลให้ แต่ละแถว โดยที่แต่ละแถวก็จะไปจัดแบ่งปั น เวลาที่ได้ รับกันเอง เช่น แถวพร้ อมของการทางานแบบโต้ ตอบอาจจะได้ รับช่วงเวลาใน การใช้ งานหน่วยประมวลผลกลางถึง 80 % ในขณะที่แถวพร้ อมของการทางานแบบ กลุมจะได้ รับช่วงเวลาดังกล่าวเพียง 20 % ่