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