- Virtual Memory is a memory management
technique that is a compulsory requirement for the multi-tasking kernels.
- With
this technique, the architecture of a computer can be virtualized to different types of computer data storage such as disk drive storage and RAM
i.e., the random access memory.
- With this, programmers do not have to worry about
designing applications that will suit this kind of storage.
- The programs can be
designed keeping in consideration only one kind of memory i.e., the virtual
memory.
- This memory behaves just like the usual memory but more than that.
- It offers a direct as well as contiguous memory space for
various operations. - Some of us might think that the programming the software
might get difficult with the virtual memory. But this is not so.
- Instead the
task becomes easy because the fragmentation of the main physical memory is
hidden.
- For achieving this, the burden of the management of the memory
hierarchy is delegated to the kernel.
- This has another added advantage which is
that the need for handling of overlays in an explicit way via program is
eliminated.
- The need for the relocation of a program code or accessing the
memory is obviated via relative addressing.
- This lets the process to be
executed in its own dedicated space.
- The concept of the virtual memory in a
more generalized form is called the memory virtualization.
- The
modern computer architecture cannot do without the virtual memory.
- The only
requirement for implementing the virtual memory is the hardware support that is
provided through the memory management unit that is in-built in CPU.
- For
increasing the performance of these virtual memory implementations hardware
support can be employed by the virtual machines and emulators.
- Computer systems
with old operating systems such as DOS in mainframes do not possess any
functionality of the virtual memory.
- The first computer that featured the
virtual memory was the Apple Lisa that was designed in the year of 1980.
- It
appears that with the use of virtual memory as if every program has a sole access to
it.
- However, there were some older operating systems that had single
address space Oss.
- These operating systems used to process tasks in a single
space.
- This space is consisted of the virtual memory.
- Very consistent response
times are a requirement of the special purpose computer systems such as the
embedded systems.
- These systems do not prefer to use the virtual memory as
it may decrease the determinism.
- The unpredictable traps producing unwanted
jitter while carrying out the I/O operations might be triggered by the virtual
memory systems.
- This happens because the cost of the embedded
hardware is kept low.
- The operations are included in the software rather than
including them in the hardware.
- This technique is termed as the bit banging.
- The older programs needed to have logic for the management of both primary and
secondary memory.
- One such logic was that of the overlaying.
- Therefore, virtual
memory was introduced as a method for extending the primary memory and make
this extension easy for the programmers.
- In order to allow multi–tasking and multi–programming, the memory in the early systems was divided between many programs.
Implementation of the virtual memory saw many problems. One among those
problems was of the dynamic address translation that was difficult to be
implemented and quite expensive also.
No comments:
Post a Comment