บทที่ 4...

26
บทที่ 4 บทที่ 4 การจัดเวลาซีพียู 4.1 ความนา ในการทางานของคอมพิวเตอร์นั ้น งานทุกอย่างจะต ้องถูกกระทาโดยซีพียู ซึ ่งในระบบ คอมพิวเตอร์โดยทั่วไปมักจะเป็นสถาปัตยกรรมที่มีซีพียูเพียงแค่หนึ ่งตัว และจะต้องรองรับการ ทางานทั ้งหมดที่เกิดขึ ้นในระบบคอมพิวเตอร์นั ้นๆ หากระบบปฏิบัติการที่ใช้ในระบบคอมพิวเตอร์ นั ้นไม่มีการจัดสรรการทางานของซีพียูที่ดีพอ จะทาให้ประสิทธิภาพของการทางานในระบบ คอมพิวเตอร์นั ้นลดลง 4.2 การจัดเวลาซีพียู การจัดเวลาซีพียู (CPU Scheduling) เป็นหลักการทางานหนึ ่งของระบบปฏิบัติการ ที่ทาให้คอมพิวเตอร์มีความสามารถในการเปิดโปรแกรมหลายๆ โปรแกรมในเวลาเดียวกัน ซึ ่งการ แบ่งเวลาการเข้าใช้ซีพียูให้กับโปรเซส จะทาให้คอมพิวเตอร์สามารถทางานได้ปริมาณงานที่มากขึ ้น กว่าการที่ให้ซีพียูทางานให้เสร็จทีละโปรเซส ความสาคัญของการจัดเวลาของซีพียูนั ้น ขึ ้นอยู่กับคุณลักษณะของโปรเซส โดยทั่วๆ ไป การประมวลผลโปรเซสจะประกอบด้วยเวลาที่ใช้ซีพียู (CPU Burst Cycle) และเวลาที่ต้องคอย อุปกรณ์อินพุต/เอาต์พุต (I/O Burst Cycle) ในขณะที่มีการประมวลผลโปรเซส จะมีการสลับการ ทางานระหว่าง 2 ช่วงเวลานี ้เท่านั ้น และจะเกิดไม่พร้อมกัน การประมวลผลมักจะเริ่มจากการใช้ ซีพียู แล้วก็จะตามด้วยการคอยอินพุต/เอาต์พุต เมื่อจบการรอคอย ก็จะตามมาด้วยเวลาของซีพียู สลับกันไปเรื่อย ๆ จนกว่าจะจบการประมวลผล ซึ ่งการสิ้นสุดการประมวลผลนี ้มักจะเป็นการใชเวลาซีพียูเพื่อทาการจบหรือสิ้นสุดโปรแกรมมากกว่าการรอคอยอินพุต/เอาต์พุต ดังภาพที4.1

Upload: others

Post on 22-Nov-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

บทท 4 การจดเวลาซพย

4.1 ความน า

ในการท างานของคอมพวเตอรนน งานทกอยางจะตองถกกระท าโดยซพย ซงในระบบคอมพวเตอรโดยทวไปมกจะเปนสถาปตยกรรมทมซพยเพยงแคหนงตว และจะตองรองรบการท างานทงหมดทเกดขนในระบบคอมพวเตอรนนๆ หากระบบปฏบตการทใชในระบบคอมพวเตอรนนไมมการจดสรรการท างานของซพยทดพอ จะท าใหประสทธภาพของการท างานในระบบคอมพวเตอรนนลดลง

4.2 การจดเวลาซพย การจดเวลาซพย (CPU Scheduling) เปนหลกการท างานหนงของระบบปฏบตการ

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

Page 2: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

76

ภาพท 4.1 แสดงการท างานทหลากหลายทใชเวลาซพยและเวลาในการคอยอนพต/เอาตพต ทมา (http://csnon04.blogspot.com/2008/03/3_06.html, 2552) ไดมการศกษาถงลกษณะชวงเวลาของการใชซพยจนสามารถมองเหนคราวๆ วา ลกษณะของชวงเวลาทใชซพยในแตละโปรเซสจะมรปแบบอยางไร ถงแมวารปแบบของเวลาอาจจะมความแตกตางกนอยบาง แตกมแนวโนมวา แตละโปรเซสมกจะมคาบเวลาการเขาใชซพยคลายๆ กน ดงภาพท 4.2

เวลาอนพต/เอาตพต

Store increment index เวลาซพย write to file

รอคอยอนพต/เอาตพต

: load store add store เวลาซพย read from file

รอคอยอนพต/เอาตพต เวลาอนพต/เอาตพต

:

Page 3: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

77

ภาพท 4.2 แสดงลกษณะของชวงเวลาทใชซพยในแตละโปรเซส ทมา (http://csnon04.blogspot.com/2008/03/3_06.html, 2552) จากกราฟอธบายไดวา การใชซพยของโปรเซสใดๆ นน มกจะมความถมากส าหรบเวลาซพยชวงส นๆ สวนเวลาซพยระยะเวลานานๆ นนจะมความถนอยกวา นอกจากนยงมแนวโนมวา โปรเซสทมการตดตอแลกเปลยนขอมลกบอปกรณภายนอกมากๆ กมกจะมชวงเวลาของการใชซพยคอยขางส นแตบอยครง และมชวงเวลาการใชซพยนานๆ เพยงเลกนอย การศกษาคณสมบตของโปรเซสตางๆ เหลานอยางละเอยด ท าใหสามารถน ามาใชเปนขอมลในการเลอกลกษณะของอลกอรทมทเหมาะสม ส าหรบการจดเวลาใหกบซพยใหดทสดในระบบคอมพวเตอรแตละระบบไดตอไป (วเชษฐ พลายมาศ, 2552) จดประสงคของการใชงานโปรแกรมหลายโปรแกรมคอ ความตองการทจะใหซพยมการท างานตลอดเวลา เพอใหมการใชซพยอยางเตมท และเตมประสทธภาพ ซงระบบคอมพวเตอรทมซพยเพยงตวเดยว ในเวลาใดเวลาหนงซพยจะท างานไดเพยงงานเดยวเทานน ถามหลายโปรแกรมหรอหลายงาน งานทเหลอกตองคอยจนกวาจะมการจดการใหเขาไปใชซพย ความคดและหลกการท างานกบหลายโปรแกรมในขนพนฐานนน คอนขางจะไมซบซอน แตละโปรแกรมจะถกท างาน จนกระทงถงจดทมนตองคอยอะไรซกอยางเพอใชส าหรบการท างานในชวงตอไป สวนมากการคอยเหลานกคอการท างานทเกยวของกบอนพต/เอาตพตนนเอง ในระบบคอมพวเตอรทมความสามารถเรยกใชงานโปรแกรมไดทละโปรแกรม การท างานของระบบจะไม

Page 4: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

78

ซบซอน ซพยจะหยดการท างานในระหวางทคอยอนพต/เอาตพตน ซงการคอยเหลานเปนการเสยเวลาโดยเปลาประโยชน เพราะซพยไมไดท างานเลย สวนหลกในการท างานหลายโปรแกรม จะพยายามใชเวลาทซพยตองคอยนท างานอยางอนตอไป ดงนนเมอใดกตามทซพยตองคอย และยงมโปรแกรมในหนวยความจ าหลายโปรแกรมทคอยการใชซพยอย จะจดใหซพยท างานในโปรแกรมเหลานนทนท ซงระบบจะจดการน าเอาโปรแกรม ทตองคอยอนพต/เอาตพตออกไปกอน เพอทจะใหโปรแกรมอนทคอยใชซพยน สามารถเขามาได ถาท างานในแบบนไปเรอยๆ ซพยกจะไดมการท าเกอบตลอดเวลากบโปรแกรมหลายๆ โปรแกรม ทอยในระบบ การจดเวลาใหกบซพย เปนหลกความตองการพนฐานของระบบปฏบตการในคอมพวเตอร ทรพยากรทคอมพวเตอรมอยในเครองหนงๆ จะถกจดสรรการใชกอนการน าไปใหกบโปรแกรมใดๆ ซพยเองกถอวาเปนทรพยากรของระบบคอมพวเตอรชนดหนงทมความส าคญมากทสดโดย ตวซพยนเองทจะเปนศนยกลางของการสรางระบบปฏบตการทมความสามารถในการท างานหลายโปรแกรม ในบทนจะกลาวถงอลกอรทมพนฐานของการจดเวลาซพย โดยจะอธบายถงวธการหลกๆ ทแตละอลกอรทมมความแตกตางกน ขอดขอเสย และความเหมาะสมตอระบบงานแบบตางๆ เพอการเลอกใชอลกอรทมไดอยางถกตอง

4.3 ตวจดการเวลาซพย เมอใดกตามทซพยวาง ระบบปฏบตการจะตองเขามาเลอกโปรเซสตวใดตวหนงทคอยอยในควเขามาใชงานซพย การเลอกโปรเซสเพอเขามาใชซพยน จะถกจดการดวยสวนทเรยกวา ตวจดการเวลาชวงสน (Short-term Scheduler) หรอตวจดการเวลาซพย (CPU Scheduler) ตวจดการเวลานจะเลอกโปรเซสทอยในหนวยความจ าทพรอมในการประมวลผลทสด เพอใหครอบครองเวลาซพยและทรพยากรทเกยวของกบโปรเซสนน ควของโปรเซสในหนวยความจ านนไมจ าเปนทตองเปนแบบมากอนไดกอน (FIFO : First In First Out) เสมอไป อาจจะเปนไปตามล าดบความส าคญ (Priority) โครงรางตนไม (Tree) หรออาจจะเปนลงคลสต (Linked List) กได อยางไรกตามโปรเซสทกโปรเซสทพรอมใชซพย จะตองมโอกาสไดเขาครอบครองเวลาซพยไมเวลาใดกเวลาหนง ซงการเขาและออกจากการครอบครองเวลาซพยแตละครง จ าเปนตองมการเกบขอมลไวเสมอวา เขามาแลวไดท าอะไรไปบาง ชวงตอไปจะท าอะไร เปนตน โดยใชพนทหนวยความจ าสวนหนงเกบขอมลของแตละโปรเซสหลงเสรจสนการใชซพย พนทหนวยความจ านมชอวา บลอกควบคมโปรเซส (PCB : Process Control Block)

Page 5: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

79

4.4 การใหสทธการจดเวลาซพย การตดสนใจของซพยในการเลอกประมวลผลโปรเซสใด ๆ ขนอยกบสถานการณดงน 1) เมอมการเปลยนสถานะของโปรเซสจากสถานะท างาน (Run) ไปเปนสถานะคอย (Wait) เชนในสภาวะทคอยอนพต/เอาตพต หรอการคอยใหโปรเซสลกเสรจสนไปกอน 2) เมอมการเปลยนสถานะของโปรเซสจากสถานะท างาน (Run) เปนสถานะพรอม (Ready) เชนเมอมการขดจงหวะเกดขนเปนตน 3) เมอมการเปลยนสถานะของโปรเซสจากสถานะคอย (Wait) เปนสถานะพรอม (Ready) เชนเมออนพต/เอาตพตเสรจสนไปแลว เปนตน 4) เมอโปรเซสเสรจสนไปแลว หากโปรเซสทก าลงถกซพยท าการประมวลผลอย เสรจสนการท างาน หรอถกก าหนดใหอย

