我有一个问题。我多次"谷歌"它,但找不到解决方案或任何解决方法。
在使用简单分段的系统上,分段表如下所示(所有值均为十进制):
| Segment | Base Register Value | Limit Register Value | |---------|---------------------|----------------------| | 0 | 3000 | 1024 | | 1 | 8192 | 1208 | | 2 | 1000 | 1200 | | 3 | 5000 | 2048 |
a) 绘制显示所有段的内存分配图表。
b) 计算以下段对应的物理地址+偏移逻辑地址(如果地址产生故障,则指示):
0+1200
、1+500
、3+1024
。c) 计算以下物理地址对应的逻辑段+偏移地址(如果地址产生故障,则指示):
9000
、50
、1200
。
以下是答案;我想你仔细看看它们就会明白:
一)
| 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 --> 4200
、1+500 --> 8692
、3+1024 --> 6024
。
c) 9000 --> 1+808
、50 --> fault
、1200 --> 2+200
。