Section 12.5: Address spaces and page tables (Frame 1)                     [     ][home][next]

A program that uses virtual memory generates virtual addresses as it executes instructions. The addresses that the program generates go from 0 up to the maximum address and form a set of numbers called the program's address space. Since these addresses are not real, we sometimes call this the program's virtual address space.

Usually, the number of bits in addresses determines the size of the address space. For example the VAX uses 32-bit addresses although one of these bits was used to tell if the address was a special system address or just an ordinary user address. Thus, VAX addresses are actually 31 bits long. 231-1 is 2,147,483,647, which is the largest address that a program running on the VAX can generate in an instruction. The reason why we subtract 1 is because 0 is the first address and all 1's is the last address, and

111111111111111111111111111111

(31 ones) is 2,147,483,647, computed by 231-1.