ในสถานะสนสด (Terminate) แมจะประมวลผลเสรจสนแบบไมสมบรณกตาม

ทง 4 สถานการณดงกลาวขางตน ในสถานการณท 1 และ 4 นนเปนสถานการณทจะตองมการตดสนใจท าอะไรอยางใดอยางหนงโดยไมสามารถหลกเลยงได เชน ตองเลอกโปรเซสใหมเขามาประมวลผลตอไป เนองจากโปรเซสเดมไมใชซพยอกแลว แตส าหรบสถานการณท 2 และ 3 นน การตดสนใจตองอยบนพนฐานหรอกฎเกณฑของแตละอลกอรทมทใช ซงอาจท าใหมการท างานแตกตางกนไป

การตดสนใจทเกดขนเนองจากสถานการณท 1 และ 4 การจดเวลาซพยจะเปนแบบไมใหสทธกอน (Nonpreemptive) นอกนนจะเรยกวาใหสทธกอน (Preemptive) ภายใตการท างานแบบไมใหสทธกอนน โปรเซสจะครอบครองเวลาซพยไปจนกวาจะเสรจสน หรอเปลยนสถานะตวเองเปนสถานะคอย การจดเวลาซพยแบบน เปนวธการทใชอยในระบบปฏบตการวนโดวส และระบบปฏบตการแมคอนทอชโปรเซสใด ๆ ในระบบนสามารถครอบครองเวลาซพยไดจนกวาจะหมดความตองการ ถาระบบนตองการท างานเปนระบบหลายผใช (Multi-user System) การจดเวลาแบบใหสทธกอนจะเหมาะสมกวา

ดงนนการจดเวลาซพยแบบไมใหสทธกอน คอวธการจดสรรซพยใหแกโปรเซส ซงโปรเซสนนสามารถใชซพยไปไดจนกระทง เกดการคอยอนพต/เอาตพตหรอจนกระทงเสรจงาน

Page 6: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

80

4.5 ขอพจารณาในการจดเวลา อลกอรทมของการจดเวลาซพย มคณสมบตแตกตางกนไป ซงอาจจะมการใหความส าคญ

กบโปรเซสบางอยางมากกวาโปรเซสชนดอนๆ ดงนนการเลอกอลกอรทมส าหรบใชในสถานการณตางๆ นน เราจ าเปนทจะตองพจารณาถงคณสมบตเหลานใหดวามขอด ขอเสยอยางไร

ขอการพจารณาหลายขอ ไดถกก าหนดไวเพอใชในการเปรยบเทยบอลกอรทมตางๆ ซงลกษณะขอพจารณาแตละชนดนนสามารถสรางความแตกตางใหเหนไดอยางชดเจนในการตดสนวาอลกอรทมไดดทสด ขอการพจารณาดงกลาวมดงน

4.5.1 อรรถประโยชนของซพย (CPU Utilization) คอ ค านงถงการใชประโยชนจากซพยอยางสงสด โดยท าใหซพยมงานท ามากทสด

เทาทจะท าได ซงเมอคดเปนเปอรเซนตแลวการใชงานซพยสามารถวดไดออกมาในระหวาง 0-100 เปอรเซนต ส าหรบในการท างานจรง ซพยควรจะถกใชอยระหวาง 40-90 เปอรเซนต

4.5.2 จ านวนงานทเสรจตอหนวยเวลา (Throughput) ถาหากวาซพยท างานตลอดเวลา กหมายความวางานกก าลงถกท าใหเสรจ ซงสามารถจะวด

ออกมาไดเปนจ านวนงานทเสรจตอหนวยเวลา หรอเรยกวา ทรพต (Throughput) ส าหรบงานทมความยากมาก อตราการท างานหรอคาของทรพต อาจจะเปนหนงงานตอชวโมง และถาเปนงานทสนกอาจจะท าใหทรพตของระบบสามารถวดไดถง 10 งานตอวนาท

4.5.3 เวลาทงหมด (Turnaround Time) คอชวงเวลาทงหมดทใชในการท างานใดงานหนงตงแตเรมตนเขาไปในระบบ จนงานถก

ท าจนเสรจเรยบรอย ซงจะรวมเอาเวลาทจะตองรอทจะเขาไปในหนวยความจ า เวลาทคอยอยในคว เวลาทใชซพย และเวลาของอนพต/เอาตพตทงหมดเขาดวยกน

4.5.4 เวลารอคอย (Waiting Time) คอชวงเวลาทงานใดงานหนงตองรอการท างานของตวจดเวลา โดยไมรวมเวลาของการใช

ซพย และเวลาของการตดตออนพต/เอาตพต สวนใหญกคอเวลาทงานตองคอยอยในคว (Ready Queue) นนเอง

Page 7: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

81

4.5.5 เวลาตอบสนอง (Response Time) คอเวลาทวดระหวางเวลาทมการรองขอการกระท าใดๆ ตอระบบแลวมการตอบรบกลบ

