Home Common Problem Is virtual memory part of computer memory?

Is virtual memory part of computer memory?

Aug 19, 2020 pm 03:19 PM
Virtual Memory computer memory

Virtual memory is a portion of the computer's physical memory. Virtual memory is a technology for computer system memory management. It is usually divided into multiple physical memory fragments, and some are temporarily stored on external disk storage for data exchange when needed.

Is virtual memory part of computer memory?

#The operating system has the concepts of virtual memory and physical memory. A long time ago, when there was no concept of virtual memory, programs used physical addresses for addressing. The range that a program can address is limited, depending on the number of address lines of the CPU. For example, on a 32-bit platform, the addressing range is 2^32, which is 4G. And this is fixed. If there is no virtual memory and 4G of physical memory is given every time a process is started, many problems may occur:

  • Because my physical memory is limited. Yes, when there are multiple processes to be executed, 4G of memory must be allocated. Obviously if your memory is smaller, it will be allocated quickly, so the processes that have not been allocated resources can only wait. When a process has finished executing, the waiting process is loaded into memory. This frequent operation of loading memory is very inefficient

  • Since the instructions directly access the physical memory, then my process can modify the data of other processes, and even Modifying the data in the kernel address space is something we don’t want to see

  • Because the memory is randomly allocated, the address where the program runs is also incorrect.

So in response to the various problems that will arise above, virtual memory came out.

When a process is running, it will get 4G of virtual memory. You can think of this virtual memory. Each process thinks it has 4G of space. This is only what each process thinks. But in fact, the physical memory corresponding to the virtual memory may only correspond to a small amount of physical memory. In fact, How much memory is used will correspond to how much physical memory is used.

The 4G virtual memory obtained by the process is a continuous address space (this is only what the process thinks), but in fact, it is usually divided into multiple physical memory fragments, and some are stored on external disks. On the memory, data is exchanged when needed.

When a process starts to access an address, it may go through the following process

  • Every time I want to access an address in the address space, I need to translate the address For the actual physical memory address

  • all processes share this entire physical memory, and each process only maps the virtual address space it currently needs to physical memory

  • The process needs to know which data in the address space is in the physical memory, which is not (maybe this part is stored on the disk), and where it is in the physical memory, which needs to be recorded through the page table

  • Each entry in the page table is divided into two parts. The first part records whether the page is in physical memory, and the second part records the address of the physical memory page (if it is)

  • When a process accesses a virtual address, it will first look at the page table. If it is found that the corresponding data is not in the physical memory, a page fault exception will occur

  • In the handling process of page missing exception, the operating system immediately blocks the process, swaps the corresponding page from the hard disk into the memory, and then makes the process ready. If the memory is full and there is no free space, then find a Page coverage, as for which page is specifically covered, it depends on how the operating system's page replacement algorithm is designed.

Regarding the connection between virtual memory and physical memory, the following picture can help us consolidate.

Is virtual memory part of computer memory?

The working principle of the page table is as follows

Is virtual memory part of computer memory?

  • Our CPU wants to access the virtual address For the virtual page (VP3) where it is located, according to the page table, find the value of the third entry in the page table and determine the valid bit. If the valid bit is 1, the DRMA cache hits. According to the physical page number, the content in the physical page is found and returned.

  • If the valid bit is 0, the parameter page fault exception occurs, and the kernel page fault exception handler is called. The kernel selects a page as the overwritten page through the page replacement algorithm and refreshes the content of the page to the disk space. Then cache the VP3 mapped disk file to the physical page. Then in the third entry in the page table, the valid bit becomes 1, and the second part stores the content that can correspond to the address of the physical memory page.

  • After the page fault exception is processed, return to the instruction before the interruption and re-execute it. At this time, the cache hits and execute 1.

  • Map the found content to the notification cache, and the CPU obtains the value from the notification cache and ends.

Let’s summarize how virtual memory works

When each process is created, the kernel will allocate 4G of virtual memory to the process. When the process has not started running, this is just a memory layout. In fact, the program data and code (such as .text.data segment) at the corresponding location in the virtual memory are not immediately copied to the physical memory. It is just a mapping between the virtual memory and the disk file (called memory mapping). At this time, the data and code are still on the disk. When the corresponding program is run, the process looks for the page table and finds that the address in the page table is not stored in physical memory, but on the disk, so a page fault exception occurs, so the data on the disk is copied to physical memory.

In addition, when the process is running, when memory is dynamically allocated through malloc, only virtual memory is allocated, that is, the page table entry corresponding to this virtual memory is set accordingly. When the process actually accesses this A page fault exception is triggered when the data is retrieved.

It can be considered that virtual space is mapped to disk space (in fact, it is also mapped to disk space as needed, through mmap, which is used to establish the mapping relationship between virtual space and disk space)

Advantages of utilizing the virtual memory mechanism

  • #Since the memory space of each process is consistent and fixed (4G under 32-bit platforms), Therefore, when linking an executable file, the linker can set the memory address without caring about the final actual memory address of the data. This is left to the kernel to complete the mapping relationship

  • When different When a process uses the same piece of code, such as the code of a library file, only one copy of such code can be stored in physical memory. Different processes only need to map their own virtual memory to it, which can save physical memory

  • When the program needs to allocate continuous space, it only needs to allocate continuous space in virtual memory, and does not need continuous physical memory. In fact, physical memory is often intermittent memory fragments. In this way, we can effectively utilize our physical memory

For more related knowledge, please visit: PHP Chinese website!

The above is the detailed content of Is virtual memory part of computer memory?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to adjust virtual memory in win11 system? Win11 system virtual memory setting guide How to adjust virtual memory in win11 system? Win11 system virtual memory setting guide Jan 29, 2024 pm 06:45 PM

