首页
社区
课程
招聘
未解决 [讨论]64位操作系统 虚拟地址 物理地址 关系
发表于: 2018-11-16 04:01 3084

未解决 [讨论]64位操作系统 虚拟地址 物理地址 关系

2018-11-16 04:01
3084

请教大佬 Windows操作系统的进程 虚拟地址和物理地址的概念
1:他们是怎么样创建的 虚拟地址 或者 说物理地址
2:操作物理地址 和 虚拟地址的差别 他们有什么不一样么
3:物理地址如果更改 会 影响到我进程的虚拟地址么
4:64位系统 如何定位到我当前进程的 物理地址位

 

本人才疏学浅 看了一下资料 但是还是有点不懂 可能资料不全面吧
求大佬推荐一本书 关于Windows系统的知识能让我来了解这个系统的体系


[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 328
活跃值: (39)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
emmmm,我简单说一下,说的不对还请dalao斧正。
1,创建虚拟地址或者物理地址,我不太清楚你这样的表述是什么意思,我就按照我的理解来表述。比如说一个基于X64CPU架构的64位的操作系统,物理地址是和硬件息息相关,和你处理机的地址总线宽度有关;虚拟地址,或者应该叫它线性地址,它也是CPU维护的,CPU的分页机制导致了线性地址的存在,CPU透明的将线性地址访存转换为物理地址访存。
2,在目前的windows操作系统中,我不太清楚可不可以直接用物理地址访问内存,如果清除了CR0.PG,理论上对于当前task是可以直接访问物理内存的,但是需要代码在ring0;操作虚拟地址(线性地址)就是多了一个地址转换,这个地址转换是由CPU透明的操作的。
3,物理地址更改。。。。。我还是不太理解你这个是什么意思。如果你通过物理地址更改了的内存是被映射到你当前的进程空间内的话,是会影响的。
4,emmmm,通过地址转换可以定位,CR3是分页分级结构的基地址,然后做转换就可以了。

关于书籍,我不知道怎么推荐,你尽量了解一下操作系统原理,然后看看计算机系统结构,最后跟着dalao的博客以及Intel开发人员手册我感觉应该差不多,我个人认为开发手册卷三比较重要,
2018-11-16 09:12
1
雪    币: 152
活跃值: (220)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ninebianbian emmmm,我简单说一下,说的不对还请dalao斧正。 1,创建虚拟地址或者物理地址,我不太清楚你这样的表述是什么意思,我就按照我的理解来表述。比如说一个基于X64CPU架构的64位的操作系统,物理 ...
OK 思密达 谢谢 我已经了解到了 这个之间的联系 以及转换
2018-11-16 18:55
0
游客
登录 | 注册 方可回帖
返回
//