ออกมา ซงในบางโปรแกรมทมการตดตอกบผใชภายนอกมากๆ เวลารวมทงหมดอาจจะไมใชจดประสงคหลกทตองการ เพราะเมอมการตดตอระหวางโปรแกรมกบผ ใชภายนอกน น ระบบปฏบตการจะสนสดการรบผดชอบเมอการรองขออนพต /เอาตพตสนสดลง ตอจากนนระบบปฏบตการกจะไปจดการในเรองภายในทเกยวของกบซพย อปกรณอนพต/เอาตพตตางๆ ทตดตอกบระบบเหลานจะเปนผตดตอกบผใชเอง ดงนนความเรวของเวลาตอบสนองจงมกจะขนอยกบอปกรณอนพต/เอาตพตเหลาน ตวอยางเชน เครองพมพ ซพยอาจท าการค านวณใดๆ สนสดแลว และไดมการใหผลลพธออกมา และซพยกก าลงท างานอนตอไปแลว แตผลลพธทไดน อาจจะตองใชเวลาอกซกระยะหนงกวาทผใชจะมองเหนผลลพธปรากฏบนกระดาษ อยางนเปนตน จากการวดลกษณะตางๆ ของระบบดงกลาวขางตน สรปไดวาสงทผออกแบบระบบการจดการเวลาตองการกคอ การท าใหเวลาการท างานสนทสดนนเอง แตในความเปนจรงแลว เราไมสามารถทจะไดระบบทสามารถท าใหมการใชซพยไดสงสด โดยทมทรพตมากทสด ม เวลารวมเรวทสดและไดเวลาตอบสนองเรวทสดไดพรอมๆ กน ดงนนการหาจดพอดจากคาเฉลยของคณสมบตแตละชนดจงมความจ าเปน ซงบางครงอาจจะตองมการก าหนดจดทยอมรบไดไวทจดใดจดหนง ถาหากวาไมสามารถหาคาเฉลยได อยางไรกตามไดมการแนะแนวทางไววา ส าหรบคอมพวเตอรทท างานแบบอนเตอร แอกทฟ (Interactive) ในระบบแบงเวลา (Time Sharing) การท าใหเวลาตอบสนองมความคงทแนนอนสงสด มความส าคญกวาการทท าใหระบบมทรพตสงสด เพราะวาผใชอาจตองการระบบทมเวลาในการตอบสนองทแนนอนส าหรบผใชหลายๆ คน อยางไรกตามความแนนอนและเชอถอไดของการตอบสนองค าสงในระบบแบงเวลา กอาจเปนเรองทไมส าคญมากนกในบางระบบของการท างาน (นรรตน นยมไทย, 2549)

4.6 อลกอรทมของการจดเวลาซพย อลกอรทมส าหรบการจดเวลาโปรเซสนน มความส าคญอยทการตดสนใจวาจะใหโปรเซสใดครอบครองเวลาซพยกอน

Page 8: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

82

4.6.1 การจดเวลาแบบมากอนไดกอน (FCFS : First Come First Served) วธการในการจดเวลาทงายทสดส าหรบการคดเลอกโปรเซสใหครอบครองเวลาซพย คอ อลกอรทมทใชแนวความคดของการมากอนไดกอนซงมหลกการงายๆ คอ โปรเซสใดทรองขอใชซพยกอน กจะไดรบการจดสรรใหครอบครอบเวลาของซพยกอน ซงการสรางอลกอรทมนขนมา ท าไดไมยาก เพราะสามารถน าเอาหลกการของควมากอนไดกอน (FIFO Queue) มาใชไดเลย เมอมโปรเซสใดเขามาอยในควแบบน บลอกควบคมโปรเซสของงานกจะถกเชอมไวกบหางของคว เมอใดทซพยวางลง โปรเซสใดทมบลอกควบคมโปรเซสอยทหวของควกจะถกน าออกมาจากควใหเขาครอบครองเวลาซพยไดเลย คาเฉลยของการคอยในควแบบมากอนไดกอนนคอนขางจะสง ซงนกคอผลเสยของการใชหลกการแบบน ตวอยางทจะแสดงตอไปน จะใชอธบายไดวา ท าไมมากอนไดกอน จงท าใหคาเฉลยของการคอยจงมคาสง ตารางท 4.1 แสดงขอมลโปรเซสในตวอยางการจดเวลาแบบมากอนไดกอน

โปรเซส ระยะเวลาความตองการซพย (วนาท) P1 P2 P3

24 3 3

สมมตวางานมาถงควตามล าดบดงน คอ P1, P2 และ P3 แถวคอยในระบบมากอนไดกอนจะมลกษณะดงภาพท 4.3

P1 P2 P3 0 24 27 30 ภาพท 4.3 แสดงแถวคอยของโปรเซสในระบบมากอนไดกอน เวลาการคอย P1 ในทนจะมคาเปน 0 วนาท และของ P2 คอ 24 วนาท และP3 คอ 27 วนาท คาเฉลยของการคอยในสถานการณเชนนกจะเทากบ (0+24+27)/3 หรอ 17 วนาท แตถาสมมตวาโปรเซสเขามาในควตามล าดบใหม เชน P3, P2 และ P1 ควกจะมลกษณะทตางออกไปดงภาพท 4.4

Page 9: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

83

P3 P2 P1

0 3 6 30 ภาพท 4.4 แสดงแถวคอยของโปรเซสในระบบมากอนไดกอนในควตามล าดบใหม จากสถานการณสมมตทสองน จะไดวา เวลาควของ P3 เทากบ 0 วนาท P2 เทากบ 6 วนาทและของ P1 เทากบ 6 วนาท ซงจะท าใหคาเฉลยของการคอยมคาเทากบ (0+3+6)/3 = 3 วนาทเทานน จะเหนไดวาถงแมจะมโปรเซสเหมอนกนรอการเขาครอบครองซพย แตหากวาล าดบการเขาไปในควมความส าคญแตกตางกนแลว กอาจท าใหคาเฉลยของเวลาในการคอยมความแตกตางกนไดมาก นนกคอเวลาของการคอยในแบบมากอนไดกอน นนยงคงไมดพอ ถาหากวาความตองใชซพยของแตละโปรเซสมคาบเวลาทแตกตางกนมาก ดงตวอยางขางตน จากตวอยางทผานมาเปนเพยงตวอยางของโปรเซสทมการรองขอในซพยเพยงครงเดยว สมมตวาโปรเซสทเขามามท งความตองการใชซพย และอนพต/เอาตพตสลบกนไป โปรเซสทตองการใชซพยในระยะเวลาสนๆ จะตองเสยเวลาคอยโปรเซสทตองใชซพยเปนระยะเวลานานๆ ครงแลวครงเลา ถามการสลบกนระหวางเวลาซพยและเวลาอนพต/เอาตพต 100 ครง คาเฉลยของเวลาการคอยกจะเปนคาเฉลยทนานทสด ตามตวอยางล าดบของโปรเซส P1P2P3 ดงกลาว ลกษณะการท างานของการจดเวลาซพยแบบมากอนไดกอนน เปนอลกอรทมแบบไมใหสทธกอน นนกคอเมอโปรเซสใดครอบครองเวลาซพยแลว ซพยจะไมมโอกาสไดวางจนกวาความตองการใชซพยของโปรเซสนนจะสนสดลงดวยการสลบไปยงเวลาอนพต/เอาตพต ซงจะกอใหเกดปญหาใหญใหกบระบบคอมพวเตอรแบบแบงเวลา เพราะวาผใชคนอนๆ อาจจะตองคอยเวลาใหโปรเซสของตนเอง ซงอาจเปนโปรเซสสนๆ เสรจลงพรอมกบโปรเซสของผอนทใชเวลายาวนานกวามากๆ

4.6.2 การจดเวลาแบบงานสนท ากอน (SJF : Short-Job-First Scheduling) จากการทไดพบเหนปญหาในหลกการของอลกอรทมมากอนไดกอน ท าใหมการคดคนตอไปวา ท างานอยางไรจงจะเกดความพอดระหวางโปรเซสทตองการเวลาซพยสนๆ กบโปรเซสทตองการเวลาซพยนานๆ ผลลพธกคอ แนวความคดทจะท าใหโปรเซสทตองการคาบเวลาของซพยในเวลาถดไปสนทสด จะไดรบเลอกใหเขามาครอบครองเวลาซพยกอน และถามโปรเซสหลายตวท

Page 10: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

84

มคาบเวลาของซพยของชวงตอไปเทา ๆ กนกจะใชหลกการมากอนไดกอนในการคดเลอก ซงอาจมชอเรยกการคดงานแบบนวา ส นทสดไดใชเวลาซพยตอไป (Shortest next CPU burst) เพราะแนวความคดนจะมการจดคาบเวลาของเวลาซพยชวงตอไปเพยงชวงเดยวมากกวาการวดรวมวาตลอดทงโปรแกรมตองการใชซพยนานเทาไหร

ตวอยางการท างานของการจดเวลาแบบงานสนท ากอน โดยสมมตขอมลโปรเซสทมเวลาซพยดงตารางท 4.2

ตารางท 4.2 แสดงขอมลโปรเซสในตวอยางการจดเวลาแบบงานสนท ากอน

โปรเซส ระยะเวลาความตองการซพย (วนาท) P1 6 P2 8 P3 7 P4 3

ถงแมวาล าดบการเขามาในควอาจจะเปน P1, P2, P3 และ P4 แตการใชหลกการของการจด

เวลาแบบงานสนท ากอน จะจดควออกมาไดในลกษณะดงภาพท 4.5

P4 P1 P3 P2 0 3 9 16 24 ภาพท 4.5 แสดงแถวคอยของโปรเซสในระบบงานสนท ากอน

คาเฉลยของการคอยของงานในระบบกจะเทากบ ( 0+3+9+16 ) / 4 = 7 วนาท ซงหากวาใชหลกการของมากอนไดกอน คาเฉลยของการคอยจะเทากบ ( 0+6+14+21 ) /4 = 10.25 จะเหนไดวามความแตกตางกนถง 3.25 วนาท