Virtual memory is a technology that can make up for the lack of software memory and provide a better user experience. However, some users may not know how to set virtual memory after upgrading to Windows 11 system. In order to solve this problem, the editor of this site provides you with the latest setting method. If you need to know the complete steps, please visit this site for details. How to set virtual memory in win11 1. First, press the win button on the keyboard, click to find and enter the setting page. 3. Then, find the advanced system setting options in the relevant links. 5. In the page after the jump, find the virtual memory and click the change button.

An effective method to solve the problem of insufficient virtual memory in Red Dead Redemption 2 in Windows 10 An effective method to solve the problem of insufficient virtual memory in Red Dead Redemption 2 in Windows 10 Dec 31, 2023 pm 04:29 PM

The biggest problem that many friends encounter when playing Red Dead Redemption 2 is the prompt that virtual memory is insufficient. So how to solve this problem? Today I have brought you a solution to take a look at. What to do if there is insufficient virtual memory in Red Dead Redemption 2 on Windows 10: 1. Right-click this computer and click "Properties". 2. Click "Advanced System Settings" on the left. 3. Then click "Advanced" and then "Settings". 4. Click "Advanced" in Performance and select "Change" under Virtual Memory. 5. Cancel the √ in front of "Automatically manage paging file size for all drives", click "Custom size", enter the value, and click Set.

What is the appropriate virtual memory setting? What is the appropriate virtual memory setting? Feb 23, 2024 pm 03:34 PM

Depends on the size of physical memory. Specific suggestions: 1. According to Microsoft’s recommendations, virtual memory should be set to 1.5-3 times the physical memory capacity; 2. If the physical memory is 2G, the virtual memory should be set to 3G=3072MB; if the physical memory is 4G, then the virtual memory The memory should be set to 6G=6144MB; 3. It is usually recommended to set the virtual memory to 1.5 to 2 times the total computer memory; 4. It is generally similar to the physical memory.

How to increase virtual memory (page file) in Windows 11 How to increase virtual memory (page file) in Windows 11 May 13, 2023 pm 04:37 PM

If you notice a certain amount of lag when running high-end applications or games, it could be that the RAM/memory is generally running full. This is where you increase the virtual memory or page file size in Windows 11. Virtual memory or page file is one of the most misunderstood concepts and there are many myths surrounding it. No matter what anyone else says or does, it's important to thoroughly understand how to get the best performance from your computer. In the following sections, we'll walk you through the steps to increase virtual memory in Windows 11, helping you understand its importance and the optimal virtual memory size. Why do you need virtual memory? The page file or virtual memory is basically the part of the hard drive that is used as RAM. When memory is full and cannot store more data

Virtual memory allocation: Is 16g a suitable setting? Virtual memory allocation: Is 16g a suitable setting? Feb 19, 2024 pm 07:42 PM

What is the appropriate setting for 16G virtual memory? Virtual memory is a technology in computer systems that can improve the operating efficiency of the system by using part of the hard disk space as an expansion of memory. For the operating system, virtual memory is a very important resource. It can be used to store temporarily unnecessary data, thereby freeing up physical memory for use by other programs. So, for a computer with 16G of physical memory, how to set the size of virtual memory? The size of virtual memory is automatically managed by the operating system, but we can also manually

How to reset virtual memory (page file) in Windows 11? How to reset virtual memory (page file) in Windows 11? Apr 13, 2023 pm 11:28 PM

If your computer doesn't have enough RAM or is always full, you can rely on virtual memory to unload inactive files from physical memory. However, if this doesn't go well, you may need to reset virtual memory in Windows 11. We often see our computers lagging, most likely due to high RAM usage in Windows 11. There are ways to reduce RAM consumption, but this may affect your experience. And, this is where virtual memory can help. Sometimes it is necessary to reset virtual memory in Windows 11, therefore, it is essential to understand the concept and process correctly, which we discuss in the following sections. How does virtual memory work and why do I need to re-

What are the appropriate Win10 virtual memory settings? What are the appropriate Win10 virtual memory settings? Jan 15, 2024 am 08:03 AM

In fact, the so-called virtual memory is actually a large special area carved out for it on the hard disk, which is used by the Windows system as memory. How can you set the ideal virtual memory size? What is the appropriate virtual memory setting for win10? Answer: The most appropriate virtual memory setting for win10 is 1.5 times the physical memory. This is only a reference value. The specific setting method depends on the actual situation. The minimum setting range is 1-1.5 times the physical memory, and the maximum is no more than 2-2.5 times the physical memory. For the specific setting method, click the link on the right to view details. content. (Win10 virtual memory setting method) Which drive is best to set win10 virtual memory on? Answer: Win10 virtual memory is best set on C drive. because

How to optimize Win11 virtual memory settings? The best way to configure virtual memory in Win11 How to optimize Win11 virtual memory settings? The best way to configure virtual memory in Win11 Jan 30, 2024 pm 05:54 PM

If you are often troubled by insufficient system memory, you can try to solve the problem by setting up virtual memory. Virtual memory can alleviate computer lagging to a certain extent. However, for users who are not familiar with the Win11 system, it may not be clear how to set up virtual memory. Below I will share with you how to set up virtual memory in Win11 system. What is the appropriate virtual memory setting for win11? 1. If the computer memory is less than 4GB, you can usually set the virtual memory between 2-4GB. According to theory, virtual memory can be set to 1.5 times the physical memory, but in actual use it can be flexibly adjusted as needed, and there is no fixed numerical requirement. You can even set virtual memory to match physical memory