【问题标题】:What is a Relocation Register什么是搬迁登记
【发布时间】:2016-05-14 19:08:45
【问题描述】:

我正在阅读Operating system 9th edition 这本书,在第 8 章中提到了操作系统中称为 地址绑定 的主题。在阅读该主题时,我通过了主题重定位寄存器,但我仍然对以下问题感到困惑,因为这本书没有包含一个很好的描述来澄清这个概念。我的问题是

  • 什么是重定位寄存器
  • 在从逻辑地址到物理地址的地址映射中如何使用?

【问题讨论】:

  • 你在读什么书?我记得 CDC Cyber​​ 系列有一个搬迁登记册,但那是 30 多年前的事了。
  • 我投票结束这个问题作为题外话,因为它不是(还)一个编程问题。 This page 暗示它类似于选择器。
  • Google for what is a relocation register 给出了很好的答案。
  • 听起来你是一本可怕的教科书的受害者。有人再使用重定位寄存器了吗?

标签: operating-system


【解决方案1】:

CPU 生成的地址是主存不知道的逻辑地址。物理内存或主内存只知道物理地址。

因此CPU生成的地址(逻辑地址)与一个限制寄存器进行比较,如果值较低,则将其添加到重定位寄存器中的值以产生物理地址。

简单来说,

1) CPU 生成逻辑地址(比如 345)

2) 345 与限制寄存器中的值进行比较。

3) If 345 > Limit Register then TRAP

4) 如果 345

因此,如果 CPU 可以生成 0 到 345 范围内的逻辑地址,那么对应的物理地址范围可以是 R+0 到 R+345,其中 R 是重定位寄存器中的值。

因此,用户看到的地址和 RAM 看到的访问数据的地址是不同的。

【讨论】:

    【解决方案2】:

    重定位是存放最小物理地址的基址寄存器,限制寄存器是逻辑地址的范围或范围的大小。

    【讨论】:

    • 这个答案比上面的答案好多少?
    【解决方案3】:

    重定位和限制寄存器用于保护用户进程相互之间。

    • 重定位寄存器包含物理地址最小部分的值。
    • 限制寄存器包含逻辑地址范围,每个逻辑地址必须小于限制寄存器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 2015-05-07
      • 2012-05-16
      • 2013-03-18
      • 1970-01-01
      • 2011-10-28
      • 2012-04-23
      相关资源
      最近更新 更多