จากการทดลองจะพบวาการจดเวลาแบบงานสนท ากอน จะใหคาเฉลยการคอยไดต าทสด ส าหรบชดของโปรเซสใดๆ กตาม เพราะการเลอนโปรเซสทมเวลาซพยนอยสดมาไวหนาคว จะม

Page 11: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

85

การลดเวลาการคอยในโปรเซสสนมากกวาการเพมเวลาของโปรเซสทยาวเสมอ ดงนนคาเฉลยของการคอยแบบนจงต าทสด

สงทยากมากส าหรบการใชวธการจดเวลาแบบงานสนท ากอน กคอการวดคาเวลาซพยถดไปของแตละโปรเซสทรองขอซพยเขามา ซงในระบบการท างานแบบแบตซ (Batch System) เจาของโปรเซสจะเปนผบอกชวงเวลาทจ ากดของการใชซพยส าหรบโปรเซสใหกบระบบ เพอใชเปนขอมลอางองส าหรบการจดล าดบดงกลาว ซงเจาของโปรเซสกจะพยายามทจะใหคาต าทสด เพอโอกาสในการเขาไปใชซพยกอนมมากทสดแตถาคาบเวลาทก าหนดไวนมคานอยเกนไป กจะท าใหโปรแกรมนนไมสามารถค านวณส าเรจได ซงจะตองเสยเวลามาเรมตนใหมอก การจดเวลาแบบ SJF นน เปนวธการทใชกนมากในระบบแบตซหรอการจดเวลาชวงยาว (Long-term Scheduling)

อยางไรกตาม ถงแมวาการจดเวลาแบบงานสนท ากอนจะมขอไดเปรยบในแงของคาเฉลยของการคอย การจดเวลาแบบงานสนท ากอนกยงคงมปญหาในการน ามาใชในการจดเวลาชวงสน (Short-term Scheduling) เพราะวาเราไมมทางจะรไดวาความยาวของคาบเวลาการใชซพยในชวงตอไปของแตละโปรเซสเปนเทาใด วธการทใชมกจะเปนแคการประมาณเอาเทานน โดยประมาณเอาจากระยะเวลาของเวลาซพยในคาบเวลาทผานมาดวยการหาคาเฉลย เปนตน

การท างานของอลกอรทม การจดเวลาแบบงานสนท ากอนสามารถเปนไดทงแบบใหสทธกอน หรอไมใหสทธกอน การตดสนใจเกดขนทกครงเมอมโปรเซสใหมเขามาในคว ในขณะทยงมโปรเซสอนใชงานซพยอย เพราะวาโปรเซสใหมอาจมคาบเวลาของเวลาซพยสนกวาเวลาทเหลออยของเวลาซพยของโปรเซสทก าลงใชซพย ถาเปนแบบนนอลกอรทมทเปนแบบใหสทธกอนจะท าการหยดงานทก าลงใชซพยอย แตถาเปนแบบไมใหสทธกอนอลกอรทมนกจะปลอยใหงานทท างานอยนนใชซพยจนเสรจสนเวลาซพยของชวงเวลานน

ตอไปนจะเปนตวอยาง เพอความเขาใจในเรองการจดเวลาแบบงานส นท ากอนแบบ ใหสทธกอน โดยสมมตใหมโปรเซสทจะเขามาในระบบ 4 โปรเซสดงตารางท 4.3

ตารางท 4.3 แสดงขอมลโปรเซสในตวอยางการจดเวลาแบบงานสนท ากอนแบบใหสทธกอน

โปรเซส เวลาทมาถง เวลาทใช P1 0 8 P2 1 4 P3 2 9 P4 3 5

Page 12: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

86

เมองานมาถงควตามเวลาทแสดงไว ล าดบของการเขาใชซพย จะเปนดงภาพท 4.6

P1 P2 P4 P1 P3 0 1 5 10 17 26 ภาพท 4.6 แสดงแถวคอยของโปรเซสในระบบงานสนท ากอนแบบใหสทธกอน

อธบายไดวา เมอโปรเซส P1 เขามาเมอเวลา 0 วนาท โปรเซส P 1 กไดเขาไปทซพยทนทเนองจากวายงไมมโปรเซสอนเขามา เมอถงเวลาท 1 วนาท งาน P2 ซงมคาบเวลาซพยสนกวาคอ 4 วนาท เมอเทยบกบ P1 ซงยงเหลออก 7 วนาทดงนนงาน P1 ยงเหลอมากกวา P4 แตนอยกวา P3 การจดล าดบการเขาใชซพย จงออกมาตามภาพท 4.6 โดยถาให P2 แทรก P1 กลางคน การจดล าดบการเขาใชซพย จงออกมาดงภาพท 4.7 ซงจะมเวลาคอยเฉลยจะเทากบ ((10-1)+(1-1)+(17-2)+ (5-3))/4 = 26/4 =6.5 วนาท แตถาหามแทรกกลางคน เวลารอคอยเฉลยจะเทากบ ((0)+(8-1)+ (17-2)+(12-3))/4 = 31/4 =7.75 วนาท

P1 P2 P4 P3

0 8 12 17 26 ภาพท 4.7 แสดงแถวคอยของโปรเซสในระบบงานสนท ากอนแบบใหสทธกอนเมอมการแทรกคว

4.6.3 การจดเวลาตามล าดบความส าคญ (Priority Scheduling) วธการของอลกอรทมการจดเวลาแบบงานสนท ากอน สามารถมองไดอกแงหนงวาเปนการ

จดเวลาตามล าดบความส าคญชนดหนงล าดบความส าคญของแตละโปรเซสจะถกก าหนดไวดวยวธใดวธหนง เพอวาการชพยจะมการใชกบโปรเซสทมล าดบความส าคญสงทสดเทานน แตถามงานทมล าดบความส าคญเทากน กจะมการน าแบบมากอนไดกอนมาใช ในทนวธการของการจดเวลาแบบงานสนท ากอน ไดมการก าหนดล าดบความส าคญของโปรเซสดวยคาบระยะเวลาของความตองการใชซพย หรอเวลาซพยของแตละโปรเซส เชนโปรเซสใดมคาบเวลาสนทสดกจะมล าดบความส าคญมากทสด ทนเมอเราพดถงความมากนอยของล าดบความส าคญ กมความจ าเปนทจะตองก ากบไวดวยสญลกษณทเปรยบเทยบกนไดเชน ตวเลขจ านวนนบ เปนตน แตจะก าหนดใหมกระดบนนกสดแลวแตผออกแบบ อาจเปน 0-9 หรอ 0-6789 กไดและกไมมกฎตายตววาเลขมากหรอเลขนอยจะม

Page 13: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

87

ความหมายในเรองของล าดบความส าคญอยางไร ซงการไมมขอตกลงในการใชระบบการก ากบของความส าคญเหลาน อาจกอใหเกดความสบสนขนไดดงนนในหนงสอเลมนจะมการก าหนดวาตวเลขนอยมล าดบความส าคญมาก เพอเปนทเขาใจรวมกน

ตวอยางตอไปนเปนการแสดงถงการจดเวลาซพย แบบใชตวเลขเปนตวบอกล าดบความส าคญ โดยมตวอยางโปรเซส 5 ตวอยางดงตารางท 4.4

ตารางท 4.4 แสดงขอมลโปรเซสในตวอยางการจดเวลาตามล าดบความส าคญ

โปรเซส เวลาทใช ล าดบความส าคญ P1 P2 P3 P4 P5

10 1 2 1 5

3 1 3 4 2

หากใชการจดเวลาแบบการใชล าดบความส าคญเราจะสามารถจดล าดบของโปรเซสใหเขา

ไปท างานซพยไดดงภาพท 4.8

P2 P5 P1 P3 P4 0 1 6 16 18 19 ภาพท 4.8 แสดงแถวคอยของโปรเซสในระบบการจดเวลาตามล าดบความส าคญ

ซงคาเฉลยของการคอยในควของแตละโปรเซสมคาเทากบ (1+6+16+18)/5 = 8.2 วนาทการก าหนดล าดบความส าคญของแตละโปรเซสสามารถก าหนดไดท งภายใน และภายนอก การก าหนดภายในคอ การก าหนดล าดบความดวยวธการใดวธการหนงจากการวดและค านวณคณสมบตบางอยางของแตละโปรเซสทสามารถวดคาได คณสมบตทวดคาไดเหลานเชน เวลาของการจ ากดการใชซพย ความตองการขนาดของหนวยความจ า จ านวนไฟลทตองเกยวของหรอแมแตอตราสวนของจ านวนเวลาอนพต/เอาตพตตอเวลาซพย เปนตน สวนการก าหนดจากภายนอก หมายถง การก าหนดล าดบความส าคญของโปรเซสใดๆ จากว ธการอนนอกเหนอจาก

