Chapter 6 - Virtual memory. This chapter deals with virtual memory implementation using paging in detail. It discusses how the kernel keeps the code and data of a process on a disk and loads parts of it into memory when required, and how the performance of a process is determined by the rate at which parts of a process have to be loaded from the disk. | PROPRIETARY MATERIAL. © 2007 The McGraw-Hill Companies, Inc. All rights reserved. No part of this PowerPoint slide may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this PowerPoint slide, you are using it without permission. Virtual memory Virtual memory is an illusion of a memory that is larger than the real memory Only some parts of a process are loaded in memory, other parts are stored in a disk area called swap space and loaded only when needed It is implemented using noncontiguous memory allocation The memory management unit (MMU) performs address translation. The virtual memory handler (VM handler) is that part of the kernel which manages virtual memory Overview of virtual memory Memory allocation information is stored in a page table or segment | PROPRIETARY MATERIAL. © 2007 The McGraw-Hill Companies, Inc. All rights reserved. No part of this PowerPoint slide may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this PowerPoint slide, you are using it without permission. Virtual memory Virtual memory is an illusion of a memory that is larger than the real memory Only some parts of a process are loaded in memory, other parts are stored in a disk area called swap space and loaded only when needed It is implemented using noncontiguous memory allocation The memory management unit (MMU) performs address translation. The virtual memory handler (VM handler) is that part of the kernel which manages virtual memory Overview of virtual memory Memory allocation information is stored in a page table or segment table; it is used by the memory management unit (MMU) Parts of the process address space are loaded in memory when needed Logical address space, physical address space and address translation Address space of a process is called the logical address space; an address in it is a logical address Memory of the computer constitutes the physical address space; an address in it is a physical address • The MMU translates a logical address into a physical one Paged virtual memory systems A process is split into pages of equal size The size of a page is a power of 2 It simplifies the virtual memory hardware and makes it faster A logical address is viewed as a pair (page #, byte #) The MMU consults the page table to obtain the frame # where page page # resides It juxtaposes the frame # and byte # to obtain the physical address Address translation in a paged virtual memory system MMU uses the page # in a logical address to index the page table It uses the frame number found there to compute .