操作系统内存管理之换页与缺页异常

本文介绍了操作系统中的换页机制,当物理内存不足时,将部分数据写入磁盘并回收物理页,以便为其他程序提供内存。缺页异常是换页机制的一部分,当访问未映射的虚拟页时触发,操作系统会通过换入操作将所需数据重新载入物理内存。预取机制被用来优化换页,预测并提前加载可能需要的页面,减少缺页异常的发生。按需页分配策略则允许操作系统在实际需要时才分配物理内存,有效利用资源。
摘要由CSDN通过智能技术生成

    换页机制思想:该机制的基本思想是当物理内存容量不够的时候,操作系统应该把若干物理页的内容写到类似于磁盘这种容量更大更加便宜的存储设备中,然后就可以回收这些物理页供其他程序使用了。

    举个例子,有一个程序A,其中A的一个物理页为P(对应于程序A虚拟内存中的虚拟页V)时,当操作系统希望从程序A那里回收P时,操作系统就需要将物理页P中的内容写到磁盘的一个位置,并且在程序A的页表中,去除虚拟页V的映射,同时记录该物理页被换到磁盘上的对应位置。该过程叫做物理页P的换出。然后,物理页P就可以被操作系统回收,并且分配给别的应用程序使用,虚拟页V就处于已分配但未映射到物理内存的状态。

    缺页异常:它是和换页机制密不可分的,也是换页机制能够工作的前提,当应用程序访问已分配但未映射至物理内存的虚拟页时,就会发生缺页异常。此时操作系统会运行操作系统预先设置好的缺页异常处理函数,该函数会找到一个空闲的物理页,将之前写到磁盘上的数据内容重新加载到该物理页中,并且在该程序的页表中填写虚拟地址到这一物理页的映射,该过程被称为换入

    利用换页机制,操作系统就可以把物理内存中的放不下的数据临时放到磁盘上,等到需要的时候再放回到物理内存中,从而能够为应用程序提供超过物理内存容量的内存空间。

由于换页过程涉及耗时的磁盘操作,因此操作系统往往会引入预取机制进行优化。它的原理为:当发生换入操作时,预测还有哪些页即将被访问,提前将他们一并换入物理页内存,从而减少发生缺页异常的次数。

    按需页分配:当应用程序申请分配内存时,操作系统可选择将新分配的虚拟页标为已分配但未映射至物理内存状态,而不必为这个虚拟页分配对应的物理页。然后当应用程序访问这个虚拟页时,就会触发缺页异常,此时操作系统才真正为这个虚拟页分配对应的物理内存,并且在页表中填入对应的映射。这种按需分配的机制,使得操作系统能在应用程序真正需要使用物理内存的时候再分配物理页,这使得操作系统能够有效地节约物理内存,提高资源的利用率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

发如雪-ty

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

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

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

打赏作者

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

抵扣说明:

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

余额充值