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