Exploring Virtual Memory

1713 Words4 Pages

Exploring Virtual Memory
Virtual memory is an old concept. Before computers utilized cache, they used virtual memory. Initially, virtual memory was introduced not only to extend primary memory, but also to make such an extension as easy as possible for programmers to use. Memory management is a complex interrelationship between processor hardware and operating system software. For virtual memory to work, a system needs to employ some sort of paging or segmentation scheme, or a combination of the two. Nearly all implementations of virtual memory divide a virtual address space into pages, which are blocks of contiguous virtual memory addresses. On the other hand, some systems use segmentation instead of paging. Segmentation divides virtual address spaces into variable-length segments. Segmentation and paging can be used together by dividing each segment into pages.
Paging
Paging is one of the memory-management schemes by which a computer can store and retrieve data from secondary storage for use in main memory. Paging is used for faster access to data. The paging memory-management scheme works by having the operating system retrieve data from the secondary storage in same-size blocks called pages. Paging writes data to secondary storage from main memory and also reads data from secondary storage to bring into main memory. The main advantage of paging over memory segmentation is that is allows the physical address space of a process to be noncontiguous. Before paging was implemented, systems had to fit whole programs into storage, contiguously, which would cause various storage problems and fragmentation inside the operating system (Belzer, Holzman, & Kent, 1981). Paging is a very important part of virtual memory impl...

... middle of paper ...

...n extension as easy as possible for programmers to use (Denning, 1997). Virtual memory also makes better use of memory by loading in just a few pieces. This means at any one time, only a few pieces of any given process are in memory, therefore, more processes can be maintained in memory. For virtual memory to be realistic and effectual, two ingredients are needed. First, there must be hardware support for the paging and/or segmentation scheme to be employed. Second, the operating system must include software for managing the movement of pages and/or segments between secondary memory and main memory. Virtual memory combines your computer’s RAM with temporary space on your hard disk. When RAM runs low, virtual memory moves data from RAM to a space called a paging file. Moving data to and from the paging file frees up RAM so your computer can complete its work.

More about Exploring Virtual Memory

Open Document