[Next] [Up] [Previous]

Memory Map Instructions

This section covers the instructions which handle both the Process Memory Map and the Global Memory Map.

A Process Memory Map is usually generated as follows: a mapping of memory which is made available under the memory map currently in effect is specified, and that mapping is then translated, using the current process memory map, to a new process memory map defined in terms of global virtual addresses.

These instructions may be used by programs in user mode, but they must be in ring 0.

These are instructions having prefixes belonging to the group 17376m.

Instructions affecting the Global Memory Map, on the other hand, do not compose a new map, but make an incremental change to the existing one, reflecting the fact that a particular area of virtual memory has either been read from disk, or written to disk.

These instructions are only used by programs in supervisor mode.

Thus, they are instructions having prefixes belonging to the group 17377m, just as were the instructions discussed in the previous section.

Also, when a program to run in a virtual machine is started, it is provided with its own memory map as well, thus a modified version of the instruction to set the process memory map of a new process will also set the real (or parent-apparent) and apparent Program Status Block of that process as well. A process running in a virtual machine may also be provided with the illusion of its own Global Memory Map, or, for efficiency, operating systems can be modified to run in virtual mode so that they delegate this function to the actual operating system.

[Next] [Up] [Previous]