Virtual Memory or VRAM? Do you really need VRAM?

Virtual Memory or VRAM. It is very important to understand what exactly is virtual:

Not physically existing as such but made by software to appear to do so

–Defination of Virtual

In the technical domain, there are many virtual concepts like virtual memory, Virtual random access memory (VRAM), virtual reality and many more. Virtual memory is a virtual concept that will be highlighted today.

As per the definition of the virtual, it is clear that there is no dedicated hardware present in your system for VRAM. So, It’s all developers talent that they are providing you with virtual memory. Microsoft Windows provides in the form of Page file and Linux provides in the form of SWAP partitions.

Virtual Memory

Virtual memory is a memory management technique of an operating system (OS) which achieves virtualization by using the right combination of hardware and software. So that the computer can overcome the shortage of physical memory.

Virtualization is achieved by temporarily transferring unused data from random access memory (RAM) to disk storage. Usually, the operating system reserves a certain amount of memory in the Secondary storage device for the page file. Reserved memory is used as virtual address spaces to form contiguous addresses that hold both the application and its data.

Virtual memory was developed as an alternative for expensive physical RAM. Computers have a finite amount of RAM, therefore a situation might come when the system runs out memory. The problem of RAM Overflow can lead to Operating System Crash, blue screen, loss of data and many more.

To avoid memory overflow problem virtual memory was introduced to emulate the RAM. With virtual memory, a system will load larger or multiple programs faster, permitting Operating System to push the unused programs to virtual reserved secondary storage and pull it to ram when required. Which will lead to better ram management and making it less prone to RAM overflow.

History

In the Olden days, Computer memory was very much expensive and less available in the 1940s and 1950s. In those does the developer was facing the problem to run a ram hungry program in their system. After a lot of research developers developed an alternative called memory overlaying to run the ram hungry programs. But this technique doesn’t survive long as immense backend coding and logic was required for every program to run. The Memory Overlaying played a key impetus for the development of automated virtual memory

The concept of virtual memory was first developed by German physicist Fritz-Rudolf Güntsch at the Technische Universität Berlin in 1956 as part of his doctoral work. He described a computer that automatically moves blocks of data between primary and secondary memory to avoid running out of main memory. This developed the concept of paging, a process in which memory is divided into sections and transferred between RAM and a hard drive to free up space in RAM.

Working of VRAM

A computer’s memory management unit MMU is responsible for handling memory operations, including managing virtual memory. There are mainly two ways of handling virtual memory

Paged VRAM handling

Segmented VRAM handling

Paging divides memory into sections or paging files. When a certain program goes from an active state to the ideal state, Then the ideal program is transferred to the reserved section of the hard drive dedicated for virtual memory using a swap file. When the user again invokes the call to access that ideal program, then it is sent back to RAM using a process called page swapping. This mechanism ensures that the computer’s OS and applications don’t run out of real memory.

Segmentation also plays an important role to manage virtual memory. Segmentation divides virtual memory into segments of different lengths. The Segments that are not in use are moved to virtual reserved memory space on the secondary storage. Loaded again to the Primary.

I hope you would have understood the concepts of Virtual memory. Soon I will be covering the below-mentioned points in my next post.

Translate

DO NOT COPY

Subscribe

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Email Address

About

PinProgram is a new emerging blog/news portal designed for people interested in programming and technology. PinProgram provides you the fast & reliable source of information freshly served to you on daily basis.