Memory takes a vital role in the computer organization. Without memory,
a computer cannot remember what work to do, from where it has to start
its work and all. So, now, let us start our journey into memory management.
For, knowing what basically memory is, read the article
“Working of a Computer”.
In that article, we have discussed basic functionality of memory and their different
types. Now, we will see how computer accesses memory, what part
it can access directly and what part indirectly.
Data storage and memory : Both are of same terms ?
But, before that, let me tell an interesting point. If we ask people,
what memory is, they say it is the hard disk, which acts as the
memory. Most of us do think that since we store data in hard disk,
and thus is called as memory. But, that is not so. In the real context,
hard disk is a storage device. Now, you may ask what memory is,
where it is located. Actually, we should call the term memory for
a small piece of circuit board, which consists of integrated chips
mounted on it. This circuit board will be placed on slots, which
is available on the motherboard. The slots on the motherboard are
called as RAM slots.
The detailed study of memory management normally starts with looking
into the depth of how memory is organized, internally. As said above,
the memory is a circuit board which consists of electronic chips. Now, let us have a look into memory management.
Working anatomy of a computer system, from memory management side of view :
When the computer starts up, after all components gets power, from power supply, the
control of execution gets started and it points to the first instruction
in the ROM-BIOS program (Read Only Memory – Basic Input Output
System), which is in the ROM (Read Only Memory). From there on the
computer starts functioning actually. The ROM-BIOS has routines
to check all basic input and output components for its functionality.
The tested components by this routine are, all major components
in mother board including memory, hard disks, Keyboard and lastly
the display adapter along with the display.
Do you know, any computer basically access only 640 KB of memory ? !!!
After the completion of the routine tests, the last set of
instructions in ROM-BIOS loads the Boot Loader into RAM. The
OS loader will get loaded into conventional area of memory
and the portion is of 640 KB in size. Once the OS Loader is
loaded and starts executing, it looks for the first sector
or master boot record in the hard disk and reads the information
from there and loads the same into memory. At this stage,
the total amount of memory available is 640 KB to your computer,
even though you have installed 2 GB or 4 GB of RAM!
Don't be panic, be cool, take a sip of tea, n' relax !
Now, you will ask me, where my computer’s other memory
gone? The boot loader will look for the presence of an operating
system. If the operating system is found, the boot loader
loads only the basic operating system files and transfers
control to the operating system. From now on, it is the operating
system which manages memory and other resources. The operating
system has got specialized device driver programs which enables
access to the upper memory that is, beyond 640 KB limit which
it loads whenever access to upper memory is needed.
Some special magical wonder goes inside memory, know about that...
There are certain programs in the operating system which works
from the background. They are called Terminate Stay Resident programs.
They occupy some part of conventional memory and do not get removed
by any means. One example of such program is command.com which takes
one to the command prompt. Such programs do take up space in the
640 KB barrier. From there, it allows access to the upper memory.
The device driver program meant for accessing the memory beyond
640 KB was found to be HIMEM.SYS. It is loaded by the OS by default,
now days. Earlier, in MS-DOS times, it was loaded through DEVICEHIGH=
statement in config.sys file.
GUI Operating system made memory access simpler and easier
Earlier, the memory access limit was restricted to 640 KB barrier.
The upper part of the memory was not that easily accessible to programs.
Software developers and vendors had to write their own driver programs \
to access upper memory, in their programs, using special interrupt handlers.
After the release of Windows, a Graphical User Interface (GUI) based
program which was later developed into operating system, memory
management has changed a lot and brought additional new features
in managing the memory. A new concept known as Virtual memory concept
got introduced. Windows needs some 20 times more memory than the
total physical memory. But, one can afford to buy only few GB’s
of physical memory. Therefore, the concept of virtualization came
Into virtual world in memory management : beginning of smart computing !!!
The virtualization concept brought many changes in memory management.
This concept brought a new system which we call today as “Virtual
Memory System”. The user of the computer is made to feel that
he is using large amount of memory, even though the system is having
lesser amount. For example, if the computer is using 2 GB of physical
memory, then user will be made to feel that, he is having more than
20 GB, which is why, the applications meant for image processing
etc. works smoothly in any of the systems.
The memory management topic is a vast, versatile, interesting topic
among many other computer management topics. We will look for more
information on it in the coming articles.