From 3d40d6868c3294057ade164b266a1c28d3737025 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Tue, 9 Jul 2024 07:00:03 +0100 Subject: [PATCH] Autosave: 2024-07-09 07:00:03 --- .zk/notebook.db | Bin 3829760 -> 3829760 bytes zk/VirtualMemory.md | 45 +++++++++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/.zk/notebook.db b/.zk/notebook.db index ce120f4d612a874b17098fbc729f9d312722d2db..7e03e74a6077922c5ce0dba6c980be437c4ae7b5 100644 GIT binary patch delta 26059 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 b&dkKm%p_i$Ns6!3#CM0^bADmxw!r@bq2=wf delta 21806 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 UT6pi@tXuDn{nG!1>8bet0kZG_&;S4c diff --git a/zk/VirtualMemory.md b/zk/VirtualMemory.md index f049223..f518530 100644 --- a/zk/VirtualMemory.md +++ b/zk/VirtualMemory.md @@ -4,14 +4,16 @@ tags: - Linux --- -# Virtual memory and the Memory Management Unit +# Virtual memory -## What is virtual memory? +Virtual memory is an abstracted and idealised representation of the physical +memory capacity of the machine that is presented to user space for its memory +operations. -Virtual memory is an abstraction of physical memory capacity and allocation that -is accessible to user space. The kernel handles physical memory allocation and -presents this to user space as a simplified and idealised representation of the -available memory of the system. +When an OS implements virtual memory, processes in user space cannot directly +read or write to the actual memory. Instead they execute memory operations +against virtual memory and the kernel translates these into actual operations +against the memory hardware. The main benefits: @@ -20,20 +22,25 @@ The main benefits: - There is a buffer between user mode processes and physical memory, meaning that memory cannot be accidentally corrupted by other processes in user space. -When a process writes or reads from a virtual memory address this does not -directly refer to a hardware memory location. The kernel translates this into a -physical memory address but this is opaque to the user space process. In fact, -the physical memory addresses could be distributed accross multiple -non-contiguous locations such as cache and swap memory, not just DRAM. +Because the physical memory is abstracted, it can be the case that the physical +memory addresses are non-contiguous or even distributed accross different +hardware components (such as the cache and swap). Despite this, the memory +addresses will appear contiguous in virtual memory. Each user space process is +presented with the same range of available memory addresses and the same total +capacity. -Although the physical memory may be distributed and non-contiguous, from the -viewpoint of user space, the available virtual memory is contiguous. Each user -space process is presented with the same range of available memory addresses and -the same total capacity. +It is possible for the kernel to present user space with an available virtual +memory capcacity that actually exceeds the current physical capacity of the +machine: -Because this is virtual, there is no risk of one process reading or overwriting -the address of another. The same virtual address for multiple programs maps to -different physical addresses. +> _It's possible for the kernel and all running processes to request more bytes +> of virtual memory than the total size of RAM. In that situation, the OS can +> move move bytes of memory to secondary storage to make room in RAM for newly +> requested memory._ + +_How Computers Really Work_ (2021) p.206 + +// Next: the kernel also uses virtual memory however isn't also responsible for +the appportioning of virtual memory. Confused. -// Next: more memory offered than is physically available. ![](/img/virtual-memory-diagram.jpg)