วันพุธที่ 25 สิงหาคม พ.ศ. 2553

การสับเปลี่ยนหน้า

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

การสับเปลี่ยนแบบมาก่อน-ออกก่อน
• หน้าที่เข้ามานานที่สุดออกก่อน
การสับเปลี่ยนแบบให้โอกาสครั้งที่สอง
• ปรับปรุงการสับเปลี่ยนแบบมาก่อนออกก่อนเพื่อป้องกันการเปลี่ยนหน้า
• ตรวจสอบบิต R (Referenced) ของหน้าที่เข้ามานานที่สุด ถ้าบิต R มีค่าเป็น 0 แสดงว่าเป็นหน้าเก่า ไม่ได้ใช้งาน ระบบจะสับเปลี่ยนทันที
• แต่ถ้าบิต R มีค่าเป็น 1 ก็กำหนดบิต R เป็น 0 แล้วกลับไปเข้าแถวใหม่ พร้อมเปลี่ยนแปลงเวลาของหน้านั้นเหมือนหน้าที่เพิ่งเข้ามาใหม่

การสับเปลี่ยนแบบวงรอบนาฬิกา
• ปรับปรุงการสับเปลี่ยนแบบให้โอกาสครั้งที่สองเพื่อลดเวลาที่ใช้ในการย้ายหน้า
• เรียงฟรมทุกเฟรมเป็นรูปวงกลม และมีเข็มนาฬิกาชี้ไปที่หน้าที่เก่าที่สุด
• เมื่อมีการผิดหน้า หน้าที่มีเข็มนาฬิกาชี้อยู่จะถูกตรวจสอบ ถ้าบิต R มีค่าเป็น 0 หน้านั้นก็จะถูกสับเปลี่ยนออกไป และหน้าใหม่ก็จะถูกใส่เข้ามาในตำแหม่งเดิม
• เข็มนาฬิกาก็จะทำการเลื่อนไปด้านหน้า 1 ตำแหน่ง
• แต่ถ้าบิต R ถูกกำหนดเป็น 1 ก็ให้ลบค่าของบิตนั้นเป็น 0 และเลื่อนเข็มไปหน้าถัดไป

การสับเปลี่ยนแบบวงรอบนาฬิกา
การสับเปลี่ยนแบบที่ดีที่สุด
“ให้เลือกสับเปลี่ยนหน้าที่จะไม่ถูกเรียกใช้งาน และมีระยะเวลารอการเรียกใช้ที่นานที่สุด”
การสับเปลี่ยนแบบที่ไม่ได้ใช้งาน-ออกก่อน
• ปรับปรุงการสับเปลี่ยนแบบวงรอบนาฬิกา โดยพิจารณาบิตสำคัญในตารางหน้า
• พิจารณาจากสถิติว่าหน้าใดกำลังถูกใช้ หรือไม่ได้ใช้งาน
• บิต R ถูกกำหนดเป็น 1 เมื่อหน้านั้นถูกเรียกใช้งาน
• บิต M ถูกกำหนดเป็น 1 เมื่อหน้านั้นมีการเปลี่ยนแปลง
• บิตทั้งสองอยู่ในแถวของตารางหน้า จะมีการเปลี่ยนแปลงค่าทุกครั้งเมื่อมีการใช้งาน หรือถูกอ้างอิงถึง

การสับเปลี่ยนแบบที่ไม่ได้ใช้งาน-ออกก่อน
การสับเปลี่ยนแบบใช้งานน้อยที่สุด-ออกก่อน
• มีการบันทึกเวลา
• จะสับเปลี่ยนเอาหน้าที่ไม่ได้ใช้งานเป็นเวลานานออก (ตัวเลขเวลาน้อยที่สุด)
• ระบบจะต้องมีลิงค์ลิสต์ทุก ๆ หน้าในหน่วยความจำซึ่งเป็นเรื่องยากเนื่องจากจะต้องมีการลิสต์จะต้องปรับเปลี่ยนทุกครั้งที่มีการอ้างถึง

ไม่มีความคิดเห็น:

แสดงความคิดเห็น