Demand paging = virtual memory
Motive : In any hardware, same code(address) should have same data (memory management by maintaining logical semantic)
virtual address: logical address
Concept : separating of user logical memory from physical memory
- Symbolic Address : access variable by name
- address binding : variable mapping to address and physical memory when compile
Insight : program do not need all of their code and data at once, so we can separate (but of course have overhead)
- Implementation : demand paging
effect : VM enables program to execute without requiring their entire address space to be resident in physical memory. isolate each process's memory, enable share files and address spaces.
In practice, kernel physically pin kernel address space in hardware, preventing paging out. by using hardware global bit (G): prevent TLB flushing (apply only to PTE). That is the basic reason why the ratio is 1:3.

Mode Switching is the reason of User Space and Kernel Space share same linear memory space because it is frequent, reducing overhead)
Virtual Memory Notion
Virtual Memory Notion Usages
Virtual memory
In computing, 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".
https://en.wikipedia.org/wiki/Virtual_memory
8강. 메모리 관리
주소를 통해 접근하는 객체로 Main Memory는 주 기억장치를 의미한다. Logical Address(Virtual Address) 프로세스마다 독립적으로 갖는 공간. 0번지부터 시작한다. CPU가 보는 주소이다. Physical Address 메모리에 실제로 올라가는 위치 Symbolic Address 프로그래밍을 할 때 변수를 지정하면 변수의 이름을 통해 값에 접근할 수 있는 방법. 그 변수를 Symbolic Address라고 한다.
https://marlinbar.tistory.com/68?category=300896



Seong-lae Cho