Windows XP SP2 中的数据执行保护功能的详细说明
2008-08-22 09:55:23 来源:WEB开发网有关更多信息,请参阅下面的MSDN文章:
http://msdn.microsoft.com/security/productinfo/XPSP2/memoryprotection/exec_imp.aspx
驱动程序兼容性
驱动程序与DEP的兼容性问题主要是指由PAE模式引起的兼容性问题。DEP本身可能与以下驱动程序之间存在兼容性问题:执行代码生成的驱动程序或使用其他方法实时生成可执行代码的驱动程序。始终为64位Windows版本上加载的驱动程序启用DEP支持。尽管许多创建可执行代码的驱动程序在WindowsXPSP2中可能已得到修复,但是不能保证所有驱动程序都已更新
不过,因为使用这些方法的驱动程序非常少,所以DEP本身不会产生很多驱动程序兼容性问题。大多数驱动程序兼容性问题与在32位系统上运行PAE模式有关。如果启用PAE模式,有些驱动程序可能无法加载,这是因为该设备可能无法进行64位寻址,或者驱动程序可能假定PAE模式需要超过4GB的RAM。这些驱动程序认为,当它们处于PAE模式时,它们将始终接收64位地址,并认为它们(或其设备)无法解释该地址
其他驱动程序可通过直接修改系统页表项,以便在PAE模式下进行加载,但这会导致系统不稳定。这些驱动程序需要32位页表项,但在PAE模式下它们收到的却是64位页表项。驱动程序与PAE之间最大的兼容性问题与直接内存访问(DMA)传输和映射寄存器分配有关。许多支持DMA的设备(通常是32位适配器)都无法进行64位物理寻址。当设备在32位模式下运行时,它可以对所有物理地址空间进行寻址
在PAE模式下,数据可以位于大于4GB的物理地址中。在此情况下,为使具有这些限制的设备能够正常工作,WindowsXPSP2通过提供由映射寄存器指示的32位地址,为DMA事务提供双缓冲处理。设备可以执行到32位地址的DMA事务,而且内核将内存复制到为驱动程序提供的64位地址
更多精彩
赞助商链接