我有一个问题。我“多次搜索”它,但无法找到解决方案或任何方法来解决它。
在使用简单分段的系统上,分段表如下(所有值均为十进制):
| 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
。
答案 0 :(得分:0)
以下是答案;我认为你会仔细看看它们会理解:
a)
| 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
。