previous | contents | next

Section 2 ½ Memory Hierarchies and Multiple Processes 229
 
 

Table 1 Storage Hierarchy Dimensions



Mapping function Identity
Linear Concatenation
Addition
Segmented Linear
Symbolic
Number of maps 1
2
n
Mapping function implementation Table lookup
Associative lookup
Set-associative
Size of allocated unit Uniform
Set of uniform
Variable Static
Dynamic
Allocation strategies Fetch Demand
Prefetch
Placement (variable-size allocation unit only) First fit
Best fit
Replacement Optimal
FIFO
Least recently used
Random
Periodic
Usage data Modified
Used
Reference count
Protection Basis Word
Page/segment
Page lock
Capability
Number of objects 1
2
n
Access control (mapping only) No restrictions
Read only as data
Read only as program
Nonexisting memory

Nonresident


computation occurs on z to obtain the actual address in Mp. This computation is part of the Pc, just as is an automatic indexing or indirect-addressing calculation. It takes as input not just the virtual address z but information on where the program is located in Mp. The latter information is called the map, and a program's map information is determined when it is placed into Mp on a given run. Thus, using ISP notation, and calling the address calculation f, we get

Mv[z] : = Mp[f(z,map)] That is, the information in virtual memory at virtual address z is the same as the information in actual memory at address f(z,map).

This whole scheme is built to permit programs to be placed in Mp's in various ways, e.g., relocated or scattered around, and still make it possible to run the program. Any such scheme brings a solution to the protection problem, namely, that for some values of z the above calculation cannot take place or is invalid (i.e., there is no mapping for z). This can correspond to a violation of protection, which can then be prevented. All calculations may even be permissible, but f is usually arranged so that it never produces an address in anyone else's part of Mp.

The memory map is part of each user's program. With many
 
 

previous | contents | next