The Virtual Memory Manager
Buy custom The Virtual Memory Manager essay
Many modern computer operations are particularly concerned about memory for efficiency in data storage. A memory manager is crucial to ensure that all the issues in the operating system go on effectively. The operating system has to meet requests of the end user. In the past, computer users relied on physical memory managers, however, with increased demand of execution virtual memory manager has become widely used (Saltzer & Kaashoek, 2009). The two are different with the virtual memory being associated with a number of benefits. In addition, the two can be used together in a computer to allow running of a number of processes above the real memory.
Physical memory is said to be the real memory installed on the computer motherboard including RAM chips. The RAM is the first memory used in the computer for loading any application or opening a document. On the other hand, virtual memory is stored on the hard drive, and is used when the RAM is filled (Flynn & MacHoes, 1997). Virtual memory is slower than physical memory. Computers operating on virtual memory tend to become slower when much swapping of data between page files in the hard disk and the RAM is done. However, the transferring of data from the RAM when it is full is very fast so that the user cannot observe it. It is termed as mapping from the virtual addresses to the physical addresses. When it comes to allocation of information, in physical memory information is allocated in a “first in, first out” process while, on virtual memory, the memory uses a paging process whereby pages are laid across a hard drive in fixed sizes (Saltzer & Kaashoek, 2009). Virtual memory had the capability of storing as much as the hard drive can hold while physical memory is only limited to the size of the RAM installed in a computer. An operating system is used to control the settings of a virtual memory. When it comes to use, virtual memory manager can be used over a wider area with many users compared to physical memory that will only depend on the number of installed RAMs. It is one of the reasons why virtual memory has become very common in organizations and institutions. However, virtual memory is used indirectly while physical memory is used directly (Saltzer & Kaashoek, 2009). It is because the virtual memory has to be used through the physical memory after mapping as taken place; thus it does not occur directly.
Use of virtual memory is associated with a number of benefits. One of them is cost benefits. It is costly since the hard disk memory is less expensive that the RAM. Programmers find virtual memory to be very beneficial because it separates physical and logical memory (Flynn & MacHoes, 1997). This separation is the importance, since they can use large logical memory even when the physical memory is small. In addition, the secondary memory is cheaper compared to the main memory.
Running virtual memory also helps to open many applications at the same time. In a case where a computer system is only relying on a 32 megabyte RAM, it would be easy to reach a point where no more applications can be launched because of having many programs running. However, through virtual memory one can run many applications at the same time. It happens in such a way that the user does not recognize the space in the RAM has already being loaded to capacity and swapping to virtual memory has occurred. On the same point, a process can run even when the main memory is not enough for it to run. Without a virtual memory, it would be hard to run such a process (Friedman & Pentakalos, 2002). For processes running in the physical memory, it is hard for them to be interrupted by other processes since virtual memory will be used to run them. It provides security for users since they are sure that they will not lose data because of interruption from other processes.
An operating system running on virtual memory is prone to some disadvantages. One of the disadvantages is that the performance of the computer system is likely to drop (Flynn & MacHoes, 1997). It happens when the installed RAM is not in a position to handle all the operations forcing the hard disk to be involved. It is termed as thrashing. It is when slowness will be observed, but, in situations where the RAM can run all the applications such slowness may not be observed.
Programmers are also freed through the concept of virtual memory. It is because the programmer will not need to worry of the size of physical memory in every computer, in the program (Friedman & Pentakalos, 2002). It gives him, or her opportunity to concentrate on the logic of the program.
Virtual memory addresses can be mapped into physical addresses and vice versa. It happens through retrieval of data from the hard disk to the real memory. Retrieval of data is fast when all the data pages are in the RAM. Additionally, if the data pages are in the hard disk, they will be fetched from there to the RAM. The same data pages will remain in the RAM until they are kicked back to the hard disk. When it comes to assessing the physical memory, it is assessed indirectly through the virtual addresses (Saltzer & Kaashoek, 2009). For the process to begin, a process or a number of processes must make use of all the physical memory available in a computer system. It will raise the need of more memory to run other processes without interfering with the ones that are already running. It implies that both user space and operating space will be required. It is mapped from the virtual memory addresses to the physical address. Therefore, the virtual memory will be used, but indirectly since it will be through the physical addresses. A process identifies the size of virtual it will require which then is mapped to the physical addresses as data pages. The data pages will continue to be mapped as the demand for extra increases.
There is a range of virtual addressed, whereby, each one of them is under a virtual address space. A 32-bit process has a virtual address space of 2 GB at a range of 0x00000000 through 0x7FFFFFFF (Friedman & Pentakalos, 2002). A 64-bit process has a larger virtual address space of 8 TB at the range 0x000'00000000 through 0x7FF'FFFFFFFF. In 32-bit Windows, the virtual memory is 2^32 bytes (4 GB) which when it comes to use in the physical memory 2 GB are used for user space or processes that the user is running while the other 2 GB is used for the operating system. The user space can be increased to 3 GB at boot time through specification which leaves the operating system with 1 GB. On a 64-bit computer system, the theoretical virtual address space is 2^64 bytes (16 Exabyte). It is only a small portion of the large16-exabyte memory which is used (Saltzer & Kaashoek, 2009). The 8-terabyte range from 0x000'00000000 through 0x7FF'FFFFFFFF is used by the user through different processes while portions of the 248-terabyte range from 0xFFFF0800'00000000 through 0xFFFFFFFF'FFFFFFFF are used for the operating system.
Buy custom The Virtual Memory Manager essay