เมื่อกระบวนการไม่ได้ใช้หน่วยความจำเสมือนจะมีเคอร์เนลหรือหน่วยความจำผู้ใช้ใน RAM หรือไม่?


2

กระบวนการสามารถใช้หน่วยความจำเสมือนสูงสุดไม่เกิน 4 GB (รวมถึงผู้ใช้และเคอร์เนล) แต่เมื่อไม่ใช้หน่วยความจำเสมือนจะมีเคอร์เนลและหน่วยความจำผู้ใช้ในหน่วยความจำหรือไม่

คำตอบ:


3

การใช้หน่วยความจำเสมือนไม่ใช่ทางเลือกแอปพลิเคชันไม่สามารถหลีกเลี่ยงได้ สมมติว่าเรากำลังพูดถึงหน่วยความจำที่ป้องกัน x86 ซึ่งเป็นระบบปฏิบัติการส่วนใหญ่เช่น Linux, OS X และ Windows ที่ใช้กับ x86

โดยพื้นฐานแล้วแต่ละกระบวนการจะเห็นพื้นที่ที่อยู่เสมือน (VAS) 4 GB ระบบปฏิบัติการร่วมกับฮาร์ดแวร์ตั้งค่าตาราง descriptor เพจ (PDT) ที่อธิบายวิธีการแมป VAS นั้นพร้อมกับหน้าย่อย (โดยทั่วไปคือ 4 KB) หน้าอาจถูกแมปไปยังหน่วยความจำกายภาพมันอาจถูกแมปไปยังไฟล์ (หมายความว่าเมื่อกระบวนการพยายามอ่านจากส่วนหนึ่งของ VAS นั้นจะดักจับลงในระบบปฏิบัติการซึ่งจะอ่านหน้าจากไฟล์บนดิสก์และ วางไว้ในหน่วยความจำ) หรืออาจไม่ถูกแมปเลยในกรณีที่พยายามเข้าถึงส่วนหนึ่งของ VAS นั้นจะทำให้กระบวนการขัดข้อง ในขณะที่หน่วยความจำเคอร์เนลถูกแม็พเข้ากับกระบวนการกระบวนการไม่สามารถเข้าถึงได้โดยตรงและจะล้มเหลวหากพยายามทำเช่นนั้น

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


ฉันสามารถเลือกที่จะไม่มีไฟล์เพจหรือสลับพาร์ติชั่นได้หน่วยความจำเสมือนจะเป็นตัวเลือกในกรณีนี้ได้อย่างไร อย่างน้อยถ้าหน่วยความจำเสมือนเป็นสิ่งที่ Google สืบค้น "define: หน่วยความจำเสมือน" ให้ฉัน ...
Tom Wijsman

@ Tom ฉันคิดว่า janneb กำลังพูดว่าแอปพลิเคชั่นไม่มีทางเลือกว่าจะมีอยู่ใน VRam หรือไม่ ไม่ใช่ว่าคุณไม่สามารถปิดการใช้งานได้
Jeff F.

@JeffF: แอพพลิเคชั่นมีตัวเลือกมันเป็นแค่การจัดการหน่วยความจำ
Tom Wijsman

@Tom: P ฉันไม่ได้โต้เถียงอย่างใดอย่างหนึ่งเพียงแค่ชี้แจง
Jeff F.

ไม่ว่าคุณจะมีไฟล์เพจหรือสลับพาร์ติชั่นก็ไม่เกี่ยวข้องกับว่าคุณใช้หน่วยความจำเสมือนจริงหรือไม่ หน่วยความจำเสมือนไกลเกินกว่า "ใช้ไฟล์เพจหรือสลับพาร์ติชั่น" การไม่มีไฟล์เพจหรือสลับพาร์ติชั่นจะกำจัดไฟล์หนึ่งในสิบหรือหลายร้อยไฟล์ที่เกี่ยวข้องกับการเพจ I / O และไม่แอปพลิเคชันไม่มีทางเลือกเช่นกัน
Jamie Hanrahan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.