在段存储管理中,给定段表如下: 段号 段首址 段长 0 219 600 1 2300 14 2 90 100 3 1327 580 4 1952 96 给定地址为段号和位移: [ 0 , 430] 、[ 3 , 400 ]、[ 1 , 1 ]、 [ 2 , 500 ]、 [ 4 , 42]所对应的物理地址分别是什么?其中方括号中的第一个元素为段号,第二个元素为段内地址。 将计算结果填入下表,若访问非法,则填写“非法”。 逻辑地址 物理地址 [ 0 , 430] 655(十进制) [ 3 , 400 ] 非法 [ 1 , 1 ] 1090(十进制) [ 2 , 500 ] [ 4 , 42]
时间: 2023-08-18 18:33:02 浏览: 226
根据段表中给出的段首址和段长可以得到每个段的结束地址,然后根据逻辑地址的段号和段内地址可以得到逻辑地址在哪个段中,再计算出逻辑地址在该段中的偏移量,最后加上段首址就得到了物理地址。具体计算过程如下:
```
段号 段首址 段长 段结束地址
0 219 600 819
1 2300 14 2313
2 90 100 190
3 1327 580 1907
4 1952 96 2047
```
- 逻辑地址 [0, 430] 对应的物理地址为 655(十进制)
该地址位于段0,偏移量为430,因为 219 + 430 = 649 < 819,所以逻辑地址是合法的。物理地址为 219 + 430 = 655。
- 逻辑地址 [3, 400] 对应的物理地址为非法
该地址位于段3,偏移量为400,因为 1327 + 400 = 1727 < 1907,但是 1727 > 1907 - 580 = 1327,所以偏移量超出了段3的范围,地址非法。
- 逻辑地址 [1, 1] 对应的物理地址为 1090(十进制)
该地址位于段1,偏移量为1,因为 2300 + 1 = 2301 < 2313,所以逻辑地址是合法的。物理地址为 2300 + 1 = 1090。
- 逻辑地址 [2, 500] 对应的物理地址为 [4, 42]
该地址位于段2,偏移量为500,因为 90 + 500 = 590 < 190,所以逻辑地址是合法的。物理地址为 90 + 500 = 590。
- 逻辑地址 [4, 42] 对应的物理地址为 1994(十进制)
该地址位于段4,偏移量为42,因为 1952 + 42 = 1994 < 2047,所以逻辑地址是合法的。物理地址为 1952 + 42 = 1994。
阅读全文