第2章虚拟内存管理的硬件机制.pptVIP

  • 3
  • 0
  • 约1.08万字
  • 约 43页
  • 2017-05-20 发布于四川
  • 举报
可以看出,选择符有三个域。其中,第15~13位是索引域,第2位TI(Table Indicator)为选择域,决定从全局描述符表(TI=0)还是从局部描述符表(TI=1)中选择相应的段描述符。这里我们重点关注的是RPL域,RPL表示请求者的特权级(Requestor Privilege Level)。 程序中的虚拟地址可以表示为“选择符:偏移量”这样的形式,通过以下步骤可以把一个虚拟地址转换为线性地址: (1) 在段寄存器中装入段选择符,同时把32位地址偏移量装入某个寄存器(比如ESI、EDI等)中。 (2) 根据选择符中的索引值、TI及RPL值,再根据相应描述符表中的段地址和段界限,进行一系列合法性检查(如特权级检查、界限检查),如果该段无问题,就取出相应的描述符放入段描述符高速缓冲寄存器3中。 (3)将描述符中的32位段基地址和放在ESI、EDI等中的32位有效地址相加,就形成了32位线性地址。 注意,在上面的地址转换过程中,从两个方面对段进行了保护: (1)???? 在一个段内,如果偏移量大于段界限,虚拟地址将没有意义,系统将产生异常。 (2)???? 如果要对一个段进行访问,系统会根据段的保护属性检查访问者是否具有访问权限,如果没有,则产生异常。例如,如果要在只读段中进行写入,系统将根据该段的属性检测到这是一种违规操作,则产生异常。 在IA32上任意给出的地址都是一个虚

文档评论(0)

1亿VIP精品文档

相关文档