首页
学习
活动
专区
工具
TVP
发布
技术百科首页 >内存管理 >虚拟内存如何工作的?

虚拟内存如何工作的?

词条归属:内存管理

虚拟内存是一种计算机内存管理技术,它将硬盘上的一部分空间作为虚拟内存空间,扩展了计算机的内存容量。虚拟内存的工作原理如下:

内存分页

虚拟内存将物理内存划分成大小相等的页框,将进程所需的内存空间分成大小相等的页。当进程访问内存时,虚拟内存将页面映射到物理内存中的页框上。

页表

虚拟内存通过页表来管理页面和页框之间的映射关系。每个进程有自己的页表,页表记录了每个页面的虚拟地址和物理地址之间的映射关系。

页面置换

当内存不足时,虚拟内存会将一部分页面置换到硬盘上的虚拟内存空间中,释放出物理内存空间供其他页面使用。当进程需要访问被置换的页面时,虚拟内存会将其从虚拟内存空间中读取到物理内存中,再将其映射到相应的页框上。

页面保护

虚拟内存可以对页面进行保护,避免程序非法访问内存。当程序试图访问未授权的内存时,虚拟内存会产生异常,操作系统会将其终止。

相关文章
深入剖析虚拟内存工作原理
作者:allanpan,腾讯 IEG 后台开发工程师 导言 虚拟内存是当今计算机系统中最重要的抽象概念之一,它的提出是为了更加有效地管理内存并且降低内存出错的概率。虚拟内存影响着计算机的方方面面,包括硬件设计、文件系统、共享对象和进程/线程调度等等,每一个致力于编写高效且出错概率低的程序的程序员都应该深入学习虚拟内存。 本文全面而深入地剖析了虚拟内存的工作原理,帮助读者快速而深刻地理解这个重要的概念。 计算机存储器 存储器是计算机的核心部件之一,在完全理想的状态下,存储器应该要同时具备以下三种特性:
腾讯技术工程官方号
2021-05-08
2.7K0
虚拟内存如何转移?
如果你的实际内存为4G,Windows就会自动建立约4G左右的虚拟内存文件在C盘,有些小伙伴的电脑最开始分区时,C盘没分多大,没用多久C盘空间就快满了,这时如果转移虚拟内存至其他盘的话,会节约出几个G的空间给C盘。
简单并不简单
2019-07-23
8.1K0
虚拟内存该如何设置呢
无论是 windows 系统还是 linux 操作系统,在硬盘上都有一块虚拟内存的空间。 无论你使用的是哪个系统,都存在一个问题,那就是到底虚拟内存的空间需要多大呢?虚拟内存又是什么呢? 本文就来详细介绍一下。
用户3147702
2022-06-27
2.3K0
CentOS如何增加虚拟内存?「建议收藏」
dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。
全栈程序员站长
2022-11-10
2.6K0
Epoll 如何工作的?
epoll 是Linux平台下的一种特有的多路复用IO实现方式,与传统的 select 相比,epoll 在性能上有很大的提升。本文主要讲解 epoll 的实现原理,而对于 epoll 的使用可以参考相关的书籍或文章。
用户7686797
2020-08-25
8480
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券