"""
若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将作业中的逻辑地址X转化为相应的物理地址(如果地址不在内存中,回答None)。
X=2761, 3714, 3188, 4999
页号 块号
0 1
1 8
2 6
3 3
答案:
6857, 3714, 3188, None
摆烂!!!
"""
li = (2,6,3,3)
data = (4752, 3097, 1306, 2968)
size = 1024
ans = []
for i in data:
p = int(i / size)
w = i % 1024
if (p > len(data) - 1):
ans.append('none')
else:
a = li[p] * size + w
ans.append(a)
print(ans)
"""
某段式存储管理系统中,有一作业的段表(SMT)如下表所示,求逻辑地址X
X=[(0, 65), (1, 55), (2, 90), (3, 20)]
对应的主存地址(按十进制)。(其中方括号中的第一个元素为段号,第二个元素为段内地址)
段号 主存起始地址 段长(容量) 状态
0 100 400 1
1 350 200 1
2 500 100 1
3 900 350 1
参考答案:
165, 405, 590, 920
摆烂!!!!!
"""
x = ((0, 65), (1, 55), (2, 90), (3, 20))
li = (
(0, 100, 400, 1),
(1, 700, 550, 1),
(2, 1050, 300, 1),
(3, 1300, 200, 1),
)
ans = []
for i in range(len(x)):
if x[i][1] > li[i][2]:
ans.append('none')
else:
a = li[i][1] + x[i][1]
ans.append(a)
print(ans)