กำลังเพจเข้า OperaTing System (OS): คืออะไร ข้อดี ตัวอย่าง

เพจจิ้งในระบบปฏิบัติการคืออะไร?

เพจจิ้ง เป็นกลไกการจัดเก็บข้อมูลที่ช่วยให้ OS ดึงกระบวนการจากที่เก็บข้อมูลสำรองไปยังหน่วยความจำหลักในรูปแบบของเพจ ในวิธีการเพจจิ้ง หน่วยความจำหลักจะถูกแบ่งออกเป็นบล็อกหน่วยความจำฟิสิคัลขนาดคงที่ขนาดเล็ก ซึ่งเรียกว่าเฟรม ขนาดของเฟรมควรคงขนาดเท่ากับขนาดเพจเพื่อให้ใช้งานหน่วยความจำหลักได้สูงสุด และเพื่อหลีกเลี่ยงการแตกแฟรกเมนต์ภายนอก เพจจิ้งใช้เพื่อการเข้าถึงข้อมูลที่รวดเร็วขึ้น และเป็นแนวคิดเชิงตรรกะ

ตัวอย่างการเพจใน OS

ตัวอย่างเช่น หากขนาดหน่วยความจำหลักคือ 16 KB และขนาดเฟรมคือ 1 KB ในที่นี้หน่วยความจำหลักจะแบ่งออกเป็นชุดละ 16 เฟรม ชุดละ 1 KB

ระบบมีกระบวนการแยกกัน 4 กระบวนการ ได้แก่ A1, A2, A3 และ A4 โดยแต่ละกระบวนการมีขนาด 4 KB โดยกระบวนการทั้งหมดจะถูกแบ่งออกเป็นหน้าๆ หน้าละ 1 KB เพื่อให้ระบบปฏิบัติการสามารถจัดเก็บหน้าหนึ่งในเฟรมเดียวได้

ที่จุดเริ่มต้นของกระบวนการ เฟรมทั้งหมดยังคงว่างเปล่า ดังนั้นเพจทั้งหมดของกระบวนการจะถูกจัดเก็บในลักษณะที่ต่อเนื่องกัน

ตัวอย่างการเพจใน OS

ในตัวอย่างนี้ คุณจะเห็นว่า A2 และ A4 ถูกย้ายไปยังสถานะรอหลังจากผ่านไประยะหนึ่ง ดังนั้น แปดเฟรมจึงว่างเปล่า และสามารถโหลดหน้าอื่นๆ ในบล็อกว่างนั้นได้ กระบวนการ A5 ขนาด 8 หน้า (8 KB) กำลังรออยู่ในคิวที่พร้อม

ตัวอย่างการเพจใน OS

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

การป้องกันเพจจิ้งคืออะไร?

กระบวนการเพจควรได้รับการป้องกันโดยใช้แนวคิดของการแทรกบิตเพิ่มเติมที่เรียกว่าบิตที่ถูกต้อง/ไม่ถูกต้อง การป้องกันหน่วยความจำเพจจิ้งในการเพจทำได้โดยการเชื่อมโยงบิตการป้องกันกับแต่ละเพจ บิตเหล่านี้เชื่อมโยงกับรายการตารางเพจแต่ละรายการและระบุการป้องกันบนเพจที่เกี่ยวข้อง

ข้อดีของเพจจิ้ง

นี่คือข้อดีของการใช้วิธีการเพจจิ้ง:

  • ใช้งานง่าย การจัดการหน่วยความจำ ขั้นตอนวิธี
  • ไม่จำเป็นต้องกระจายตัวภายนอก
  • แลกเปลี่ยนping การเปลี่ยนจากหน้ากระดาษที่มีขนาดเท่ากันไปเป็นกรอบหน้ากระดาษนั้นทำได้ง่าย

ข้อเสียของเพจจิ้ง

นี่คือข้อเสียเปรียบ/ข้อเสียของเพจจิ้ง:

  • อาจทำให้เกิดการกระจายตัวภายใน
  • ตารางเพจใช้หน่วยความจำเพิ่มเติม
  • การเพจหลายระดับอาจทำให้โอเวอร์เฮดในการอ้างอิงหน่วยความจำ

การแบ่งส่วนคืออะไร?

วิธีการแบ่งส่วนทำงานเกือบจะคล้ายกับการแบ่งหน้า มีเพียงความแตกต่างระหว่างสองวิธีนี้คือส่วนที่มีความยาวผันแปรได้ ในขณะที่วิธีการแบ่งหน้าจะมีขนาดคงที่เสมอ

ส่วนโปรแกรมประกอบด้วยฟังก์ชันหลักของโปรแกรม โครงสร้างข้อมูล ฟังก์ชันยูทิลิตี้ ฯลฯ ระบบปฏิบัติการจะรักษาตารางแผนผังส่วนสำหรับกระบวนการทั้งหมด นอกจากนี้ยังรวมถึงรายการบล็อกหน่วยความจำว่างพร้อมขนาด หมายเลขส่วน และตำแหน่งหน่วยความจำในหน่วยความจำหลักหรือ หน่วยความจำเสมือน.

ข้อดีของการแบ่งส่วน

นี่คือข้อดี/ประโยชน์ของการแบ่งส่วน

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

ข้อเสียของการแบ่งส่วน

นี่คือข้อเสีย/ข้อเสียของการแบ่งส่วน

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

สรุป

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

สรุปโพสต์นี้ด้วย: