หน่วยความจำเสมือน (Virtual Memory) เป็นเทคนิคในการใช้หน่วยความจำหลัก (Main Memory) ให้เสมือนเป็น Cache สำหรับ แหล่งข้อมูลลำดับที่สอง เพื่อให้โปรแกรมหลายโปรแกรมสามารถใช้หน่วยความจำร่วมกันได้อย่างปลอดภัยและมีประสิทธิภาพ และสามารถถอดหรือสลับ โปรแกรมออกจากหน่วยความจำหลักที่มีขนาดเล็ก และมีความจุอย่างจำกัดได้ หน่วยความจำเสมือนทำหน้าที่ในการแปลงตำแหน่งอ้างอิงของโปรแกรมที่เรียกว่า ตำแหน่งอ้างอิงเสมือน (Virtual Address) ให้เป็นตำแหน่งอ้างอิงแท้จริง (physical address) ซึ่งก็คือตำแหน่งอ้างอิงในหน่วยความจำหลักนั่นเอง กระบวนการแปลงตำแหน่งอ้างอิงนี้เอง ที่ทำให้สามารถให้โปรแกรมหลายโปรแกรมทำงานร่วมกันได้ในระบบ Multitasking และสามารถป้องกันตำแหน่งอ้างอิงของโปรแกรมจากโปรแกรมอื่น
Block ของหน่วยความจำเสมือนจะถูกเรียกว่า เพจ (Page) และเรียกเหตุการณ์ ที่เกิดขึ้นเมื่อเพจที่ต้องการไม่อยู่ในหน่วยความจำหลักว่า Page Fault)
ในรูปที่ 7.13 แสดงให้เห็นหน่วยความจำของตำแหน่งอ้างอิงเสมือน ซึ่งจะถูกแปลงไปยังหน่วยความจำหลัก กระบวนการแปลงนี้เรียกว่า การแปลงตำแหน่งอ้างอิง (Address Mapping หรือ Address Translation)
ปัจจุบันนี้ หน่วยความจำทั้งสองลำดับชั้น ที่ถูกควบคุมโดยหน่วยความจำเสมือน ได้แก่ DRAMs และ แผ่นจานแม่เหล็ก (Magnetic disk)
รูปที่ 7.13 ในหน่วยความจำเสมือน บล็อกของหน่วยความจำที่เรียกว่าเพจนั้น จะถูกแปลงจากกลุ่มของตำแหน่งอ้างอิง ซึ่งเรียกว่าตำแหน่งอ้างอิงเสมือน ไปเป็นกลุ่มของตำแหน่งอ้างอิงแท้จริง
หน่วยความจำเสมือนยังทำให้การโหลดโปรแกรมเพื่อการประมวลผลทำได้ง่ายขึ้น โดยการกำหนดตำแหน่งใหม่ (Relocation) ซึ่งจะแปลงตำแหน่งอ้างอิงเสมือนที่ถูกเรียกใช้โดยโปรแกรม ไปเป็นตำแหน่งอ้างอิงแท้จริงก่อนที่จะนำไปเรียกใช้หน่วยความจำ การกำหนดตำแหน่งใหม่นี้ทำให้สามารถโหลดโปรแกรมได้ทุกที่ในหน่วยความจำหลัก หน่วยความจำเสมือนที่ใช้ในปัจจุบัน สามารถกำหนดตำแหน่งของโปรแกรมให้เป็นกลุ่มของบล็อกแบบจำกัดขนาด (Fixed-Size Block) ซึ่งจะทำให้ไม่ต้องทำการค้นหาบล็อกของหน่วยความจำที่อยู่ติดกัน
จากรูปที่ 7.14 ตำแหน่งอ้างอิงเสมือนจะถูกแบ่งออกเป็น หมายเลขเพจเสมือน (Virtual Page Number) และ เพจออฟเซท (Page Offset) หมายเลขเพจเสมือนจะถูกแปลงเป็น หมายเลขเพจแท้จริง (Physical Page Number) ซึ่งจะประกอบเป็นส่วนแรกของตำแหน่งอ้างอิงแท้จริง ในขณะที่เพจออฟเซท ซึ่งไม่มีการเปลี่ยนแปลง จะประกอบเป็นส่วนส่วนหลังของตำแหน่งอ้างอิงแท้จริง ซึ่งจำนวนบิทในเพจออฟเซทนี่เองที่เป็นตัวกำหนดขนาดของแต่ละเพจ
รูปที่ 7.14 การแปลงจากตำแหน่งอ้างอิงเสมือนเป็นตำแหน่งอ้างอิงแท้จริง
การออกแบบระบบหน่วยความจำเสมือนนั้น ถูกกำหนดโดยจำนวนของการเกิดเพจฟอล์ท นั่นคือ
บล็อกที่มีขนาดไม่แน่นอนเรียกว่าเซกเมนเตชั่น (Segmentation) ประกอบด้วย 2 ส่วน ได้แก่ หมายเลขเซกเมนต์ (Segment Number) ซึ่งจะถูกแปลงไปเป็นตำแหน่งอ้างอิงแท้จริง และ เซกเมนต์ออฟเซท (Segment Offset) ซึ่งจะถูกเพิ่มเข้าไปเพื่อระบุตำแหน่งอ้างอิงแท้จริง เนื่องจากเซกเมนต์มีขนาดไม่แน่นอน จึงต้องมีการตรวจสอบขอบเขตเพื่อให้แน่ใจว่าออฟเซทนั้นอยู่ในเซกเมนต์
ประโยขน์ของเซกเมนเตชั่นคือ สามารถรองรับวิธีการป้องกันและใช้พื้นที่ตำแหน่งอ้างอิงที่มีประสิทธิภาพมากขึ้น อย่างไรก็ตาม ข้อเสียของเซกเมนเตชั่นคือ จะต้องแยกดำเนินการกับตำแหน่งอ้างอิงทั้งสองส่วน คือ หมายเลขเซกเมนต์ และ ออฟเซท แต่เพจนั้นมีขอบเขตระหว่าง หมายเลขเพจกับออฟเซท อย่างชัดเจนอยู่แล้ว