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.
For new process, Process Image and Page Table creation required
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