Language:
Free Online Dictionary|3Dict

virtual memory

Source : WordNet®

virtual memory
     n : (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 addresses
         [syn: {virtual storage}]

Source : Free On-Line Dictionary of Computing

virtual memory
     
         A system allowing a computer program to
        behave as though the computer's memory was larger than the
        actual {physical} {RAM}.  The excess is stored on {hard disk}
        and copied to RAM as required.
     
        Virtual memory is usually much larger than physical memory,
        making it possible to run programs for which the total code
        plus data size is greater than the amount of RAM available.
        This is known as "{demand paged} virtual memory".  A page is
        copied from disk to RAM ("paged in") when an attempt is made
        to access it and it is not already present.  This paging is
        performed automatically by collaboration between the {CPU},
        the {memory management unit} (MMU), and the {operating system}
        {kernel}.  The program is unaware of virtual memory, it just
        sees a large {address space}, only part of which corresponds
        to physical memory at any instant.
     
        The virtual {address space} is divided into {pages}.  Each
        {virtual address} output by the {CPU} is split into a
        (virtual) {page} number (the most significant bits) and an
        offset within the page (the N least significant bits).  Each
        page thus contains 2^N {bytes} (or whatever the unit of
        addressing is).  The offset is left unchanged and the {memory
        management unit} (MMU) maps the virtual page number to a
        {physical} page number.  This is recombined with the offset to
        give a {physical address} - a location in {physical memory}
        ({RAM}).
     
        The performance of a program will depend dramatically on how
        its 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, the
        performance will be better than if accesses are randomly
        distributed over the program's {address space} thus requiring
        more paging.
     
        In a {multitasking} system, physical memory may contain pages
        belonging to several programs.  Without {demand paging}, an OS
        would need to allocate physical memory for the whole of every
        active program and its data.  Such a system might still use an
        {MMU} so that each program could be located at the same
        {virtual address} and not require run-time relocation.  Thus
        virtual addressing does not necessarily imply the existence of
        virtual memory.  Similarly, a {multitasking} system might load
        the whole program and its data into physical memory when it is
        to be executed and copy it all out to disk when its
        {timeslice} expired.  Such "swapping" does not imply virtual
        memory and is less efficient than paging.
     
        Some {application programs} implement virtual memory wholly in
        software, by translating every virtual memory access into a
        file access, but efficient virtual memory requires hardware
        and operating system support.
     
        (2002-11-26)
Sort by alphabet : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z