Page 14: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

88

ระบบปฏบตการ ตวอยางเชน ราคาคาเชาเวลาซพย แหลงทมาของโปรเซส หรอความเรงดวนของโปรเซส เหลานลวนสามารถน ามาเปนตวทใชส าหรบค านวณคาของล าดบความส าคญของโปรเซส กอนทระบบปฏบตการจะรบเอาโปรเซสเขามานนเอง

การจดเวลาแบบมล าดบความส าคญ สามารถเปนไดทงแบบใหสทธกอนหรอไมใหสทธกอนกได โดยมลกษณะการท างานเหมอนกบการจดเวลาแบบงานสนท ากอน ดงกลาวมาแลวทกประการ ปญหาใหญของการจดเวลาซพย โดยใชล าดบความส าคญของโปรเซสมาเกยวของกคอโปรเซสทมล าดบความส าคญต าอาจจะไมมโอกาสไดเขาไปใชซพยเลย ถาหากวามโปรเซสทมล าดบความส าคญสงกวาอยเปนจ านวนมาก ซงโดยปกตแลวโปรเซสทมล าดบความส าคญต าเหลาน กวาจะไดรบซพยมาท างาน กอาจจะตองรอเปนเวลานานหรอไมกตองถกยกเลกไปในทสดเพราะระบบคอมพวเตอรมการตดขดและตองเรมเปดเครองกนใหม

การแกปญหาใหกบสถานการณทมโปรเซสหลงเหลอ เนองจากมล าดบความส าคญต ากคอ การเพมล าดบความส าคญใหกบโปรเซสทยงไมเสรจเหลาน ตามระยะเวลาทคอยอยในคว ตวอยางเชน สมมตวาเรามการออกแบบใหมล าดบความส าคญจาก 0-127 ขน เราอาจจะเพมอลกอรทมพเศษลงไปวา ถาโปรเซสใดคอยการใชซพยครบ 15 นาท กใหลดตวเลขล าดบขนลง ทละขน และจะลดลงไปเรอยๆ ทกๆ 15 นาท ซงการท าแบบน แมโปรเซสทเขามาในระบบมล าดบความส าคญต าสดท 127 กจะมโอกาสเขาไปใชซพยภายในเวลาไมเกน 32 ชวโมง เพราะในทสดโปรเซสนกจะมล าดบความส าคญเทากบ 0

4.6.4 การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) การจดเวลาแบบวนรอบ เปนวธการทคดขนมาเพอใชกบระบบคอมพวเตอรแบบแบงเวลาโดยเฉพาะ โดยมลกษณะการท างานแบบมากอนไดกอน แตใหมกรรมวธของสทธกอนรวมอยดวย แตละโปรเซสทเขามาในระบบจะถกจ ากดเวลาการเขาไปใชซพยเทาๆ กน ซงชวงเวลานจะเปนชวงเวลาส นๆ เรยกวา เวลาควอนตม (Quantum Time) หรอชวงเวลา (Time Slice) ระยะเวลาควอนตมน มความยาวระหวาง 10 ถง 100 มลลวนาท และควทใชกเปนแบบวงกลม (Circular Queue) ตวจดเวลาจะมการใหซพยกบโปรเซสทอยในควแบบวนไปรอบๆ ในแตละคาบเวลาทใหนน โดยจะมความยาวนานของการไดรบซพยมากทสดคอ 1 ควอนตม ถาโปรเซสใดไมสามารถกระท าไดส าเรจภายใน 1 ควอนตมน โปรเซสกจะตองถกน ากลบไปไวในควเชนเดม สถานภาพตางๆ ของโปรเซสทยงท าไมเสรจกจะถกบนทกไว เพอวาเมอถงโอกาสไดครอบครองซพยอก กจะไดเรมตนรนตอจากครงทแลวโดยไมตองเรมใหมทงหมด

Page 15: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

89

การสรางระบบการท างานแบบวนรอบ เราจะท าควทพรอมท างาน (Ready Queue) เปนแบบมากอนไดกอนไวส าหรบเกบโปรเซสตางๆ โปรเซสทเขามาใหมจะถกน ามาตอไวทหางของคว ตวจดเวลาจะเลอกเอาโปรเซสทอยตรงหวควออกมา แลวก าหนดใหไทมเมอรหยดการใหเวลาซพยหลงจากนน 1 ควอนตม แลวน าโปรเซสออกไปตอทหางคว ถาหากวาโปรแกรมยงไมสนสดการท างาน โปรเซสบางโปรเซสอาจตองการใชซพยนอยกวา 1 ควอนตม ในกรณนโปรเซสทเสรจกอนถงเวลา 1 ควอนตม จะตองใหออกจากการครอบครองซพย เพอโปรเซสอนทอยตรงหวควเขามาท างานได เวลาเฉลยของการคอยในกรรมวธของวนรอบจะคอนขางนาน ใหลองพจารณาตวอยางการประมวลผล 3 โปรเซสดงตอไปนในแบบวนรอบ โดยทโปรเซสทง 3 เขามาถงระบบพรอมๆ กน ตารางท 4.5 แสดงขอมลโปรเซสในตวอยางการจดเวลาแบบวนรอบ

โปรเซส เวลาทใชไป P1 P2 P3

24 3 3

หากก าหนดใหเวลาควอนตมเทากบ 4 วนาท โปรเซส P1 ครอบครองซพยในครงแรก

4 วนาท แตเวลาทตองการจรงคอ 24 วนาท ดงนนโปรเซส P1 จงเหลอเวลาทตองการอก 20 วนาท แตเมอเวลาควอนตมแรกหมดลงทวนาทท 4 โปรเซส P1 กจะออกจากการครองครองซพย โปรเซส P2 ซงเปนโปรเซสทอยถดไปในคว กจะไดครอบครองซพย แตโปรเซส P2 ตองการครองครองซพยแค 3 วนาท ดงนนโปรเซส P2 จงท าเสรจกอนทเวลาของควอนตมจะหมดลง โปรเซส P3 ทคอยอยถดไปจงไดเขาครอบครองซพย ทเวลา 7 วนาท ผลของการท างานแบบควอนตมตอโปรเซสดงกลาวสามารถแสดงไดดงภาพท 4.9 และมคาเฉลยของเวลาทตองคอยคอ 17/3 = 5.66 วนาท

P1 P2 P3 P1 P1 P1 P1 P1

0 4 7 10 14 18 22 26 30 ภาพท 4.9 แสดงแถวคอยของโปรเซสในระบบการจดเวลาแบบวนรอบ

Page 16: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

90

ในหลกการท างานของการวนรอบจะไมมโปรเซสใดๆ ทจะไดรบโอกาสในการครอบครองซพยเกนหนงควอนตม ไมวาโปรเซสทก าลงใชงานอยนนจะเสรจหรอไมกตาม เมอหมดเวลาของหนงควอนตม โปรเซสทก าลงครอบครองซพยอยนนกจะตองถกน าออกมาจากซพย และถายงไมเสรจกจะถกน าเขาไปในคว การท างานแบบวนรอบจงเปนการท างานแบบใหสทธกอนถามโปรเซสอยในควจ านวน n โปรเซส และระยะเวลาของควอนตมเทากบ q หนวย แตละโปรเซสทอยในควจะมเวลาเฉลยของการคอยไมนานไปกวา (n-1) x q หนวย กอนทจะไดรบการเขาไปใชซพยอกครง ตวอยาง เชน ถามโปรเซส 5 โปรเซส และระยะของควอนตมคอ 20 วนาทแตละโปรเซสจะตองคอยในควโดยเฉลยประมาณไมเกน 80 วนาท ทบอกวาไมเกนกเพราะวาการคอยอาจจะนอยกวาน ถาหากกวามโปรเซสใดๆ สามารถท างานเสรจโดยใชเวลานอยกวาเวลาควอนตมนนเอง

ประสทธภาพของการวนรอบขนอยกบการก าหนดขนาดของควอนตมเปนอยางยง ถาขนาดของควอนตมใหญเกนไป ประสทธภาพการวนรอบกจะใกลเคยงกบแบบมากอนไดกอน แตถาขนาดของควอนตมเลกมากเกนไป ทรพต (Throughput) ของระบบกจะชาลง เนองจากการน าเอาโปรเซสเขาและออกจากการครอบครองซพยจะตองเสยเวลาบางสวนในการท า Dispatcher ซงถาขนาดของควอนตมเลกใกลเคยงกบเวลาของ Dispatcher เวลาของระบบรวมกจะหมดไปกบการเอาโปรเซสเขาและออก (Context Switch) นนเอง

