บทที่ 4 การจัดเวลาซีพียู

 นาย ธนโชติ ฟ้าคะนอง เลขที่ 5

บทที่ 4 การจัดเวลาซีพียู ( แบบฝึกหัด )

  

1. การจัดการเวลามีจุดประสงค์เพื่ออะไร

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

2. การประมวลผลประกอบด้วยช่วงเวลาอะไรบ้าง

ตอบ   ประกอบด้วยช่วงเวลา 2 ช่วงเวลา และจะเกิดไม่พร้อมกัน

1.ช่วงเวลาที่ใช้ซีพียู      
2.ช่วงเวลาอินพุต/เอาต์พุต
 
 
3.ตัวจัดการเวลาซีพียูมีหลักตัดสินการ ให้สิทธิ์โปรเซสได้เวลาครองซีพียู อย่างไรบ้าง
 
 ตอบ     1) เมื่อมีการเปลี่ยนสถานะของโปรเซสจากสถานะท างาน (Run) ไปเป็นสถานะคอย (Wait)
เช่นในสภาวะที่คอยอินพุต/เอาต์พุต หรือการคอยให้โปรเซสลูกเสร็จสิ้นไปก่อน
                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)
 ตอบ  การจำลองระบบจะเกี่ยวข้องกับการใช้โปรแกรมคอมพิวเตอร์ ซึ่งจะต้องมีการเขียนโปรแกรมเพื่อให้เป็นตัวแทนหรือหุ่นจ าลองของระบบต่างๆ ในคอมพิวเตอร์ นอกจากนี้ยังต้องมีการเขียนโปรแกรมเพื่อเป็นตัวแทนของสิ่งแวดล้อมที่เกี่ยวข้อกับระบบคอมพิวเตอร์นั้นๆ อีกด้วย สิ่งส าคัญในการสร้างแบบจำลองคือการมีตัวแปรที่เป็นตัวแทนของเวลา เพื่อเป็นสิ่งอ้างถึงต าแหน่งหรือเป็นหลักในการสร้างเหตุการณ์ต่างๆ ให้เกิดขึ้น ตัวแปรเวลานี้จะมีค่าเพิ่มขึ้นเรื่อยๆ ตามเวลาที่เปลี่ยนไป หรือไม่ก็เปลี่ยนตามเหตุการณ์ที่จะเกิดขึ้น ซึ่งเหตุการณ์ต่างๆ

 

 

ความคิดเห็น