无忧资源站

 找回密码
 加入我们
查看: 1999|回复: 0

[C/C++] 数据结构之_HARDWARE_PTE_X64原型介绍

[复制链接]

56

主题

58

帖子

1058

积分

无忧资源站

Rank: 9Rank: 9Rank: 9

积分
1058

钻石用户勤劳达人超级萌主武林秘籍实例会员悬赏达人滴水穿石皇冠会员退伍军人铂金会员暗号达人打卡达人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理站点元老

QQ
发表于 2023-5-28 15:24:01 | 显示全部楼层 |阅读模式
  1. typedef struct _HARDWARE_PTE_X64 {
  2.     ULONGLONG Valid : 1;
  3.     ULONGLONG Write : 1;
  4.     ULONGLONG Owner : 1;
  5.     ULONGLONG WriteThrough : 1;
  6.     ULONGLONG CacheDisable : 1;
  7.     ULONGLONG Accessed : 1;
  8.     ULONGLONG Dirty : 1;
  9.     ULONGLONG LargePage : 1;
  10.     ULONGLONG Global : 1;
  11.     ULONGLONG CopyOnWrite : 1;
  12.     ULONGLONG Prototype : 1;
  13.     ULONGLONG reserved0 : 1;
  14.     ULONGLONG PageFrameNumber : 36;
  15.     ULONGLONG reserved1 : 4;
  16.     ULONGLONG SoftwareWsIndex : 11;
  17.     ULONGLONG NoExecute : 1;
  18. } HARDWARE_PTE_X64, *PHARDWARE_PTE_X64;

  19. 其中,ULONGLONG是一种无符号的64位整数,它被用来表示硬件页表条目的各种属性:

  20. Valid:表示该页表条目是否有效。
  21. Write:表示是否允许该页被写入。
  22. Owner:表示是否可以被内核模式和用户模式访问。
  23. WriteThrough:表示是否使用写回缓存策略。
  24. CacheDisable:表示是否禁用缓存。
  25. Accessed:表示该页表是否已被访问过。
  26. Dirty:表示该页表是否已被修改过。
  27. LargePage:表示该页表是否使用大页。
  28. Global:表示该页表是否全局。
  29. CopyOnWrite:表示该页表使用写时复制机制。
  30. Prototype:表示该页表是否为原型页表条目。
  31. reserved0:保留,未使用。
  32. PageFrameNumber:表示该页表的页框号,即物理页框在系统内存中的位置。
  33. reserved1:保留,未使用。
  34. SoftwareWsIndex:表示该页表所属的工作集索引。
  35. NoExecute:表示硬件是否开启不可执行位(NX)。
  36. 在操作系统内核中,PHardwarePteX64结构体通常用于描述进程的虚拟地址空间中的页表条目。通过给定页表条目的虚拟地址,可以很方便地计算出该页表条目在页表中的位置,并通过读取其对应的硬件页表条目,得到页表的各种属性信息。这些信息可以帮助操作系统内核实现虚拟地址到物理地址的映射,从而完成进程的内存管理。


复制代码


无忧资源专区所有资源均由管理员核实测试后发布,均可放心下载!

QQ|SiteMap|Map|小黑屋|无忧资源站

GMT+8, 2024-5-19 11:37 , Processed in 0.058300 second(s), 21 queries .

无忧资源站

Copyright © 2022-2032 www.wyzyz.net

快速回复 返回顶部 返回列表