ในการท าระบบปฏบตการแบบการวนรอบนน การก าหนดขนาดของควอนตม เปนเรองทตองท ากนอยางพถพถน ซงอาจจะตองมการทดลองใชขนาดของควอนตมหลายๆ ขนาดกบระบบทจะใชจรงเนองจากความเรวของซพยและอปกรณตางๆ ทเกยวของกบการท าคอนเทกซสวตช มความเรวไมเทากนในแตละคอมพวเตอร สวนใหญแลวขนาดของควอนตมมกจะขนาดใหญกวาเวลาของคอนเทกซสวตชพอสมควร เชน ประมาณ 10 เทา เปนตน ซงหมายความวาถาเวลาของคอนเทกซสวตชทตองใชคอ 1 วนาท ขนาดของควอนตมควรจะเปนประมาณ 10 วนาทเปนตน แตนนไมใชเปนสตรตายตวส าหรบระบบงานคอมพวเตอรทก ๆ เครอง การก าหนดขนาดทเหมาะสมยงตองค านงถงลกษณะของโปรเซส ความเรวของซพย และความตองการในลกษณะการตอบสนองของคอมพวเตอรในสภาวการณตางๆ ประกอบกนดวย

เวลาในการวนรอบ (Turnaround time) กเปนอกสวนหนงทจะมผลกระทบจากขนาดของควอนตม เวลาในการวนรอบไมจ าเปนทจะตองดขนจากการทขนาดของควอนตมทเพมขนเสมอไป ในทางปฏบตทว ๆ ไปแลว คาเฉลยของเวลาในการวนรอบจะดขนถางานแตละงานสามารถท าเสรจไดภายในระยะเวลาของ 1 ควอนตม

Page 17: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

91

4.6.5 การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling) เปนการจดเวลาของการน าโปรเซสเขามาครอบครองซพยอกแบบหนง ส าหรบระบบท

สามารถแบงระดบชนของงานไดอยางชดเจน เชน งานทเปนฟอรกราวนด (Foreground) หรออนเตอรแอกทฟ (Interactive) กบงานทเปนแบคกราวนด (Background) หรอแบตช (Batch ) ซงงานทงสองแบบนตองการเวลาตอบสนอง (Response time) ทแตกตางกน ซงสามารถใชระบบการจดเวลาทแตกตางกนได โดยทวไปแลวงานทเปนฟอรกราวนดจะมระดบชนความส าคญเหนอกวางานทเปนแบคกราวนด การจดเวลาแบบควหลายระดบนจะใชวธแบงควออกเปนหลายๆ ระดบโดยทแตละระดบหมายถงระดบโปรเซสทมความส าคญแตกตางกน ซงการแบงระดบความส าคญของโปรเซสนน สามารถแบงไดหลายลกษณะไมวาจะแบงตามขนาดของโปรเซส จ านวนหนวยความจ าทตองใชหรอจ านวนอนพต/เอาตพต เปนตน โดยทแตละคว ยงสามารถใชหลกการของการจดเวลาทแตกตางกนไดดวย เชน งานทเปนฟอรกราวนดกอาจใชการจดตารางแบบการวนรอบ สวนงานทเปนแบบแบคกราวนดกอาจใชวธ การจดตารางเวลาแบบมากอนไดกอน (FCFS) นอกจากนยงมการเพมการจดเวลาระหวางควอกดวย ซงอาจเปนไดท งแบบการจดล าดบความส าคญแบบคงท (Fixed-priority preemptive scheduling) หรอ การจดล าดบความส าคญแบบเปลยนแปลงได (Variable-priority preemptive scheduling) กได ซงในแบบหลงนโปรเซสอาจมการปรบตวเองในเรองของระดบความส าคญดวยการเลอนไปมาระหวางควได

ตวอยางลกษณะของการจดล าดบความส าคญแบบคงททมคว 5 ควดงภาพท 4.10

