【免杀前置课——Windows编程】二十、虚拟内存管理—虚拟内存与物理内存区别?什么是内存分页?虚拟内存的三种状态?虚拟内存三种映射方式?程序访问内存如何找到自己想要的文件?虚拟内存API(重要)

虚拟内存管理

虚拟内存与物理内存区别

一、作用不同

1、虚拟内存:使得应用程序认为拥有连续的可用的内存。

2、物理内存:是在计算机运行时为操作系统和各种程序提供临时储存。

二、特点不同

1、虚拟内存:是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

2、物理内存:会对系统的虚拟内存限制有影响,虚拟内存的大小等于物理内存容量、再加上所有页面文件的最大容量。

三、主体不同

1、虚拟内存:是计算机系统内存管理的一种技术。是Windows 为作为内存使用的一部分硬盘空间。

2、物理内存:指通过物理内存条而获得的内存空间。

内存分页的概念:

操作系统管理内存是将内存分成一页一页来管理的,每一页的大小是4K也就是Ox10004G的内存共有1M个页
使用了分页机制之后,4G的地址空间被分成了固定大小的页,每一页或者被映射到物理内存,或者被映射到硬盘上的交换文件中,或者没有映射任何东西。对于一般程序来说,4G的地址空间,只有一小部分映射了物理内存,大片大片的部分是没有映射任何东西。CPU用来把虚拟地址转换成物理地址的信息存放在叫做页目录和页表的结构里,
在这里插入图片描述
在这里插入图片描述
Mapped可以多个进程虚拟内存进行映射,映射到物理内存是同一块地址,一个进程修改这一块的内容,其他进程访问也会收到改变的内容,因为是映射,有连带关系。
在这里插入图片描述
在这里插入图片描述

页交换文件逻辑:

程序访问虚拟内存地址:操作系统判断数据是否在内存中,如果在就从虚拟地址映射到的物理地址,如果不在就判断是否在页交换文件当中,如果在就查看物理内存是否有闲置空间,有的话,就将页交换文件载入到物理内存,如果没有闲置内存,就从物理内存中找到一个可以释放的页,然后将页保存到页交换文件中。

页交换文件在硬盘中,而虚拟内存等于物理内存+分页文件的总和。
在这里插入图片描述

虚拟内存API

在这里插入图片描述
正常不发修改常量型指针内容,通过API函数VirtualProtect可以修改内容。
h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

webfker from 0 to 1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值