释义 |
virtual memory
virtual memory n. Memory, often as simulated on a hard disk, that emulates RAM, allowing an application to operate as though the computer had more memory than it actually does. ThesaurusNoun | 1. | virtual memory - (computer science) memory created by using the hard disk to simulate additional random-access memory; the addressable storage space available to the user of a computer system in which virtual addresses are mapped into real addressesvirtual storagecomputer memory, computer storage, memory board, store, memory, storage - an electronic memory device; "a memory and the CPU form the central part of a computer to which peripherals are attached"computer science, computing - the branch of engineering science that studies (with the aid of computers) computable processes and structures | Translationsmemoria virtualmemoria virtualevirtual memory
virtual memory[′vər·chə·wəl ′mem·rē] (computer science) A combination of primary and secondary memories that can be treated as a single memory by programmers because the computer itself translates a program or virtual address to the actual hardware address. virtual memory (memory management)A system allowing a computer program tobehave as though the computer's memory was larger than theactual physical RAM. The excess is stored on hard diskand copied to RAM as required.
Virtual memory is usually much larger than physical memory,making it possible to run programs for which the total codeplus data size is greater than the amount of RAM available.This is known as "demand paged virtual memory". A page iscopied from disk to RAM ("paged in") when an attempt is madeto access it and it is not already present. This paging isperformed automatically by collaboration between the CPU,the memory management unit (MMU), and the operating systemkernel. The program is unaware of virtual memory, it justsees a large address space, only part of which correspondsto physical memory at any instant.
The virtual address space is divided into pages. Eachvirtual address output by the CPU is split into a(virtual) page number (the most significant bits) and anoffset within the page (the N least significant bits). Eachpage thus contains 2^N bytes (or whatever the unit ofaddressing is). The offset is left unchanged and the memory management unit (MMU) maps the virtual page number to aphysical page number. This is recombined with the offset togive a physical address - a location in physical memory(RAM).
The performance of a program will depend dramatically on howits memory access pattern interacts with the paging scheme.If accesses exhibit a lot of locality of reference,i.e. each access tends to be close to previous accesses, theperformance will be better than if accesses are randomlydistributed over the program's address space thus requiringmore paging.
In a multitasking system, physical memory may contain pagesbelonging to several programs. Without demand paging, an OSwould need to allocate physical memory for the whole of everyactive program and its data. Such a system might still use anMMU so that each program could be located at the samevirtual address and not require run-time relocation. Thusvirtual addressing does not necessarily imply the existence ofvirtual memory. Similarly, a multitasking system might loadthe whole program and its data into physical memory when it isto be executed and copy it all out to disk when itstimeslice expired. Such "swapping" does not imply virtualmemory and is less efficient than paging.
Some application programs implement virtual memory wholly insoftware, by translating every virtual memory access into afile access, but efficient virtual memory requires hardwareand operating system support.virtual memorySimulating more random access memory (RAM) than actually exists, allowing the computer to run larger programs and multiple programs concurrently. A common function in most every OS and hardware platform, virtual memory uses storage (hard drive or SSD) to temporarily hold what was in RAM.
Virtual memory allows multiple programs to load in RAM at the same time. Each application addresses RAM starting at zero, but virtual memory takes control of the RAM addressing and lets each application function as if it had unlimited RAM.
Note that virtual "memory" and virtual "machine" are not the same. Virtual memory is used all the time, whereas a virtual machine is an optional approach for running applications and pertains mostly to servers (see virtual machine).
Virtual Memory Pages The computer's real memory (RAM) is broken up into smaller segments, called "pages," typically 4KB in size. When RAM fills up, pages not currently in use by open applications are written to storage in a virtual memory "swap file." When any swapped out page in storage is required again, once again a page in RAM is written to storage to make room, and the required page in storage is retrieved.
RAM is the computer's workspace, and since there is often several hundred times more storage space than RAM space, virtual memory dramatically increases the computer's capacity to do work. However, there is a penalty. When a user has too many open programs, there can be excessive amounts of page swapping, causing applications to slow down. In addition, switching between applications is no longer instantaneous (see thrashing).
Hardware Is Required Virtual memory can be implemented in software only, but efficient operation requires specialized hardware circuits. All modern, general-purpose CPUs have memory management units (MMUs) that support virtual memory. They provide "page tables" that are used to translate between the program's "virtual" addresses and the "real" addresses in RAM and storage, which may change at any time. Although a program may initially load as a contiguous block of code, it can wind up in pages randomly scattered around RAM.
Virtual memory claims are sometimes made for specific applications that bring additional parts of the program in as needed; however, true virtual memory is built into the operating system and hardware and works with all applications. See Windows swap file.
| Memory Is Extended to Storage |
---|
Virtual memory allows more programs to be opened simultaneously by using the hard drive or solid state drive (SSD) as temporary storage of RAM pages. |
| Page Out, Page In |
---|
When RAM (real memory) is full and the current program needs instructions that are not in RAM, pages are swapped. In this example, program A needs a page from the disk, and a page from program C is swapped out to make room. | MedicalSeeoverlayAcronymsSeevoltmetervirtual memory Related to virtual memory: cache memorySynonyms for virtual memorynoun (computer science) memory created by using the hard disk to simulate additional random-access memorySynonymsRelated Words- computer memory
- computer storage
- memory board
- store
- memory
- storage
- computer science
- computing
|