ความแตกต่างระหว่างการสลับหน้าและการสลับในระบบปฏิบัติการ
เนื้อหา
การเพจและการสลับเป็นสอง กลยุทธ์การจัดการหน่วยความจำ สำหรับการดำเนินการแต่ละกระบวนการจะต้องอยู่ในหน่วยความจำหลัก การสลับและการเพจจะวางกระบวนการไว้ในหน่วยความจำหลักเพื่อดำเนินการ แลกเปลี่ยน สามารถเพิ่มอัลกอริทึมการจัดตารางเวลา CPU ใด ๆ ที่กระบวนการถูกสลับจากหน่วยความจำหลักไปยังแบ็คสโตร์และสลับไปยังหน่วยความจำหลัก เพจจิ้ง อนุญาตให้ใช้พื้นที่แอดเดรสฟิสิคัลของกระบวนการ ที่ไม่ติด. ให้เราคุยกันถึงความแตกต่างระหว่างการสลับหน้าและการแลกเปลี่ยนด้วยความช่วยเหลือของกราฟเปรียบเทียบที่แสดงด้านล่าง
- แผนภูมิเปรียบเทียบ
- คำนิยาม
- ความแตกต่างที่สำคัญ
- ข้อสรุป
แผนภูมิเปรียบเทียบ
พื้นฐานของการเปรียบเทียบ | เพจจิ้ง | แลกเปลี่ยน |
---|---|---|
ขั้นพื้นฐาน | การเพจช่วยให้พื้นที่แอดเดรสหน่วยความจำของกระบวนการไม่ต่อเนื่องกัน | การสลับอนุญาตให้หลายโปรแกรมรัน parallelly ในระบบปฏิบัติการ |
มีความยืดหยุ่น | การเพจมีความยืดหยุ่นมากขึ้นเนื่องจากมีการย้ายเฉพาะเพจของกระบวนการ | การสลับจะมีความยืดหยุ่นน้อยลงเนื่องจากจะย้ายกระบวนการทั้งหมดไปมาระหว่างหน่วยความจำหลักและที่เก็บด้านหลัง |
multiprogramming | เพจช่วยให้กระบวนการเพิ่มเติมอยู่ในหน่วยความจำหลัก | เปรียบเทียบกับการสลับหน้าช่วยให้กระบวนการน้อยอยู่ในหน่วยความจำหลัก |
ความหมายของการเพจ
การเพจเป็นโครงร่างการจัดการหน่วยความจำซึ่งจัดสรรให้ พื้นที่แอดเดรสที่ไม่ต่อเนื่อง เพื่อกระบวนการ ตอนนี้เมื่อที่อยู่จริงของกระบวนการไม่ต่อเนื่องกันปัญหาของ การกระจายตัวภายนอก จะไม่เกิดขึ้น
การเพจจะดำเนินการโดยการทำลาย หน่วยความจำหลัก เป็นบล็อกขนาดคงที่ที่เรียกว่า เฟรม. หน่วยความจำโลจิคัลของกระบวนการ ถูกแบ่งออกเป็นบล็อกขนาดคงที่เดียวกันที่เรียกว่า หน้า. ขนาดหน้าและขนาดเฟรมถูกกำหนดโดยฮาร์ดแวร์ ดังที่เราทราบกระบวนการนี้จะถูกวางไว้ในหน่วยความจำหลักสำหรับการดำเนินการ ดังนั้นเมื่อจะดำเนินการกระบวนการหน้าของกระบวนการจากแหล่งเก็บข้อมูลกลับจะถูกโหลดลงในเฟรมใด ๆ ที่มีอยู่ในหน่วยความจำหลัก
ตอนนี้ให้เราคุยกันว่าการนำเพจไปใช้อย่างไร CPU สร้างที่อยู่แบบลอจิคัลสำหรับกระบวนการที่ประกอบด้วยสองส่วนนั่นคือ เลขหน้า และ ชดเชยหน้า. หมายเลขหน้าถูกใช้เป็น ดัชนี ใน ตารางหน้า.
ตารางหน้าประกอบด้วย ที่อยู่ฐาน ของแต่ละหน้าที่โหลดในหน่วยความจำหลัก ที่อยู่ฐานนี้รวมกับการชดเชยหน้าเพื่อสร้างที่อยู่ของหน้าในหน่วยความจำหลัก
ระบบปฏิบัติการทุกระบบมีวิธีการจัดเก็บตารางหน้าของตัวเอง ระบบปฏิบัติการส่วนใหญ่มีตารางหน้าแยกต่างหากสำหรับแต่ละกระบวนการ
ความหมายของการแลกเปลี่ยน
สำหรับการดำเนินการแต่ละกระบวนการจะต้องอยู่ในหน่วยความจำหลัก เมื่อเราต้องการดำเนินการกระบวนการและหน่วยความจำหลักเต็มโดยสมบูรณ์แล้ว ผู้จัดการหน่วยความจำ แลกเปลี่ยน กระบวนการจากหน่วยความจำหลักไปยังหน่วยเก็บข้อมูลสำรองโดยการย้ายสถานที่สำหรับกระบวนการอื่น ๆ เพื่อดำเนินการ ตัวจัดการหน่วยความจำสลับกระบวนการต่าง ๆ บ่อยครั้งจนมีกระบวนการในหน่วยความจำหลักที่พร้อมใช้งาน
เนื่องจาก ที่อยู่ที่มีผลผูกพัน เมธอดกระบวนการที่ถูกสลับจากหน่วยความจำหลักจะใช้พื้นที่ที่อยู่เดียวกันเมื่อถูกสลับกลับไปยังหน่วยความจำหลักหากทำการผูกที่แอสเซมบลีหรือเวลาโหลด หากการเชื่อมโยงเสร็จสิ้นในเวลาดำเนินการกระบวนการสามารถใช้พื้นที่ที่อยู่ใด ๆ ที่มีอยู่ในหน่วยความจำหลักเนื่องจากที่อยู่นั้นถูกคำนวณในเวลาดำเนินการแม้ว่าประสิทธิภาพจะได้รับผลกระทบจากการสลับ แต่ก็ช่วยในการทำงาน หลายกระบวนการในแบบคู่ขนาน.
- ความแตกต่างพื้นฐานระหว่างการสลับหน้าและการสลับหน้าเป็นการหลีกเลี่ยงการสลับหน้า การกระจายตัวภายนอก โดยการอนุญาตให้พื้นที่ที่อยู่ทางกายภาพของกระบวนการไม่ต่อเนื่องกันในขณะที่การสลับอนุญาต multiprogramming.
- การเพจจะถ่ายโอนเพจของกระบวนการไปมาระหว่างหน่วยความจำหลักและหน่วยความจำรองดังนั้นการเพจจึงมีความยืดหยุ่น อย่างไรก็ตามการสลับสับเปลี่ยนกระบวนการทั้งหมดกลับไปกลับมาระหว่างหน่วยความจำหลักและรองดังนั้นการแลกเปลี่ยนจึงยืดหยุ่นน้อย
- การเพจสามารถอนุญาตให้กระบวนการเพิ่มเติมในหน่วยความจำหลักได้มากกว่าการสลับ
สรุป:
การเพจหลีกเลี่ยงการแตกแฟรกเมนต์ภายนอกเนื่องจากใช้พื้นที่แอดเดรสที่ไม่ต่อเนื่องกันในหน่วยความจำหลัก การสลับสามารถเพิ่มเข้าไปในอัลกอริทึมการกำหนดเวลา CPU ที่กระบวนการมักจะต้องมีการเข้าและออกจากหน่วยความจำหลัก