how does virtual memory work?

Answer Posted / ron

Today’s processors - the 286, 386, 486 and the Pentium -
can use virtual memory in addition to real memory. Virtual
memory is a service provided by a protected mode operating
system such as the Windows and the Windows 95 working in
conjunction with built-in features of the processor to use
external storage, to simulate large amounts of real memory.
Virtual memory is an operation that involves some carefully
timed cooperation among the processor, a virtual memory
support program and the disk drive.
When a program is being set up to run in the computer, the
operating system creates a virtual memory space, which is a
model of the amount of memory and the memory addresses the
program has at its disposal. Using a feature that is an
integral part of the processor, the operating system’s
virtual memory support program tells the processor to make
the real memory of the computer assigned to the running
program appear to be at some other address. This other
address is the virtual address that the program will use. A
memory mapping feature in the processor makes the real
memory appear to have a working memory address other than
its true address. This makes some real memory addresses
appear to be, and work as, some other virtual addresses.The
more important part of the virtual memory support program
is to handle a situation when a program tries to use more
virtual memory than there is real memory. A program starts
out with some of its usually large virtual memory space
mapped into a part of the computer’s comparatively smaller
real memory. As long as the program is working with only
that part of the its virtual memory, all goes fine. The
program actually is using different locations in memory
than it thinks it is, but that does not matter. When the
program refers to that part of the large virtual memory
that has not been assigned to a part of the real memory,
the processor discovers that the program is trying to use
an address that does not currently exists; and the
processor generates what is called a page fault. When there
is a page fault, indicating that a program is trying to use
a virtual address that is not actively mapped into real
memory, a special virtual memory support program swings
into action. It temporarily places the program on hold
while it deals with the crisis. The support program chooses
some part of the memory currently in real memory and saves
its contents temporarily on the disk; this process is
called swapping out. That free-up part of the real memory
is recycled to act as the needed part of the virtual
memory. When the swapped-out part of the memory is needed
again, it is copied back in from the disk. Thus the disk
acts as the warehouse for storing the parts of virtual
memory that are not in current use.
Depending on how things go, the virtual memory operation
can run very smoothly or may involve so much swapping in
and out of memory that a lot of time is wasted waiting for
the swaps to take place. The latter is called thrashing.

Is This Answer Correct ?    5 Yes 4 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the best memory for a laptop?

746


What causes a computer not to boot up?

654


Does a disk cleanup delete everything?

726


What is the most powerful processor?

745


Why context switching is overhead?

818


any body tell me what are the prob's mostly we face and send some critical prob in real time environment in Solaris and veritas (VXVM,VCS)

1987


what is multitask win95

765


Is google an operating system?

695


How do you fix a crashed computer?

750


What is the best os for laptop?

702


How do I run wget?

681


What are go channels?

731


What does download with adm mean?

722


Can we compare two files in notepad ++?

729


How do I compare plugins in notepad ++?

726