段表计算



我有一个问题。我多次"谷歌"它,但找不到解决方案或任何解决方法。

在使用简单分段的系统上,分段表如下所示(所有值均为十进制):

| Segment | Base Register Value | Limit Register Value |
|---------|---------------------|----------------------|
| 0       | 3000                | 1024                 |
| 1       | 8192                | 1208                 |
| 2       | 1000                | 1200                 |
| 3       | 5000                | 2048                 |

a) 绘制显示所有段的内存分配图表。

b) 计算以下段对应的物理地址+偏移逻辑地址(如果地址产生故障,则指示):0+12001+5003+1024

c) 计算以下物理地址对应的逻辑段+偏移地址(如果地址产生故障,则指示):9000501200

以下是答案;我想你仔细看看它们就会明白:

一)

| Main Memory |              |
|-------------|--------------|
| 0           |              |
|             | Segment 2    |
| 1000        |              |
|             | unallocated  |
| 2200        |              |
|             | unallocated  |
| 3000        |              |
|             | Segment 0    |
| 4024        |              |
|             | unallocated  |
| 5000        |              |
|             | Segment 3    |
| 7048        |              |
|             | unallocated  |
| 8192        |              |
|             | Segment 1    |
| 9208        |              |
| ...         | unallocated  |

b) 0+1200 --> 42001+500 --> 86923+1024 --> 6024

c) 9000 --> 1+80850 --> fault1200 --> 2+200

相关内容

  • 没有找到相关文章

最新更新