operating-system – Windows内核模式驱动程序如何访问分页内存
发布时间:2020-12-14 05:52:30 所属栏目:Windows 来源:网络整理
导读:1)用户模式进程具有其自己的“地址上下文”,其将用户模式虚拟地址映射到唯一的物理页面帧集合. 也就是说,当 Windows XP调度程序切换线程时,任何特定虚拟地址的含义都会随时改变. “切换线程”的部分工作是更改页表,以便它们引用传入线程的进程上下文. _ 2)Wi
1)用户模式进程具有其自己的“地址上下文”,其将用户模式虚拟地址映射到唯一的物理页面帧集合.
也就是说,当 Windows XP调度程序切换线程时,任何特定虚拟地址的含义都会随时改变. “切换线程”的部分工作是更改页表,以便它们引用传入线程的进程上下文. _ 2)Windows内核模式驱动程序在“任意线程上下文”中执行. 驱动程序可以创建一个系统线程并在其上下文中工作……但我正在讨论当一个人没有创建系统线程时的情况. 驱动程序可以使用“ExAllocatePoolWithTag”来分配分页(内存在易失性存储中). _ 3)那么驱动程序如何在没有任何上下文的情况下访问分页内存? 如第1点所示,通过“特定于上下文”的页表访问分页内存. 当驱动程序在其他一些线程上下文运行时…即.页表条目指向线程相关的phy. mem,那么驱动程序如何才能访问他的分页内存? PS:我在内核编程方面的努力.别生气. 解决方法
使用的概念是“用户/内核地址空间拆分”.每个进程地址空间被分成一个较低的部分(通常为2 GB),该进程在用户模式下可供进程访问,并且每个进程都有所不同,以及只能在内核模式下访问的上部(剩余地址空间),并且每个过程都是一样的.
当驱动程序分配分页内存时,它会在地址空间分割的内核端分配,因此无论当时加载哪个进程页表,它都可以被内核代码看到(因为这部分地址空间是映射到的)每个过程都是一样的). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – Windows窗体应用程序的颜色选择器
- windows – 如何从内置PC扬声器启动系统“嘟嘟”,使用批处理
- WMI Win32_BaseBoard SerialNumber
- iis-7.5 – IIS 7.5:如何使用Windows身份验证配置自定义身
- windows-cluster – 如何使群集感知的Windows服务具有高可用
- 将sterr重定向到文件,但保留屏幕上的所有输出(as_is). [Win
- windows – KMS – 哪些客户获得许可?
- windows-server-2008 – 小型企业中的Active Directory灾难
- windows-runtime – 是否可以创建一个可移植的UWP应用程序(
- windows – 什么是VSS以及它用于什么?
推荐文章
站长推荐
热点阅读