"Virtual memory, or virtual storage, is a memory management technique that provides an 'idealized abstraction of the storage resources that are actually available on a given machine' which 'creates the illusion to users of a very large (main) memory'."
A technique used to allow a computer to use more memory than physically available by temporarily transferring data from RAM to disk.
Memory Hierarchy: The different levels of memory (e.g. cache, RAM, virtual memory) and their roles in the processing of data.
Address Translation: The conversion of logical addresses into physical addresses by the translation look-aside buffer (TLB) and page tables.
Paging: The technique of breaking up memory into fixed-size pages to allow for efficient memory allocation and management.
Segmentation: Alternative memory-management technique that breaks up memory into variable-sized segments.
Page Replacement Algorithms: The methods used by the operating system to decide which pages to remove from memory when it is full.
Working Set Model: A model used to predict which pages should be kept in memory to reduce the number of page faults.
Demand Paging: Technique used to minimize the amount of memory needed to run a program by only bringing in pages as they are needed.
Page Faults: Errors that occur when the operating system tries to access a page that is not currently in memory.
Thrashing: The situation that occurs when the system spends more time swapping pages in and out of memory than executing the program.
Swap Space: The area of the hard drive used to store pages that have been swapped out of memory.
Virtual Memory Management: The techniques used by the operating system to manage virtual memory.
Memory Protection: The ability of the operating system to restrict access to certain areas of memory to certain programs.
Shared Memory: The technique by which multiple programs can access the same physical memory.
Memory Mapping: The technique used to map files or devices directly into memory without the need to read or write data.
Large Address Space: The ability to access more memory than physically available through virtual memory.
Demand Paging: This type of virtual memory is used in modern operating systems, where the pages of memory are loaded into RAM only when they are needed and not loaded during the program's runtime.
Pre-Paging or Prepaging: This technique is used to improve the memory access time by loading the pages of memory before they are needed by the running processes.
Swapping: This type of virtual memory technique is commonly used in traditional operating systems, where the entire process is swapped in and out of the memory.
Demand Segmentation: In this technique, the segments of memory are brought into the main memory only when a specific instruction or segment is executed.
Demand Paging with Page Replacement: This type of virtual memory system is similar to the demand paging methodology, but it swaps out the pages from the memory if they are not in use, and memory becomes scarce.
Working Set Technique: This is a technique that optimizes virtual memory by keeping track of the pages in use by a particular process.
Windowing Technique: In this technique, the processor keeps a portion of the virtual address space in the primary memory and updates the information in the other sections when required.
File mapping: This virtual memory technique is used for fast access to frequently used files by mapping the file's parts directly into the memory.
Virtual Memory on Disk: In this virtual memory technique, the unused portion of the secondary storage is used as the swap space, which can be accessed by the processor at any time.
Shadow Memory: This technique creates a copy of the entire physical memory by mapping it into the virtual address space.
Compressed Virtual Memory: This virtual memory technique compresses the data in the memory, thereby saving space and improving access time.
"The computer's operating system, using a combination of hardware and software, maps memory addresses used by a program, called virtual addresses, into physical addresses in computer memory."
"Main storage, as seen by a process or task, appears as a contiguous address space or collection of contiguous segments."
"The operating system manages virtual address spaces and the assignment of real memory to virtual memory."
"Address translation hardware in the CPU, often referred to as a memory management unit (MMU), automatically translates virtual addresses to physical addresses."
"Software within the operating system may extend these capabilities, utilizing, e.g., disk storage, to provide a virtual address space that can exceed the capacity of real memory."
"The primary benefits of virtual memory include freeing applications from having to manage a shared memory space, ability to share memory used by libraries between processes, increased security due to memory isolation, and being able to conceptually use more memory than might be physically available."
"Virtual memory includes freeing applications from having to manage a shared memory space."
"Virtual memory allows the ability to share memory used by libraries between processes."
"Increased security is achieved due to memory isolation in virtual memory."
"Software within the operating system may extend these capabilities, utilizing, e.g., disk storage, to provide a virtual address space that can exceed the capacity of real memory."
"The technique of paging or segmentation is used to conceptually use more memory than might be physically available."
"Virtual memory creates the illusion to users of a very large (main) memory."
"Virtual memory provides an 'idealized abstraction of the storage resources that are actually available on a given machine'."
"Address translation hardware in the CPU, often referred to as a memory management unit (MMU), automatically translates virtual addresses to physical addresses."
"The combination of hardware and software in the computer's operating system is used to map memory addresses."
"The operating system manages the assignment of real memory to virtual memory."
"The memory management unit (MMU) is responsible for automatically translating virtual addresses to physical addresses."
"Software within the operating system may extend these capabilities, utilizing, e.g., disk storage, to provide a virtual address space that can exceed the capacity of real memory."
"Virtual memory is a memory management technique that provides an idealized abstraction of the storage resources available on a given machine."