4 VIRTUAL ADDRESS SPACES

A virtual address space typically allows a virtual processor to view its subset of the physical memory as one or more contiguous blocks of memory, starting at fixed addresses such as zero.

Providing virtual processors with such virtual address spaces has several disadvantages: It limits the class of suitable hardware, most processor caches must be invalidated after each context switch, and the operating system is complicated by the need to cope with different address spaces.

However, appropriate memory management hardware units are becoming common, and virtual address spaces facilitate the writing of compilers. Furthermore, virtual address spaces allow a process to comprise a number of disjoint areas of physical memory and make it possible to provide processes with virtual memories that are larger than the physical memory (however, this is becoming increasingly less important as physical memories become larger).

Moreover, widely-used operating systems such as UNIX provide processes with virtual address spaces. It may thus be more difficult to port programs developed for existing operating systems to a new operating system that does not provide processes with virtual address spaces.

Thus, the advantages or providing virtual address spaces appear to outweigh the disadvantages.


next up previous
Next: 5 DYNAMIC MEMORY ALLOCATION Up: No Title Previous: 3 MEMORY SHARING

Prof Herman Venter
Tue May 7 09:30:30 GMT 1996