บทที่ 4 การจัดเวลาซีพียู
นาย ธนโชติ ฟ้าคะนอง เลขที่ 5
บทที่ 4 การจัดเวลาซีพียู ( แบบฝึกหัด )
1. การจัดการเวลามีจุดประสงค์เพื่ออะไร
ตอบ การจัดเวลาซีพียู (CPU Scheduling) เป็นหลักการทำงานหนึ่งของระบบปฏิบัติการ ที่ทำให้คอมพิวเตอร์มีความสามารถในการเปิดโปรแกรมหลายๆ โปรแกรมในเวลาเดียวกัน ซึ่งการแบ่งเวลาการเข้าใช้ซีพียูให้กับโปรเซส จะทำให้คอมพิวเตอร์สามารถทำงานได้ปริมาณงานที่มากขึ้นกว่าการที่ให้ซีพียูทำงานให้เสร็จทีละโปรเซส
2. การประมวลผลประกอบด้วยช่วงเวลาอะไรบ้าง
ตอบ ประกอบด้วยช่วงเวลา 2 ช่วงเวลา และจะเกิดไม่พร้อมกัน
1.ช่วงเวลาที่ใช้ซีพียู
2.ช่วงเวลาอินพุต/เอาต์พุต
3.ตัวจัดการเวลาซีพียูมีหลักตัดสินการ ให้สิทธิ์โปรเซสได้เวลาครองซีพียู อย่างไรบ้าง
ตอบ 1) เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะท างาน (Run) ไปเป็นสถานะคอย (Wait)
เช่นในสภาวะที่คอยอินพุต/เอาต์พุต หรือการคอยให้โปรเซสลูกเสร็จสิ้นไปก่อน
2) เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะท างาน (Run) เป็นสถานะพร้อม (Ready)
เช่นเมื่อมีการขัดจังหวะเกิดขึ้นเป็นต้น
3) เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะคอย (Wait) เป็นสถานะพร้อม (Ready) เช่นเมื่ออินพุต/เอาต์พุตเสร็จสิ้นไปแล้ว เป็นต้น
4) เมื่อโปรเซสเสร็จสิ้นไปแล้ว หากโปรเซสที่ก าลังถูกซีพียูท าการประมวลผลอยู่ เสร็จสิ้นการทำงาน หรือถูกกำหนดให้อยู่ในสถานะสิ้นสุด (Terminate) แม้จะประมวลผลเสร็จสิ้นแบบไม่สมบูรณ์ก็ตาม
2) เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะท างาน (Run) เป็นสถานะพร้อม (Ready)
เช่นเมื่อมีการขัดจังหวะเกิดขึ้นเป็นต้น
3) เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะคอย (Wait) เป็นสถานะพร้อม (Ready) เช่นเมื่ออินพุต/เอาต์พุตเสร็จสิ้นไปแล้ว เป็นต้น
4) เมื่อโปรเซสเสร็จสิ้นไปแล้ว หากโปรเซสที่ก าลังถูกซีพียูท าการประมวลผลอยู่ เสร็จสิ้นการทำงาน หรือถูกกำหนดให้อยู่ในสถานะสิ้นสุด (Terminate) แม้จะประมวลผลเสร็จสิ้นแบบไม่สมบูรณ์ก็ตาม
4. ข้อพิจารณาในการจัดเวลามีอะไรบ้าง
ตอบ มี 5 ข้อ ดังนี้
1. อรรถประโยชน์ของซีพียู (CPU Utilization)
2. จำนวนงานที่เสร็จต่อหน่วยเวลา (Throughput)
3. เวลาทั้งหมด (Turnaround Time)
4. เวลารอคอย (Waiting Time)
5. เวลาตอบสนอง (Response Time)
5.อัลกอริทึมการจัดการเวลาคืออะไร
ตอบ 1. การจัดเวลาแบบมาก่อนได้ก่อน (FCFS : First Come First Served)
วิธีการในการจัดเวลาที่ง่ายที่สุดสำหรับการคัดเลือกโปรเซสให้ครอบครองเวลาซีพียู คือ อัลกอริทึมที่ใช้แนวความคิดของการมาก่อนได้ก่อนซึ่งมีหลักการง่ายๆ
วิธีการในการจัดเวลาที่ง่ายที่สุดสำหรับการคัดเลือกโปรเซสให้ครอบครองเวลาซีพียู คือ อัลกอริทึมที่ใช้แนวความคิดของการมาก่อนได้ก่อนซึ่งมีหลักการง่ายๆ
2. การจัดเวลาแบบงานสั้นท าก่อน (SJF : Short-Job-First Scheduling)
จากการที่ได้พบเห็นปัญหาในหลักการของอัลกอริทึมมาก่อนได้ก่อน
จากการที่ได้พบเห็นปัญหาในหลักการของอัลกอริทึมมาก่อนได้ก่อน
3. การจัดวลาตามลำดับความสำคัญ (Priority Scheduling)
วิธีการของอัลกอริทึมการจัดเวลาแบบงานสั้นทำก่อน สามารถมองได้อีกแง่หนึ่งว่าเป็นการจัดเวลาตามลำดับความสำคัญชนิดหนึ่งลำดับความสำคัญของแต่ละโปรเซสจะถูกกำหนดไว้ด้วยวิธีใดวิธีหนึ่ง
วิธีการของอัลกอริทึมการจัดเวลาแบบงานสั้นทำก่อน สามารถมองได้อีกแง่หนึ่งว่าเป็นการจัดเวลาตามลำดับความสำคัญชนิดหนึ่งลำดับความสำคัญของแต่ละโปรเซสจะถูกกำหนดไว้ด้วยวิธีใดวิธีหนึ่ง
4.การจัดเวลาแบบวนรอบ (RR : Round-Robin Scheduling)
การจัดเวลาแบบวนรอบ เป็นวิธีการที่คิดขึ้นมาเพื่อใช้กับระบบคอมพิวเตอร์แบบแบ่งเวลาโดยเฉพาะ โดยมีลักษณะการทำงานแบบมาก่อนได้ก่อน
การจัดเวลาแบบวนรอบ เป็นวิธีการที่คิดขึ้นมาเพื่อใช้กับระบบคอมพิวเตอร์แบบแบ่งเวลาโดยเฉพาะ โดยมีลักษณะการทำงานแบบมาก่อนได้ก่อน
6. การจัดเวลาแบบมาก่อนได้ก่อน (FCFS : First Come First Served)
ตอบ วิธีการในการจัดเวลาที่ง่ายที่สุดสำหรับการคัดเลือกโปรเซสให้ครอบครองเวลาซีพียู คือ อัลกอริทึมที่ใช้แนวความคิดของการมาก่อนได้ก่อนซึ่งมีหลักการง่ายๆ คือ โปรเซสใดที่ร้องขอใช้ซีพียูก่อน ก็จะได้รับการจัดสรรให้ครอบครอบเวลาของซีพียูก่อน ซึ่งการสร้างอัลกอริทึมนี้ขึ้นมา ท าได้ไม่ยาก เพราะสามารถน าเอาหลักการของคิวมาก่อนได้ก่อน (FIFO Queue) มาใช้ได้เลย เมื่อมีโปรเซสใดเข้ามาอยู่ในคิวแบบนี้ บล็อกควบคุมโปรเซสของงานก็จะถูกเชื่อมไว้กับหางของคิว เมื่อใดที่ซีพียูว่างลง โปรเซสใดที่มีบล็อกควบคุมโปรเซสอยู่ที่หัวของคิวก็จะถูกน าออกมาจากคิวให้เข้าครอบครองเวลาซีพียูได้เลย
7. การจัดเวลาแบบงานสั้นทำก่อน (SJF : Short-Job-First Scheduling)
ตอบ จากการที่ได้พบเห็นปัญหาในหลักการของอัลกอริทึมมาก่อนได้ก่อน ท าให้มีการคิดค้นต่อไปว่า ท างานอย่างไรจึงจะเกิดความพอดีระหว่างโปรเซสที่ต้องการเวลาซีพียูสั้นๆ กับโปรเซสที่ต้องการเวลาซีพียูนานๆ ผลลัพธ์ก็คือ แนวความคิดที่จะท าให้โปรเซสที่ต้องการคาบเวลาของซีพียูในเวลาถัดไปสั้นที่สุด จะได้รับเลือกให้เข้ามาครอบครองเวลาซีพียูก่อน
8. การจัดเวลาตามลำดับความสำคัญ (Priority Scheduling)
ตอบ วิธีการของอัลกอริทึมการจัดเวลาแบบงานสั้นทำก่อน สามารถมองได้อีกแง่หนึ่งว่าเป็นการจัดเวลาตามลำดับความสำคัญชนิดหนึ่งลำดับความสำคัญของแต่ละโปรเซสจะถูกก าหนดไว้ด้วยวิธีใดวิธีหนึ่ง เพื่อว่าการชีพียูจะมีการใช้กับโปรเซสที่มีล าดับความสำคัญสูงที่สุดเท่านั้น แต่ถ้ามีงานที่มีลำดับความ
สำคัญเท่ากัน
9. การจัดเวลาแบบวนรอบ (RR : Round-Robin Scheduling)
ตอบ การจัดเวลาแบบวนรอบ เป็นวิธีการที่คิดขึ้นมาเพื่อใช้กับระบบคอมพิวเตอร์แบบแบ่งเวลาโดยเฉพาะ โดยมีลักษณะการทำงานแบบมาก่อนได้ก่อน แต่ให้มีกรรมวิธีของสิทธิ์ก่อนรวมอยู่ด้วย แต่ละโปรเซสที่เข้ามาในระบบจะถูกจำกัดเวลาการเข้าไปใช้ซีพียูเท่าๆ กัน ซึ่งช่วงเวลานี้จะเป็นช่วงเวลาสั้นๆ เรียกว่า เวลาควอนตัม (Quantum Time) หรือช่วงเวลา (Time Slice) ระยะเวลาควอนตัมนี้ มีความยาวระหว่าง 10 ถึง 100 มิลลิวินาที และคิวที่ใช้ก็เป็นแบบวงกลม (Circular Queue) ตัวจัดเวลาจะมีการให้ซีพียูกับโปรเซสที่อยู่ในคิวแบบวนไปรอบๆ
10. การจัดเวลาแบบคิวหลายระดับ (Multilevel Queue Scheduling)
ตอบ เป็นการจัดเวลาของการนำโปรเซสเข้ามาครอบครองซีพียูอีกแบบหนึ่ง สำหรับระบบที่สามารถแบ่งระดับชั้นของงานได้อย่างชัดเจน เช่น งานที่เป็นฟอร์กราวนด์ (Foreground) หรืออินเตอร์แอ็กที ฟ(Interactive) กับงานที่เป็นแบ็คกราวนด์ (Background) หรือแบ็ตช์ (Batch ) ซึ่งงานทั้งสองแบบนี้ต้องการเวลาตอบสนอง (Response time) ที่แตกต่างกัน ซึ่งสามารถใช้ระบบการจัดเวลาที่แตกต่างกันได้ โดยทั่วไปแล้วงานที่เป็นฟอร์กราวนด์จะมีระดับชั้นความส าคัญเหนือกว่างานที่เป็นแบ็คกราวนด์ การจัดเวลาแบบคิวหลายระดับนี้จะใช้วิธีแบ่งคิวออกเป็นหลายๆ ระดับ
11. การคัดเลือกอัลกอริทึมสำหรับการจัดเวลาซีพียูมีหลักเกณฑ์อย่างไร
ตอบ หลักเกณฑ์การพิจารณาอาจก าหนดได้เป็น ดังตัวอย่างดังนี้
1. ให้มีการใช้ซีพียูสูงสุด โดยให้สามารถมีช่วงเวลาตอบสนองที่ไม่นานไปกว่า 1 วินาที
2. ให้มีทรูพุตสูงสุด โดยที่เวลาวนรอบเป็นอัตราส่วนโดยตรงอย่างพอเหมาะกับเวลาที่ต้องใช้ในการรันทั้งหมด
12. จงอธิบายวิธีการคัดเลือกอัลกอริทึมสำหรับการจัดเวลาซีพียู ต่อไปนี้
- Deterministic Modeling
ตอบ วิธีนี้เป็นวิธีการคัดเลือกที่เรียกว่า Analytic Evaluation ซึ่งจะนำเอาอัลกอริทึมชนิดต่าง ๆ และลักษณะของงานมาสร้างสูตร เพื่อใช้ในการคำนวณหาตัวเลขของประสิทธิภาพที่สามารถวัดและเปรียบเทียบได้
- โมเดลการจัดคิว
ตอบ ลักษณะของงานที่เข้ามาในระบบคอมพิวเตอร์นั้น มักจะมีลักษณะไม่แน่นอน ในแต่ละ
วันที่มีการใช้ระบบคอมพิวเตอร์นั้น งานต่างๆ ที่เข้ามาอาจมีลักษณะที่ไม่ซ้ำกันเลย อย่างไรก็ตาม มีสิ่งหนึ่งที่อาจจะสามารถทำนายหรือกำหนดได้
วันที่มีการใช้ระบบคอมพิวเตอร์นั้น งานต่างๆ ที่เข้ามาอาจมีลักษณะที่ไม่ซ้ำกันเลย อย่างไรก็ตาม มีสิ่งหนึ่งที่อาจจะสามารถทำนายหรือกำหนดได้
- วิธีการจำลองระบบ (Simulations)
ตอบ การจำลองระบบจะเกี่ยวข้องกับการใช้โปรแกรมคอมพิวเตอร์ ซึ่งจะต้องมีการเขียนโปรแกรมเพื่อให้เป็นตัวแทนหรือหุ่นจ าลองของระบบต่างๆ ในคอมพิวเตอร์ นอกจากนี้ยังต้องมีการเขียนโปรแกรมเพื่อเป็นตัวแทนของสิ่งแวดล้อมที่เกี่ยวข้อกับระบบคอมพิวเตอร์นั้นๆ อีกด้วย สิ่งส าคัญในการสร้างแบบจำลองคือการมีตัวแปรที่เป็นตัวแทนของเวลา เพื่อเป็นสิ่งอ้างถึงต าแหน่งหรือเป็นหลักในการสร้างเหตุการณ์ต่างๆ ให้เกิดขึ้น ตัวแปรเวลานี้จะมีค่าเพิ่มขึ้นเรื่อยๆ ตามเวลาที่เปลี่ยนไป หรือไม่ก็เปลี่ยนตามเหตุการณ์ที่จะเกิดขึ้น ซึ่งเหตุการณ์ต่างๆ
ความคิดเห็น
แสดงความคิดเห็น