FIT2070 Lecture Notes - Lecture 8: Virtual Address Space, Logical Address, Virtual Memory
L8 - Virtual Memory
Terminology
● Virtual Memory
○ A storage allocation scheme in which secondary memory can be addressed
as though it were part of main memory
● Virtual Address
○ The address assigned to a location in virtual memory to allow that location to
be accessed as though it were part of MM
● Virtual address space
○ The virtual storage assigned to a process
● Address space
○ The range of memory addresses available to a process
● Real address
○ The address of a storage location in MM
Hardware and Control Structures
Characteristics fundamental to memory management:
● All memory references are logical addresses that dynamically translated into physical
addresses at run time
● A process may be broken up into a number of pieces that don’t need to be
contiguously located in MM during execution
If these two are present, it’s not necessary that all pages/segments of a process be in MM
during execution
Execution of a Process
● Operating system bring into MM a few pages or segments of the program
● An interrupt is generated when a logical address is needed that is not in MM
● Operating system places the interrupted process in a blocking state
● Piece of the process that contains the logical address is brought into MM
○ OS issues a disk I/O Read request
○ Another process is dispatched to run while the disk I/O takes place
○ An interrupt is issued when disk I/O is complete
■ Causes the OS to place the affected process in the Ready state
Issues:
● More processes may be maintained in MM
● A process may be larger than all of MM
Thrashing
● A state in which the system spending most of its time swapping process pieces rather
than executing instructions
Document Summary
A storage allocation scheme in which secondary memory can be addressed as though it were part of main memory. The address assigned to a location in virtual memory to allow that location to be accessed as though it were part of mm. The virtual storage assigned to a process. The range of memory addresses available to a process. The address of a storage location in mm. All memory references are logical addresses that dynamically translated into physical addresses at run time. A process may be broken up into a number of pieces that don"t need to be contiguously located in mm during execution. If these two are present, it"s not necessary that all pages/segments of a process be in mm during execution. Operating system bring into mm a few pages or segments of the program. An interrupt is generated when a logical address is needed that is not in mm. Operating system places the interrupted process in a blocking state.