Everything about Virtual memory compression
Algorithms for compressing in-memory data
Virtual memory compression is a memory management technique that utilizes data compression to reduce the size or number of paging requests to and from the auxiliary storage. In a virtual memory compression system, pages to be paged out of virtual memory are compressed and stored in physical memory, which is usually random-access memory (RAM), or sent as compressed to auxiliary storage such as a hard disk drive (HDD) or solid-state drive (SSD). In both cases the virtual memory range, whose contents has been compressed, is marked inaccessible so that attempts to access compressed pages can trigger page faults and reversal of the process. The footprint of the data being paged is reduced by the compression process; in the first instance, the freed RAM is returned to the available physical memory pool, while the compressed portion is kept in RAM. In the second instance, the compressed data is sent to auxiliary storage but the resulting I/O operation is smaller and therefore takes less time. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Virtual memory compressionA 5-minute orientation
- Pick up a classic book: Invitation to Computer ScienceThe most-reprinted book on the subject
- Read the landmark paper: New Virtual SPIHT Tree Structures for Very Low Memory Strip-Based Image CompressionCited 27 times
- Go sideways: ZramA closely related topic
- Go sideways: Thrashing (computer science)A closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
New Virtual SPIHT Tree Structures for Very Low Memory Strip-Based Image Compression
HMDC: Live Virtual Machine Migration Based on Hybrid Memory Copy and Delta Compression
Design of Virtual Memory Compression System on the Embedded System
Compression of Virtual-Machine Memory in Dynamic Malware Analysis
FITDOC: fast virtual machines checkpointing with delta memory compression
Design of the Compression Algorithm for in-Memory Data of the Virtual Memory
📚 Books worth reading
Invitation to Computer ScienceG. Michael Schneider, Judith L. Gersting · 1995
Neural Information ProcessingTingwen Huang · 2012
Computer Engineering and TechnologyWeixia Xu · 2013
Digital planetGeorge Beekman, Ben Beekman · 2011
Fundamentals of data structures in CEllis Horowitz · 1993
Understanding Computers Today and TomorrowDeborah Morley · 2003
Discovering Computers 2018Misty E. Vermaat, Susan Sebok · 2017
Data Structures and Algorithms in JavaMichael T. Goodrich, Roberto Tamassia · 2014
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Zram zram, formerly called compcache, is a Linux kernel module for creating a compressed block device in RAM, i.e. a RAM disk with on-the-fly disk compression…
- Thrashing (computer science) In computer science, thrashing occurs in a system with memory paging when a computer's real memory (RAM) resources are overcommitted, leading to a constant…
- Memory paging In computer operating systems, memory paging is a memory management scheme that introduces a level of indirection between physical and logical addresses…
- Memory hierarchy In computer architecture, the memory hierarchy separates computer storage into a hierarchy based on response time. Since response time, complexity, and…
- Zswap zswap is a Linux kernel feature that provides a compressed write-back cache for swapped pages, as a form of virtual memory compression. Instead of moving…
- Disk compression Disk compression increases the amount of information that can be stored on a disk by automatically compressing and decompressing data as it is written…
- Algorithmic efficiency In computer science, algorithmic efficiency is a property of an algorithm which relates to the amount of computational resources used by the algorithm…
- Tmpfs tmpfs (short for temporary file system) is a temporary file storage paradigm implemented in many Unix-like operating systems. It is intended to appear…