6.改变保护属性
如果想要在应用程序中定位一个比较难发现的缺陷,可利用改变已调拔的物理存储页面的保护属性的方式。例如有一段管理链表的代码,并且链表中的节点数据是保存在一个已预订的区域中。可以这样来设计链表相关的处理函数:在处理函数的开关将物理存储页的保护属性置为PAGE_READWRITE, 在处理函数结束前将保护属性置为PAGE_NOACCESS。这样可避免链表的数据受到程序中其它缺陷的影响。
7.重置物理存储器的内容
Windows提供了一项特性: 重置物理存储器,可以使得应用程序提高自身的性能。 重置物理存储器的意思是:应用程序来明确告诉操作系统, 某一个或某几个物理存储页中的数据没有被修改过,这样操作系统就不需要将该页面的数据内容写入到页交换文件中,而是可重用该页面,以提高性能。 因为如果操作系统 正在查找一个闲置内存并且找到一个修改过的页面,操作系统 就必须有将该页面的数据写入到页交换文件中,影响了性能。
8.地址窗口扩展
对于服务器程序来说,随着时间的推移,尤其是客户请求越来越多,导致服务器程序占用的内存也会越来越多,性能会逐渐降低,为提高性能,服务器程序 需要在内存中保存更多的数据以减少磁盘和内存之间的页面交换。有些类型的应用程序可能需要占用较大的内存。 为了帮助这些应用程序 ,Windows提供了一项特性,即地址窗口扩展(AWE),在创建AWE时,Microsoft有以下两个目标:
1)允许 应用程序以一种特殊的方式分配内存,操作系统保证不会将以这种方式分配的内存换出到磁盘上。
2)允许 应用程序访问比进程地址空间还要多的内存。