A modern desktop computer system has 4 to 8 G Bytes memory a
Solution
1. Virtual Memory: As we very well know that modern computers already comes with very high storage which we usually call as \"Main Memory\". Despite of such large surplus memory, we require an
additional memory which we pronounce as \"Virtual Memory\". Virtual Memory is basically a technique of memory management which maps logical addresses to physical addresses and can be implemented
using both hardware and software. Virtual memory appears as a main memory in computers but actually it tranfers data to main memory by mapping it through addresses so that the more main memory is
available for the processes to execute. The process which executes is called \"Memory Management Unit\" which automatically translates logical to physical address. Virtual memory allows multiprogramming
and multitasking to smoothen the process. Hence, we require the virtual memory.
2. As we have studied that storage allocation scheme assigns secondary memory and can be addressed as though it were part of main memory. The addresses a program may use to reference memory are
distinguished from the addresses the memory system uses to identify physical storage sites, and program-generated addresses are translated automatically to the corresponding machine addresses.
The size of virtual storage is limited by the addressing scheme of the computer system and by the amount of secondary memory available and not by the actual number of main storage locations.
3. Virtual memory is managed by software such as a virtual machine (VM) which is an emulation of a computer system. Virtual machines are based on computer architectures and provide functionality
of a physical computer. Their implementations may involve specialized software As technology evolves virtual memory for purposes of virtualization, new systems of memory overcommitment may be applied to manage memory sharing among multiple virtual machines on one computer operating system. It may
be possible to share memory pages that have identical contents among multiple virtual machines that run on the same physical machine.
4. Virtual memory is incomplete without terms \"Page\" which is also called as \"Virtual Page\" is basically a block of memory. It is basically a smaalest unit of data in virtual memory management.
A transfer of pages between main memory and an auxiliary store, such as a hard disk drive, is referred to as paging or swapping. A system with a smaller page size uses more pages, requiring a page table
that occupies more space. For example, if a 232 virtual address space is mapped to 4 KiB pages, the number of virtual pages is 220 = (232 / 212). However, if the page size is increased to 32 Kionly 217 pages are required.
A multi-level paging algorithm can decrease the memory cost of allocating a large page table for each process by further dividing the page table up into smaller tables, effectively paging the page table.
