กำลังเพจเข้า OperaTing System (OS): คืออะไร ข้อดี ตัวอย่าง
เพจจิ้งในระบบปฏิบัติการคืออะไร?
เพจจิ้ง เป็นกลไกการจัดเก็บข้อมูลที่ช่วยให้ OS ดึงกระบวนการจากที่เก็บข้อมูลสำรองไปยังหน่วยความจำหลักในรูปแบบของเพจ ในวิธีการเพจจิ้ง หน่วยความจำหลักจะถูกแบ่งออกเป็นบล็อกหน่วยความจำฟิสิคัลขนาดคงที่ขนาดเล็ก ซึ่งเรียกว่าเฟรม ขนาดของเฟรมควรคงขนาดเท่ากับขนาดเพจเพื่อให้ใช้งานหน่วยความจำหลักได้สูงสุด และเพื่อหลีกเลี่ยงการแตกแฟรกเมนต์ภายนอก เพจจิ้งใช้เพื่อการเข้าถึงข้อมูลที่รวดเร็วขึ้น และเป็นแนวคิดเชิงตรรกะ
ตัวอย่างการเพจใน 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 การเปลี่ยนจากหน้ากระดาษที่มีขนาดเท่ากันไปเป็นกรอบหน้ากระดาษนั้นทำได้ง่าย
ข้อเสียของเพจจิ้ง
นี่คือข้อเสียเปรียบ/ข้อเสียของเพจจิ้ง:
- อาจทำให้เกิดการกระจายตัวภายใน
- ตารางเพจใช้หน่วยความจำเพิ่มเติม
- การเพจหลายระดับอาจทำให้โอเวอร์เฮดในการอ้างอิงหน่วยความจำ
การแบ่งส่วนคืออะไร?
วิธีการแบ่งส่วนทำงานเกือบจะคล้ายกับการแบ่งหน้า มีเพียงความแตกต่างระหว่างสองวิธีนี้คือส่วนที่มีความยาวผันแปรได้ ในขณะที่วิธีการแบ่งหน้าจะมีขนาดคงที่เสมอ
ส่วนโปรแกรมประกอบด้วยฟังก์ชันหลักของโปรแกรม โครงสร้างข้อมูล ฟังก์ชันยูทิลิตี้ ฯลฯ ระบบปฏิบัติการจะรักษาตารางแผนผังส่วนสำหรับกระบวนการทั้งหมด นอกจากนี้ยังรวมถึงรายการบล็อกหน่วยความจำว่างพร้อมขนาด หมายเลขส่วน และตำแหน่งหน่วยความจำในหน่วยความจำหลักหรือ หน่วยความจำเสมือน.
ข้อดีของการแบ่งส่วน
นี่คือข้อดี/ประโยชน์ของการแบ่งส่วน
- เสนอความคุ้มครองภายในกลุ่ม
- คุณสามารถบรรลุการแบ่งปันโดยกลุ่มที่อ้างอิงถึงกระบวนการต่างๆ
- ไม่เสนอการกระจายตัวภายใน
- ตารางเซ็กเมนต์ใช้หน่วยความจำน้อยกว่าเพจจิ้ง
ข้อเสียของการแบ่งส่วน
นี่คือข้อเสีย/ข้อเสียของการแบ่งส่วน
- ในวิธีการแบ่งส่วน กระบวนการจะถูกโหลด/ลบออกจากหน่วยความจำหลัก ดังนั้นพื้นที่หน่วยความจำว่างจึงถูกแยกออกเป็นชิ้นเล็กๆ ซึ่งอาจสร้างปัญหาการกระจายตัวภายนอกได้
- อัลกอริธึมการจัดการหน่วยความจำราคาแพง
สรุป
- เพจจิ้งเป็นกลไกการจัดเก็บข้อมูลที่ช่วยให้ OS เพื่อดึงกระบวนการจากที่จัดเก็บข้อมูลสำรองไปยังหน่วยความจำหลักในรูปแบบของเพจ
- กระบวนการเพจควรได้รับการป้องกันโดยใช้แนวคิดของการแทรกบิตเพิ่มเติมที่เรียกว่าบิตที่ถูกต้อง/ไม่ถูกต้อง
- ข้อได้เปรียบที่ใหญ่ที่สุดของเพจจิ้งคืออัลกอริธึมการจัดการหน่วยความจำใช้งานง่าย
- การเพจอาจทำให้เกิดการกระจายตัวภายใน
- วิธีการแบ่งส่วนทำงานเกือบจะคล้ายกับการแบ่งหน้า มีเพียงความแตกต่างระหว่างสองวิธีนี้คือส่วนที่มีความยาวผันแปรได้ ในขณะที่วิธีการแบ่งหน้าจะมีขนาดคงที่เสมอ
- คุณสามารถบรรลุการแบ่งปันโดยกลุ่มที่อ้างอิงถึงกระบวนการต่างๆ
- การแบ่งส่วนเป็นอัลกอริธึมการจัดการหน่วยความจำที่มีราคาแพง