ภาพท 4.10 การจดเวลาแบบควหลายระดบ ทมา (http://csnon04.blogspot.com/2008/03/3_06.html, 2552)

Page 18: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

92

แตละควจะมความส าคญเหนอกวาควทอยดานลางถดลงไปเสมอ นนกคอโปรเซสทคอยอยในควทมความส าคญต าจะมโอกาสไดออกมาใชซพยกตอเมอควทมความส าคญสงกวาไมมโปรเซสทตองท าเหลออยเทานน หรอท าในขณะทโปรเซสทมล าดบความส าคญก าลงครอบครองซพย แลวมโปรเซสทมล าดบความส าคญสงกวาเขามาคอยอยในควทสงกวา โปรเซสนกจะถกน าออกมาจากซพยทนท อยางไรกตามเพอปองกนไมใหโปรเซสทอยในควต า ตองคอยอยนานเกนไป หรอาจจะ ไมมโอกาสไดเขาไปใชซพยเลย เพราะวาในควบนๆ ไมเคยวางเลย กอาจจะตองมการก าหนดสดสวนเวลาใหกบแตละควในการเขาไปใชซพย เชน การก าหนดใหเวลา 80 เปอรเซนตเปนของโปรเซสทเปนฟอรกราวนด และอก 20 เปอรเซนตเปนของงานแบคกราวนด เปนตน สวนการท างานแบบการจดล าดบความส าคญแบบเปลยนแปลงไดนน อาจมชอเรยกอกอยางไดวาเปนการท างานแบบ Multilevel Feedback Queue Scheduling เพราะวาโปรเซสในแตละ ควสามารถมการเลอนชนระดบความส าคญขนลงได ซงเมอเปรยบเทยบกบแบบการจดล าดบความส าคญแบบการจดล าดบความส าคญคงทแลวอาจจะตองเสยเวลาเพมอกนดหนอยในการค านวณหาระดบความส าคญใหมใหกบโปรเซส ซงสวนมากแลวจะแบงระดบความส าคญตามระยะเวลาของเวลาซพย เชน ท างานไดด เวลาซพยนานขนกอาจจะถกลดชนลงมาสควทมล าดบความส าคญต าได ซงจะท าใหโปรเซสทมการใชซพยนอยแตมอนพต/เอาตพต หรออนเตอรแอกทฟมากๆ มโอกาสเขาไปอยในควทมความส าคญมากได วธนยงเปนการปองกนไมใหโปรเซสทมความส าคญนอยถกดองอยในคว เพราะโปรเซสทอยในควทต ากสามารถเลอนขนไปสควทสงขน ถาคอยอยนานเกนไป พจารณาตวอยางของ Multilevel Feedback Queue ดงภาพท 4.7 ภาพท 4.11 Multilevel Feedback Queues ทมา (http://csnon04.blogspot.com/2008/03/3_06.html, 2552)

Page 19: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

93

เมอโปรเซสแรกเขามาในควแรก กจะไดโอกาสเขาไปครอบครองซพย ภายใตการก าหนดขนาดของควอนตม 8 วนาท ซงถาไมสามารถเสรจไดในเวลาควอนตมทก าหนดน กจะถกลดชนไปอยในควทสองทมการก าหนดขนาดควอนตมไว 16 วนาท และถาเมอไหรควแรกไมมโปรเซสอย โปรเซสทอยในควทมการก าหนดขนาดควอนตมไว 16 วนาท กจะมโอกาสเขาไปครอบครองซพย และถาโปรเซสนยงไมเสรจใน 16 วนาท จะถกลดชนลงมาอยในควแบบมากอนไดกอน ซงจะไดโอกาสครอบครองซพยกตอเมอควควอนตมขนาด 8 วนาทและ 16 วนาทวางเทานน อยางไรกตามถามโปรเซสทถกแชอยในควมากอนไดกอนนานเกนไป โปรเซสเหลานกอาจจะมโอกาสทจะถกน ากลบขนไปยงควดานบนไดเชนกน หลกการท างานแบบนจะใหความส าคญกบโปรเซสใด ๆ กตามทมเวลาซพยนอยกวาหรอเทากบ 8 วนาท สวนงานทมเวลาซพยมากกวา 8 วนาท แตนอยกวาหรอเทากบ 24 วนาท กจะตกลงมาอยในควมากอนไดกอน สงส าคญทตองค านงถงเมอตองการทจะออกแบบการจดเวลาแบบน มดงน

1. จ านวนของคว 2. วธของการจดเวลาของแตละคว 3. หลกเกณฑในการตดสนใจเพมความส าคญของโปรเซส 4. หลกเกณฑในการตดสนใจลดความส าคญของโปรเซส 5. หลกเกณฑในการตดสนใจน าเอาโปรเซสทตองการครอบครองซพยมาเขาในคว จากการท างานของ Multilevel Feedback Queue ดงกลาว ท าใหเปนระบบการจดเวลาทใช

กนอยางแพรหลาย เพราะมนสามารถปรบเปลยนสวนตางๆ ใหเหมาะสมไดงายกบระบบคอมพวเตอรทจะตองควบคม แตการทมนมคาทตองปรบเปลยนเปนจ านวนมากตามทกลาวมาทง 5 ขอขางตนนน กท าใหการตดสนใจหาคาทเหมาะสมเปนสงทกระท าไดไมงายนก เนองจากเปนการปรบแตงทซบซอนมาก (พรพร หมนสนท และคนอน ๆ, 2553)

Page 20: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

94

4.7 การคดเลอกอลกอรทมส าหรบการจดเวลาซพย

หลกเกณฑในการเปรยบเทยบอลกอรทมตางๆ มกจะมาจากอรรถประโยชนของซพย (CPU utilization) เวลาตอบสนอง (Response time) และทรพต (Throughput) ซงตองมการใหคาความส าคญของแตละคณสมบตไว หลกเกณฑการพจารณาอาจก าหนดไดเปน ดงตวอยางดงน

1. ใหมการใชซพยสงสด โดยใหสามารถมชวงเวลาตอบสนองทไมนานไปกวา 1 วนาท

2. ใหมทรพตสงสด โดยทเวลาวนรอบเปนอตราสวนโดยตรงอยางพอเหมาะกบเวลาทตองใชในการรนทงหมด

ในการคดเลอกอลกอรทมส าหรบการจดเวลาซพยนน มอยดวยกนหลากหลายวธ ซงแตละ

ระบบปฏบตการทถกพฒนาขนมาไดคดเลอกอลกอรทมใหเหมาะสมกบตวเอง วธทใชคดเลอกอลกอรทมส าหรบการจดเวลาซพย มดงน

4.7.1 Deterministic Modeling วธนเปนวธการคดเลอกทเรยกวา Analytic Evaluation ซงจะน าเอาอลกอรทมชนดตาง ๆ

และลกษณะของงานมาสรางสตร เพอใชในการค านวณหาตวเลขของประสทธภาพทสามารถวดและเปรยบเทยบได

ตวอยางตอไปน สมมตวามงาน 5 โปรเซสนมาถงระบบทเวลา 0 วนาทตามล าดบทใหไวในตารางโดยมระยะเวลาของซพยตามก าหนด

ตารางท 4.6 แสดงขอมลโปรเซสในตวอยางวธการคดเลอกอลกอรทมส าหรบการจดเวลาซพย

โปรเซส เวลา P1 P2 P3 P4 P5

10 29 3 7

12

Page 21: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

95

อลกอรทมทจะน ามาพจารณา สมมตวาม 3 ชนดคอ มากอนไดกอน (FCFS) งานสนไดท ากอน (SJF) และเวลาวนรอบ (RR) โดยมควอนตม เทากบ 10 วนาท ถาจะพจารณาวาอลกอรทมชนดใดทจะใหคาเฉลยของการคอยต าสด จะมวธการค านวณดงน

ส าหรบการจดเวลาแบบมากอนไดกอน การจดล าดบของโปรเซสใหเขาไปท างานซพยไดดงภาพท 4.12 เวลาการคอยของการจดเวลาแบบมากอนไดกอน คอ (0+10+39+42+49)/5 = 28 วนาท

P1 P2 P3 P4 P5 0 10 39 42 49 61

ภาพท 4.12 ควการจดเวลาแบบมากอนไดกอน การคดเลอกอลกอรทมส าหรบการจดเวลาซพย

ส าหรบการจดเวลาแบบงานสนไดท ากอน จดล าดบของโปรเซสใหเขาไปท างานซพยไดดงภาพท 4.13 เวลาการคอยของการจดเวลาแบบงานสนไดท ากอน คอ (10+32+0+3+20)/5 = 13 วนาท

P3 P4 P1 P5 P2 0 3 10 20 32 61

ภาพท 4.13 ควการจดเวลาแบบงานสนไดท ากอน การคดเลอกอลกอรทมส าหรบการจดเวลาซพย

ส าหรบการจดเวลาแบบวนรอบ การจดล าดบของโปรเซสใหเขาไปท างานซพยไดดงภาพท 4.14 เวลาการคอยของ FCFS คอ (0+32+20+23+40)/5 = 23 วนาท

P1 P2 P3 P4 P5 P2 P5 P2 0 10 20 23 30 40 50 52 61

ภาพท 4.14 ควการจดเวลาแบบวนรอบ การคดเลอกอลกอรทมส าหรบการจดเวลาซพย

Page 22: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

96

จากตวอยางจะเหนไดวา หากใชเกณฑตดสนจากคาเฉลยการคอยของการจดเวลาแบบงานสนไดท ากอน จะเปนอลกอรทมทดทสด เนองจากวามคาเฉลยของการคอยต าทสด

วธ Deterministic Modeling เปนวธทงายและรวดเรว ไดผลลพธทเปนตวเลขแนนอน เพอการเปรยบเทยบทสามารถเหนไดอยางชดเจนวาอลกอรทมแบบไหนดทสด อยางไรกตาม ผลลพธทไดอาจจะไมสามารถเปนจรงไดเสมอในเหตการณจรง เนองจากวาขอมลทใชในการค านวณนนเปนขอมลสมมตทมเพยงคาเดยว หรอไมกมเพยงจ านวนนอย เมอเทยบกบสถานการณจรงแลว ขอมลสมมตเหลานกไมอาจจะเปนตวแทนของเหตการณจรงไดอยางสมบรณ แตส าหรบระบบทไมซบซอนมากจนเกนไป การค านวณจากขอมลทเปลยนไปหลายๆ ครงกอาจท าใหเราสามารถสรปไดวาอลกอรทมไหน ควรจะไดรบการคดเลอก

ในทางปฏบตแลว ระบบงานและระบบคอมพวเตอรมความซบซอนมากกวานมากมาย การใชวธ Deterministic Modeling นมขอจ ากดมากเกนไปส าหรบการน ามาใชกบระบบคอมพวเตอร ในปจจบน

4.7.2 โมเดลการจดคว ลกษณะของงานทเขามาในระบบคอมพวเตอรนน มกจะมลกษณะไมแนนอน ในแตละ

วนทมการใชระบบคอมพวเตอรนน งานตางๆ ทเขามาอาจมลกษณะทไมซ ากนเลย อยางไรกตาม มสงหนงทอาจจะสามารถท านายหรอก าหนดได นนคอการกระจายของเวลาในการใชซพย และของการใชอนพต/เอาตพต ซงสามารถทจะก าหนดแบบคราวๆ ได ซงกเชนเดยวกนกบเวลาของการมาถงระบบของงานตาง ๆ ทสามารถก าหนดไวแบบการกระจายเชนกน จากการก าหนดคากระจายดงกลาว กจะท าใหสามารถทจะค านวณวาคาเฉลยของทรพต การใชงานซพย เวลาคอย หรอคณสมบตอนๆ ไดอกมากมาย

ระบบคอมพวเตอรสามารถอธบายไดวา เปนระบบเครอขายของการใหบรการแบบสถาน หรอมองเปนสายงานการผลต โดยทแตละสถานมควของตวเอง ไมวาจะเปนตวซพยหรออปกรณตางๆ ถารวาเวลาของการใหบรการของแตละสถานนนนานแคไหน และรวาเวลาทงานตางๆ จะเขาทคว เรากสามารถค านวณหาคาทตองการตางๆ ไดแลว วธการนจงมชอเรยกวาการวเคราะหการจดคดแบบแบบเนตเวรค (Queuing-network analysis)

ตวอยาง สมมตให n คอคาเฉลยความยาวของคว โดยไมรวมงานทก าลงท าอย ให w คอคาเฉลยของเวลาทตองคอยในคว ให เปนคาเฉลยของเวลาทงานใหมจะเขามาในระบบ เชน 3

Page 23: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

97

งานตอวนาท เปนตน ตอจากนนเรากจะสามารถค านวณไดวาในขณะทงานใดงานหนงคอยเปนเวลา w งานใหมกจะเขามาเปนจ านวน x w ดงนน n = x w

สตรดงกลาวมชอเรยกวา Little’s Formula สตรนมความส าคญมากในการค านวณ เพราะวาสามารถใชกบอลกอรทมใด ๆ กได ทเรารคาเฉลยการกระจายของเวลาในการมาถงระบบของงาน และอยางนอยเรากสามารถค านวณหาคาของตวใดตวหนงใน 3 ตวแปร n, w, น ถาเรารคาของตวแปรอกสองตว ตวอยางเชน ถาเรารวา จะมงานเขามาในระบบ 7 งานตอวนาทโดยเฉลย และถาจ านวนงานอยในแถวคอย 14 ตว เรากสามารถทราบไดวาคาเฉลยของการคอยในแถวคอยเปน 2 วนาท

การวเคราะหการจดควเปนวธทมประโยชนมาก เพราะสามารถใชค านวณหาตวเลขตาง ๆ เชน เวลาเฉลยของการคอยของแตละอลกอรทมเอาไวเปรยบเทยบกน อยางไรกตามวธนกยงมปญหาอยตรงทสามารถใชค านวณกบอลกอรทมไดไมท งหมด และยงมปญหาในเรองของการค านวณหาคาเฉลยของการกระจายตาง ๆ เพราะถาระบบหรออลกอรทมมความซบซอนมาก การตงสตรเพอค านวณหาคาทถกตองจรงๆ มกจะท าไดยาก ดงนนการตงคาตวเลขของคาเฉลยในการกระจาย มกมการก าหนดไวอยางงายๆ ซงอาจท าใหผลการค านวณไมเทยงตรงเทาทควร

4.7.3 วธการจ าลองระบบ (Simulations)

การจ าลองระบบจะเกยวของกบการใชโปรแกรมคอมพวเตอร ซงจะตองมการเขยนโปรแกรมเพอใหเปนตวแทนหรอหนจ าลองของระบบตางๆ ในคอมพวเตอร นอกจากนยงตองมการเขยนโปรแกรมเพอเปนตวแทนของสงแวดลอมทเกยวขอกบระบบคอมพวเตอรนนๆ อกดวย สงส าคญในการสรางแบบจ าลองคอการมตวแปรทเปนตวแทนของเวลา เพอเปนสงอางถงต าแหนงหรอเปนหลกในการสรางเหตการณตางๆ ใหเกดขน ตวแปรเวลานจะมคาเพมขนเรอยๆ ตามเวลาทเปลยนไป หรอไมกเปลยนตามเหตการณทจะเกดขน ซงเหตการณตางๆ ในคอมพวเตอรทเกยวของกบเวลาทงหมดจะตองใชตวแปรเวลาเดยวกน การท าแบบจ าลองเพอการเปรยบเทยบอลกอรทมน ตองอาศยเวลาในการท างานคอนขางมากเพอใหไดผลลพธทเทยงตรง ท าใหวธนอาจมราคาสง และยงท าใหการจ าลองแบบมความถกตองมากเทาใดกจะยงท าใหเสยเงนเสยเวลามากเทานน ดงนนผทจะใชวธแบบจ าลองจะตองตดสนใจวา จะใชการจ าลองแบบทมความละเอยดสงแคไหนทจะเพยงพอในการตดสนใจ โดยไมท าใหเสยเงนและเวลามากเกนความจ าเปน

Page 24: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

98

4.7.4 วธการสรางขนมาจรง การสรางแบบจ าลองยงคงเปนการจ าลองแบบทไมมทางจะเหมอนจรงได สงทดกวาคอการสรางอลกอรทมชนดตางๆ เพอใชกบโปรแกรมจดการระบบจรงๆ ในระบบคอมพวเตอรทใชงานในสงแวดลอมจรง แตวธการนจะไมเปนทนยมในการปฏบตคอ จะใชตนทนหรอการลงทนทสงมาก เพราะนอกจากจะตองเขยนโปรแกรมของอลกอรทมแตละแบบแลว ยงตองมการใชเวลาและแรงงานในการเปลยนการท างานของโปรแกรมเพอใหสามารถรองรบอลกอรทมแบบตางๆ ทจะน ามาทดลอง ยงไปกวานนแตละอลกอรทมอาจยงตองการระบบฮารดแวรพเศษทแตกตางกนออกไป ท าใหตองมระบบคอมพวเตอรทตองสามารถปรบเปลยนได ซงเปนเรองยากมาก และทเปนปญหาทสดคอปญหาทอาจเกดจากผใชคอมพวเตอรนนเอง เพราะคงมผใชไมมากนกทจะยอมเสยเวลาน างานจรงมาเสยงกบระบบคอมพวเตอรทยงอยในขนทดลอง (น.ท.ไพศาล โมลสกลมงคล และคนอน ๆ, 2545)

บทสรป การจดเวลาใหกบซพย เปนหลกความตองการพนฐานของระบบปฏบตการ อลกอรทมใน

การจดตารางการท างานซพยมหลายวธ ไดแก การจดเวลาแบบมากอนไดกอน การจดเวลาแบบงานส นท ากอน การจดเวลาตามล าดบความส าคญ การจดเวลาแบบวนรอบ การจดเวลาแบบคว หลายระดบ ซงมขอการพจารณาจ านวนหลายขอ ไดถกก าหนดไวเพอใชในการเปรยบเทยบอลกอรทมตางๆ ทจะถกคดเลอกมาใชงานในระบบปฏบตการเพอจดเวลาการท างานใหกบซพย หลกเกณฑในการเปรยบเทยบอลกอรทมตางๆ มกจะมาจากอรรถประโยชนของซพย (CPU utilization) เวลาตอบสนอง (Response time) และทรพต (Throughput) ซงตองมการให คาความส าคญของแตและคณสมบตไว

Page 25: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

99

ค าถามทายบทท 4 1. ขอมลในระบบสารสนเทศทางภมศาสตรแบงออกเปนกประเภทอะไรบาง 2. การใหสทธการจดเวลา (Preemptive Scheduling) มหลกการท างานอยางไร 3. ขอพจารณาในการจดเวลาของซพยมอะไรบาง 4. จงอธบายหลกการท างานของอลกอรทมการจดเวลาตอไปนมาพอเขาใจ

- การจดเวลาแบบมากอนไดกอน (FCFS : First-Come First-Served) - การจดเวลาแบบงานสนท ากอน (SJF : Short-Job-First Scheduling) - การจดเวลาตามล าดบความส าคญ (Priority Scheduling) - การจดเวลาแบบวนรอบ (RR : Round-Robin Scheduling) - การจดเวลาแบบควหลายระดบ (Multilevel Queue Scheduling)

5. ก าหนดใหโปรเซสเขามาสระบบ มขอมลตามตารางน โปรเซส เวลาทใช ล าดบความส าคญ

P1 P2 P3 P4 P5

10 1 2 1 5

3 1 3 4 2

ถาโปรเซสเขามาตามล าดบคอ P1, P2, P3, P4, P5 - จงแสดงถงการจดเวลาซพยของโปรเซสตามอลกอรทมแบบ FCFS, SJF, Priority

(ตวเลขนอยคอ คาล าดบความส าคญสง) และ วธการของ RR เมอ quantum =1 - จงหาคาเฉลยของการคอยในควของแตละโปรเซสโดยใชอลกอรทมแบบ FCFS, SJF

และ RR

Page 26: บทที่ 4 การจัดเวลาซีพียูroongrote.crru.ac.th/CT2403/บทที่ 4 การ... · 2014. 8. 4. · บทที่ 80 4.5 ข้อพิจารณาในการจัดเวลา

บทท 4

100

เอกสารอางอง น.ท.ไพศาล โมลสกลมงคล, ผศ.น.ท.ดร.ประสงค ปราณตพลกรง, น.ต.เมธา สนทรศารทล,

น.ต.สชาต วรกลวฒนา, ร.ท.อนโชต วฒพรพงษ. (2545). ระบบปฏบตการ (Operating Systems). กรงเทพฯ : ไทยเจรญการพมพ.

นรรตน นยมไทย. (2549). ระบบปฏบตการ. กรงเทพฯ : ศนยสงเสรมวชาการ. พรพร หมนสนท, สธพงศาสกลชย และอจจมา เลยงอย. (2553). ระบบปฏบตการ (Operating

Systems). กรงเทพฯ : เคทพ. วเชษฐ พลายมาศ. (2552). ระบบปฏบตการ (Operating Systems). กรงเทพฯ : ซเอดยเคชน. สจตรา อดลยเกษม. (2552). ระบบปฏบตการ (Operating Systems). กรงเทพฯ : โปรวชน. (2552). [Online]. Available HTTP:

http://csnon04.blogspot.com/2008/03/3_06.html. (2552). [Online]. Available HTTP:

http://cs1.mcm.edu/~rob/class/csc4340/notes/Chapt06/Chapter6.html. (2552). [Online]. Available HTTP: http://490702464037.exteen.com/20080818/5-cpu-scheduling. (2552). [Online]. Available HTTP: http://www.cs.wayne.edu/~tom/guide/os.html. (2552). [Online]. Available HTTP: http://www.cs.uic.edu/~i385/CourseNotes/5_CPU_Scheduling.html. (2552). [Online]. Available HTTP: http://os1rash.blogspot.com/2008/08/5-cpu-scheduling.html. (2552). [Online]. Available HTTP: http://read.cs.ucla.edu/111/notes/lec7.