กำลังเพจเข้า OperaTing System (OS): คืออะไร ข้อดี ตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
การแบ่งหน้าหน่วยความจำ (Paging) เป็นเทคนิคการจัดการหน่วยความจำที่จัดเก็บกระบวนการต่างๆ ไว้ในหน้าหน่วยความจำขนาดคงที่ และโหลดกระบวนการเหล่านั้นลงในเฟรมหน่วยความจำทางกายภาพที่มีขนาดเท่ากัน ทำให้ระบบปฏิบัติการสามารถใช้หน่วยความจำที่ไม่ต่อเนื่อง หลีกเลี่ยงการแตกกระจายของหน่วยความจำภายนอก และเข้าถึงข้อมูลได้เร็วขึ้น
เพจจิ้งในระบบปฏิบัติการคืออะไร?
เพจจิ้ง การแบ่งหน้า (Paging) เป็นกลไกการจัดเก็บข้อมูลที่ช่วยให้ระบบปฏิบัติการสามารถดึงกระบวนการต่างๆ จากหน่วยเก็บข้อมูลสำรองมายังหน่วยความจำหลักในรูปแบบของหน้า (Page) ในวิธีการแบ่งหน้า หน่วยความจำหลักจะถูกแบ่งออกเป็นบล็อกหน่วยความจำทางกายภาพขนาดเล็กที่มีขนาดคงที่ ซึ่งเรียกว่าเฟรม (Frame) ขนาดของเฟรมจะเท่ากับขนาดของหน้าเพื่อให้ใช้หน่วยความจำหลักได้อย่างเต็มประสิทธิภาพและหลีกเลี่ยงการแตกกระจายภายนอก (External Fragmentation) การแบ่งหน้าใช้เพื่อการเข้าถึงข้อมูลที่รวดเร็วยิ่งขึ้น และเป็นแนวคิดเชิงตรรกะ
ตัวอย่างการเพจใน OS
เพื่อให้เข้าใจวิธีการแมปเพจไปยังเฟรม ลองพิจารณาตัวอย่างง่ายๆ หากขนาดหน่วยความจำหลักคือ 16 KB และขนาดเฟรมคือ 1 KB หน่วยความจำหลักจะถูกแบ่งออกเป็น 16 เฟรม โดยแต่ละเฟรมมีขนาด 1 KB
ในระบบมีกระบวนการแยกกัน 4 กระบวนการ ได้แก่ A1, A2, A3 และ A4 โดยแต่ละกระบวนการมีขนาด 4 KB ในที่นี้ กระบวนการทั้งหมดถูกแบ่งออกเป็นเพจขนาด 1 KB ต่อเพจ เพื่อให้ระบบปฏิบัติการสามารถจัดเก็บหนึ่งเพจในหนึ่งเฟรมได้
ในขั้นตอนเริ่มต้น เฟรมทั้งหมดจะว่างเปล่า ดังนั้นหน้าต่างๆ ของกระบวนการจึงถูกจัดเก็บในลักษณะต่อเนื่องกัน
ในตัวอย่างนี้ คุณจะเห็นว่า A2 และ A4 ถูกย้ายไปยังสถานะรอหลังจากผ่านไปสักระยะหนึ่ง ดังนั้น เฟรมแปดเฟรมจึงว่างเปล่า และสามารถโหลดหน้าอื่นๆ ลงในช่องว่างเหล่านั้นได้ กระบวนการ A5 ซึ่งมีขนาด 8 หน้า (8 KB) กำลังรออยู่ในคิวพร้อมใช้งาน
ขณะนี้มีเฟรมที่ไม่ต่อเนื่องกันแปดเฟรมอยู่ในหน่วยความจำ และการแบ่งหน้าหน่วยความจำช่วยให้มีความยืดหยุ่นในการจัดเก็บกระบวนการในตำแหน่งต่างๆ ซึ่งทำให้ระบบปฏิบัติการสามารถโหลดหน้าหน่วยความจำของกระบวนการ A5 แทนที่ A2 และ A4 ได้
การป้องกันเพจจิ้งคืออะไร?
กระบวนการเพจจิ้งได้รับการป้องกันโดยการแทรกบิตเพิ่มเติมที่เรียกว่าบิตถูกต้อง/ไม่ถูกต้อง การป้องกันหน่วยความจำในกระบวนการเพจจิ้งทำได้โดยการเชื่อมโยงบิตป้องกันกับแต่ละเพจ บิตเหล่านี้จะเชื่อมโยงกับรายการในตารางเพจแต่ละรายการและระบุการป้องกันที่อนุญาตบนเพจนั้นๆ
ข้อดีของเพจจิ้ง
ต่อไปนี้คือข้อดีของการใช้วิธีการแบ่งหน้า:
- มันใช้งานง่าย การจัดการหน่วยความจำ ขั้นตอนวิธี
- ไม่จำเป็นต้องมีการแบ่งส่วนภายนอก
- แลกเปลี่ยนping การเปลี่ยนจากหน้ากระดาษที่มีขนาดเท่ากันไปเป็นกรอบหน้ากระดาษนั้นทำได้ง่าย
ข้อเสียของเพจจิ้ง
ต่อไปนี้คือข้อเสียและข้อจำกัดของการใช้ระบบเพจจิ้ง:
- อาจทำให้เกิดการแตกตัวภายในได้
- ตารางเพจใช้หน่วยความจำเพิ่มเติม
- การเพจหลายระดับอาจทำให้โอเวอร์เฮดในการอ้างอิงหน่วยความจำ
การแบ่งส่วนคืออะไร?
การแบ่งส่วนทำงานคล้ายคลึงกับการแบ่งหน้ามาก ความแตกต่างเพียงอย่างเดียวคือ ส่วนต่างๆ มีความยาวแปรผันได้ ในขณะที่วิธีการแบ่งหน้า หน้าจะมีขนาดคงที่เสมอ
ส่วนของโปรแกรมประกอบด้วยฟังก์ชันหลักของโปรแกรม โครงสร้างข้อมูล ฟังก์ชันยูทิลิตี้ และอื่นๆ ระบบปฏิบัติการจะเก็บรักษาตารางแผนที่ส่วนของโปรแกรมสำหรับทุกกระบวนการ นอกจากนี้ยังรวมถึงรายการบล็อกหน่วยความจำว่าง พร้อมด้วยขนาด หมายเลขส่วน และตำแหน่งหน่วยความจำในหน่วยความจำหลักหรือ หน่วยความจำเสมือน.
ข้อดีของการแบ่งส่วน
ต่อไปนี้คือข้อดีและประโยชน์ของการแบ่งกลุ่มลูกค้า:
- มันให้การปกป้องภายในแต่ละส่วน
- คุณสามารถทำให้เกิดการแชร์ได้โดยการให้เซ็กเมนต์อ้างอิงถึงหลายกระบวนการ
- มันไม่ก่อให้เกิดการแตกตัวภายใน
- ตารางเซ็กเมนต์ใช้หน่วยความจำน้อยกว่าการแบ่งหน้าหน่วยความจำ (Paging)
ข้อเสียของการแบ่งส่วน
ต่อไปนี้คือข้อดีและข้อเสียของการแบ่งกลุ่ม:
- ในวิธีการแบ่งส่วนหน่วยความจำ กระบวนการต่างๆ จะถูกโหลดและลบออกจากหน่วยความจำหลัก ดังนั้น พื้นที่หน่วยความจำว่างจึงถูกแบ่งออกเป็นชิ้นเล็กๆ ซึ่งอาจก่อให้เกิดปัญหาการแตกกระจายภายนอกได้
- เป็นอัลกอริทึมการจัดการหน่วยความจำที่มีต้นทุนสูง



