Difference between revisions of "Virtual address"

From Computer History Wiki
Jump to: navigation, search
(A decent start)
 
m (Avoid redir)
Line 1: Line 1:
A '''virtual address''' is an address emitted by code running when code is not running on a 'bare machine' (i.e. the machine is not using a 1:1 correspondence between the addresses used by code running in the [[CPU]], and the actual addresses of [[main memory]]) (often referred to as '''physical addresses''').
+
A '''virtual address''' is an address emitted by code running when it is not running on a 'bare machine' (i.e. the machine is not using a 1:1 correspondence between the addresses used by code running in the [[Central Processing Unit|CPU]], and the actual addresses of [[main memory]]) (often referred to as '''physical addresses''').
  
 
When running a [[time-sharing]] [[operating system]], the hardware provides mapping of memory addresses emitting by code belonging to a user/process, to protect both the OS itself, and other users/processes, from errors or malicious behaviour.
 
When running a [[time-sharing]] [[operating system]], the hardware provides mapping of memory addresses emitting by code belonging to a user/process, to protect both the OS itself, and other users/processes, from errors or malicious behaviour.
  
 
Originally this protection was provided by 'base and bounds registers', which allowed the entire memory of a user/process to be relocated into a contiguous block of main memory. Now, [[virtual memory]] is usually used, which provides this protection/relocation as one of its many benefits.
 
Originally this protection was provided by 'base and bounds registers', which allowed the entire memory of a user/process to be relocated into a contiguous block of main memory. Now, [[virtual memory]] is usually used, which provides this protection/relocation as one of its many benefits.

Revision as of 20:46, 21 September 2017

A virtual address is an address emitted by code running when it is not running on a 'bare machine' (i.e. the machine is not using a 1:1 correspondence between the addresses used by code running in the CPU, and the actual addresses of main memory) (often referred to as physical addresses).

When running a time-sharing operating system, the hardware provides mapping of memory addresses emitting by code belonging to a user/process, to protect both the OS itself, and other users/processes, from errors or malicious behaviour.

Originally this protection was provided by 'base and bounds registers', which allowed the entire memory of a user/process to be relocated into a contiguous block of main memory. Now, virtual memory is usually used, which provides this protection/relocation as one of its many benefits.