Virtual memory is an aspect of the operating system which is developed for the kernel which stimulates additional main memory such as disc storage or RAM. This mechanism includes the management and manipulation of the main memory by enabling execution and loading of large programs or multiple tasks simultaneously. It also enables every program to proceed as if it is accessing infinite memory and is normally considered cost-effective than buying out additional RAM.
VM allows the third party software to use additional memory and utilize the HDD (disk drive) as temporary storage. Most of the CPUs provide MMU (memory management units) which supports virtual memory. The memory management units support the feature of “page tables” that are known to transform “virtual” and “real” addresses located in the HDD and memory. The objective of this blog is to provide you with a handful of information on how virtual memory operates in the CPU. On the other hand, students can get a detailed review of VM at Assignment help UK.
Before the origin of virtual memory, systems had RAM and secondary memory. Early computer system used magnetic drums for their secondary memory and magnetic core memory for main memory. These computer memories were expensive and usually in limited supply back in the 50s. As system programs expanded in complexity and size, the coder had to take note of the space the programs had to take would eventually run out of the main memory.
In the starting days, coders use a predefined process known as overlaying to start programs that were bigger than the present memory. Various parts of a program which weren’t continually in execution were set up as overlays. So that if necessary these overlays can overwrite the current overlay in main memory. It is marked as one of the key impetus for the origin and development of VM.
Rudolf Guntsch, A German physicist is known as the creditor who developed the concept of VM. In 1956, he published his doctoral work where he described a system that is enriched with hardware that can move the blocks of data between main and secondary memory. In order to avoid running out of main memory, a process of paging developed. Paging divide memory into sections and at times traffic the memory into RAM and hard drive.
In 1969, IBM developers demonstrated publicly the benefits of using virtual memory rather than the earlier manual system. Minicomputers and mainframes in the 1970s normally used Virtual memory. Early personal computers still lacked the virtual memory system because memory running out was not an issue back then.
Types of Virtual Memory
A system’s MMU (memory management Unit} controls memory tasks which include handling VM. In most of the system, the MMU hardware is integrated with the central processing unit. There are two mechanisms with which virtual memory is controlled: segmented and paged.
Our assignment expert is professional and has years of experience in writing IT projects and programming languages. If you are struggling with any concept of computer science, feel free to visit our portal.
Paging shuffles memory into paging files or sections, usually approx 4 KB in size. When the system uses up its RAM, pages which are not in the execution process are transferred to various section of the hard drive. These sections are specifically designed for virtual memory using the functionality of the swap file. A swap file is a location set aside on the main hard drive as the virtual memory extension of system’s RAM. If needed, the swap file is sent back to the system’s RAM using the process of page swapping. This system makes sure the computer’s application and OS don’t run out of memory.
The process of paging includes the utilization of page tables which translate the virtual address into a physical address. System’s OS only understands the virtual addresses while MMU uses physical memory. Page table entries indicate whether or not the page overlays is in real memory. If a program or an OS doesn’t identify what it needs in RAM, then the MMU responds to a missing memory reference. With the help of page fault exception, the operating system transfers the page back to the main memory. Once the page is in random access memory, you can locate the virtual address in the page table.
Segmentation is often used to control VM management. This aspect divides the VM into a section of segments of various lengths. Segments which are not in the occupation can move virtual memory data to the main hard drive. Segmented processes or information are synced into a segment table, which depicts the presence of segments in memory or if it’s altered and it mains physical address.
Some of VM mechanism combines paging and segmentation. In various cases, the system divides memory into frames and pages. The segments maintain multiple pages at once and the virtual address contains both page number and segment number.
How to control it
Operating System has some standard settings which determine the percentage of drive space to allocate it with virtual memory. That system setting works for most of processes and application. However, there are many cases when it’s essential to reset the amount of hard drive manually. For instances the programs which rely on response times, or when system have multiple hard drives.
When physically configuring the virtual memory, it’s evident to specify minimum and maximum amount of hard drive space. Allocating less hard drive space can lead to system running out of RAM. If a computer system requires more virtual memory, it is a viable option to add up more RAM.
Benefits of adopting virtual memory
Among all the primary benefits of using VM is its efficiency to control much of the addresses as the main memory. With the use of HDD, it enables the programs to use more of memory. MMU which is known to translate virtual addresses to a physical address via the central processing unit. Program execution uses the location of virtual addresses to store data and instruction. When a predefined program is executed, the virtual addresses are changed into real memory locations.
Virtual memory also frees up the various application from controlling shared memory. It saves users to add different memory modules when random access memory runs out.
Drawbacks of virtual memory
The utilization of virtual memory has its drawbacks, significantly with speed. It’d normally viable to have enough physical memory as possible. This will lead to programs running directly from physical memory or RAM. On the other hand, in some cases, VM slows down a system because data is mapped between physical and virtual memory. This mechanism requires additional hardware support for address translation.
In an advanced computing hierarchy, administrators can use VM management techniques to allocate additional memory. Such management mechanism can improve the flexibility and performance of any virtual management system.
Virtual memory is a basic part of most of desktop system and operating system. It have became so standard as it provide huge upper hand for user at a low cost. While reading this blog, i hope you have created an insight over virtual memory and its benefits. However, you can gather every detail and work of VM by visiting our assignment help portal.