Abstract

Virtual memory is one technique for managing the resource of physical memory, including the caches, main memory, and disk subsystem. It provides software with the illusion of a very large amount of main memory. The basic function of virtual memory is to create a virtual-machine environment for every process, which among other things allows text, data, and stack regions to begin at statically known locations in all processes without fear of conflict. It is the primary client of the memory system, in that a user process is not aware of physical memory and does not access it directly. Different architectures provide support for operating system features in very different ways. One of the fundamental differences is their treatment of address spaces. The chapter presents a taxonomy describing the architectural organization and protection of an address space. A system's interrupt mechanism, memory map, and page table/TLB combinations comprise the heart of a typical virtual memory system, one of the most fundamental services that a modern operating system provides. It highlights the operating system's use of and response to precise interrupts, arguably the fundamental building block of today's multi-tasking systems. This chapter presents a definition for a base in-order pipeline and then adds support for nested interrupts and virtual memory management via a MIPS-like memory map, page table, and TLB.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call