Windows核心编程 - 在应用程序中使用虚拟内存(3)

6.改变保护属性

        如果想要在应用程序中定位一个比较难发现的缺陷,可利用改变已调拔的物理存储页面的保护属性的方式。例如有一段管理链表的代码,并且链表中的节点数据是保存在一个已预订的区域中。可以这样来设计链表相关的处理函数:在处理函数的开关将物理存储页的保护属性置为PAGE_READWRITE, 在处理函数结束前将保护属性置为PAGE_NOACCESS。这样可避免链表的数据受到程序中其它缺陷的影响。

7.重置物理存储器的内容

         Windows提供了一项特性: 重置物理存储器,可以使得应用程序提高自身的性能。 重置物理存储器的意思是:应用程序来明确告诉操作系统, 某一个或某几个物理存储页中的数据没有被修改过,这样操作系统就不需要将该页面的数据内容写入到页交换文件中,而是可重用该页面,以提高性能。 因为如果操作系统 正在查找一个闲置内存并且找到一个修改过的页面,操作系统 就必须有将该页面的数据写入到页交换文件中,影响了性能。

8.地址窗口扩展

     对于服务器程序来说,随着时间的推移,尤其是客户请求越来越多,导致服务器程序占用的内存也会越来越多,性能会逐渐降低,为提高性能,服务器程序 需要在内存中保存更多的数据以减少磁盘和内存之间的页面交换。有些类型的应用程序可能需要占用较大的内存。 为了帮助这些应用程序 ,Windows提供了一项特性,即地址窗口扩展(AWE),在创建AWE时,Microsoft有以下两个目标:

     1)允许 应用程序以一种特殊的方式分配内存,操作系统保证不会将以这种方式分配的内存换出到磁盘上。

     2)允许 应用程序访问比进程地址空间还要多的内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值