段号 | 段长 | 主存起始地址 |
0 | 660 | 210 |
1 | 140 | 3300 |
2 | 100 | 90 |
3 | 580 | 1237 |
4 | 960 | 1959 |
(1)计算该作业访问[0,432],[1,10],[2,500],[3,400](方括号中第一个元素为段号,第二个元素为段内地址)的绝对地址。
(2)总结段式存储管理的地址转换过程。
解:
(1)逻辑地址[0,432]对应的绝对地址(物理地址)为210+432=642
逻辑地址[1,10]对应的绝对地址为3300+10=3310
访问逻辑地址[2,500]时,由于段内偏移地址超过段长度,因此产生地址越界中断
逻辑地址[3,400]对应的绝对地址为1237+400=1637
(2)段式存储管理的地址转换过程如下:
将逻辑地址中的段号与段表寄存器中该作业的段表长度比较,若超出,则产生地址越界中断;若不超出,则进行如下工作:
由段表寄存器中的段表地址找到该作业的段表,由段号找到该段在段表中的表目;
如果逻辑地址中的段内地址不超过该表目中所示长度,则把该表目中的起始地址与段内地址相加,所得的值就是要访问的主存绝对地址;否则,如果逻辑地址中的段内地址超过该表目中所示长度,则产生地址越界中断,暂停作业的运行。
解:
由题目所给条件可知,每页用12位编码,该系统页的大小为212=4096B(4KB);每段中页用4位编码,最大有16页;段号用8位编码,最多有256段。
逻辑地址135468的页内偏移W=135468mod4096=300
135468div4096=33(此处div表示正数除法),页号P=33mod16=1
段号S=33div16=2
即段号为2,页号为1,页内偏移为300。
查2段页表,1号页对应的内存块号为4,
故对应的物理地址=4×4096+300=16684
解:
主存容量为4MB,4MB=22*210*210=222,因此可得物理地址为22位;
虚存容量为1GB,1GB=210*210*210=230,因此可得虚拟地址为30位;
页表长度,即页面数=虚存容量/页面大小=1GB/4KB=256K。