ความแตกต่างระหว่างหน่วยความจำเสมือนและแคชในระบบปฏิบัติการ

ผู้เขียน: Laura McKinney
วันที่สร้าง: 2 เมษายน 2021
วันที่อัปเดต: 12 พฤษภาคม 2024
Anonim
หน่วยความจำเสมือน
วิดีโอ: หน่วยความจำเสมือน

เนื้อหา


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

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

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

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


นิยามของหน่วยความจำเสมือน

หน่วยความจำเสมือน ไม่ใช่หน่วยความจำกายภาพของคอมพิวเตอร์แทนมันเป็น เทคนิค ที่ช่วยให้การดำเนินการของ โปรแกรมขนาดใหญ่ ที่อาจ ไม่ เป็น วางไว้อย่างสมบูรณ์ในหน่วยความจำหลัก. มันทำให้โปรแกรมเมอร์สามารถรันโปรแกรมที่มีขนาดใหญ่กว่าหน่วยความจำหลัก

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

หน้า 0, 1, 2 ได้รับการแมปในหน่วยความจำหลักและหน่วยความจำหลักจะเต็ม ขณะนี้เมื่อหน้า 3 ของหน่วยความจำเสมือนขอพื้นที่ในหน่วยความจำหลักหน้าที่เก่าที่สุดคือหน้า 0 จะถูกถ่ายโอนไปยังฮาร์ดดิสก์และอพยพสถานที่สำหรับหน้า 3 ในหน่วยความจำหลักและกระบวนการทำงานต่อไป ในกรณีที่ต้องการหน้า 0 อีกครั้งจากนั้นหน้าที่เก่าที่สุดที่วางไว้ในเวลานั้นจะถูกถ่ายโอนไปยังฮาร์ดดิสก์ทำให้เป็นตำแหน่งสำหรับหน้า 0


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

ประโยชน์ของหน่วยความจำเสมือนคือ:

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

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

คำจำกัดความของหน่วยความจำแคช

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

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

  1. หน่วยความจำเสมือน ขยาย ความจุของหน่วยความจำหลักที่แท้จริงสำหรับผู้ใช้ อย่างไรก็ตามหน่วยความจำแคชทำให้การเข้าถึงข้อมูล ได้เร็วขึ้น สำหรับ CPU
  2. แคชเป็นหน่วยความจำ หน่วยเก็บ ในขณะที่หน่วยความจำเสมือนเป็น เทคนิค.
  3. หน่วยความจำเสมือนที่เปิดใช้งานการทำงานของโปรแกรมที่ ที่มีขนาดใหญ่ กว่าหน่วยความจำหลักในทางกลับกันหน่วยความจำแคชจะจัดเก็บ สำเนา ของข้อมูลดั้งเดิมที่ถูกใช้เมื่อเร็ว ๆ นี้
  4. การจัดการหน่วยความจำเสมือนนั้นทำโดย ระบบปฏิบัติการ. ในทางกลับกันการจัดการหน่วยความจำแคชจะทำโดย ฮาร์ดแวร์.
  5. หน่วยความจำเสมือนอยู่ไกล ที่มีขนาดใหญ่ กว่าขนาดหน่วยความจำแคช
  6. เทคนิคหน่วยความจำเสมือนต้องการ โครงสร้างการทำแผนที่ เพื่อแมปที่อยู่เสมือนกับที่อยู่ทางกายภาพในขณะที่หน่วยความจำแคช ไม่ ต้องการโครงสร้างการแมปใด ๆ

สรุป:

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