保护模式下的物理地址的确定性问题

 

保护模式下的物理地址的确定性问题

我从未度过没有编程的一天. --- John Carmark

 
前些时候在阅读一个C程序对应的汇编代码时遇到了一个问题,当时就是想找到一个变量对应的物理地址.
 
实际上,在用户级别上,是确定不了的:
 
这是因为此时的基地址的受到保护:
基地址不再有段寄存器直接获得,而是存储在一个被称为段描述表项的结构当中.
然而,段描述表项的结构的首地址这个时候用户是无法获取的.
因为这个结构的首地址地址是由GDTR寄存器或者LDTR寄存器与段寄存器共同决定.
而对这GDTR寄存器或者LDTR寄存器两个寄存器的访问需要特权指令.用户级别下是做不到的.
换句话说,只有在系统内核的状态下才能做到.
 
既然用户级别下确定不了基地址,当然也就谈不上确定物理地址了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值