Describe the process of 80286 virtual address translation
|Subject||Microprocessor and Assembly Language|
|NU Year||Set: 5.(c) Marks: 5 Year: 2009|
In a virtual memory system, the program memory is divided into fixed sized pages and allocated in fixed sized physical memory frames. The pages do not have to be contiguous in memory. A page table keeps track of where each page is located in physical memory. This allows the operating system to load a program of any size into any available frames. Only the currently used pages need to be loaded. Unused pages can remain on disk until they are referenced. This allows many large programs to be executed on a relatively small memory system. A resident flag in the page table indicates whether or not the page is in memory. The page table also includes several other flags to keep track of memory usage. A use flag is set whenever the page is referenced. A dirty bit is set whenever the page is changed to inform the operating system that the page in memory is different than the page on disk.
There are several virtual memory parameters set by a system designer:
|Maximum Virtual Address space||The size of a program address is determined by the maximum size of the virtual address space. The number of bits in a virtual address is the log base 2 of this value.|
|Maximum Physical Address space||The amount of real memory that the system can support determined the number of bits needed to address the physical memory. The size of a physical address is log base 2 of this value.|
|Size of a page||This is the size of a virtual memory page and a physical memory frame. It is always a power of 2.|