在采用分页存储管理系统中,地址结构长度为18位,其中11至17位表示页号,0 至10位表示页内位移量。若有一作业的各页依次放入2,3,7号物理块中,试问: (1) 主存容量最大可为多少K?分为多少块?每块有多大? (2) 逻辑地址1500应在几号页内?对应的物理地址是多少?
时间: 2024-01-16 13:05:28 浏览: 129
(1) 首先要确定每个物理块的大小。因为地址结构长度为18位,其中低10位表示页内偏移量,所以一个物理块大小为 $2^{10}=1024$ 字节。然后可以计算出主存最多能容纳多少个物理块:
$$\text{主存容量} = 2^{18} \text{位} = 2^{15} \text{字节} = 2^{5} \times 2^{10} \text{字节} = 32 \text{KB}$$
因此,主存最多可以容纳 $32\text{KB}/1024\text{B}=32$ 个物理块。每个物理块包含 $1024$ 字节数据。
(2) 逻辑地址1500的二进制表示为 $0000010\ 01011100$,其中 11 至 17 位表示页号,即第 $18-7=11$ 至第 $18-1=17$ 位,为 $0000111=7$。因此逻辑地址1500应在第7页内。页内偏移量为低10位,即 $01011100=92$,所以逻辑地址1500对应的物理地址为第7个物理块的偏移量为92的位置:
$$\text{物理地址} = 7 \times 1024\text{B} + 92\text{B} = 7164\text{B}$$
注意,在计算物理地址时,页号从0开始计数,因此第7个物理块的页号为6。
相关问题
在请求分页存储管理系统中,逻辑地址长度为16位,每页的大小为2kB,部分页表如下:页号 物理地址 0 4 1 10 2 6 3 2 则逻辑地址位0EC5H所对应的物理地址为( )H。
首先,将16位的逻辑地址拆分为页号和页内偏移量。其中,2kB 的页大小可以存储 $2^{11}$ 个字节,也就是说偏移量需要 11 位二进制数来表示。因此,可以将逻辑地址的前 5 位作为页号,后 11 位作为页内偏移量。
将逻辑地址 0xEC5H 转换为二进制数为:1110 1100 0101。其中,前 5 位为页号,后 11 位为页内偏移量。页号为 11101B,转换为十进制为 29,即在页表中查找页号为 29 的物理地址。根据部分页表可以得知,页号为 29 的物理地址为 4,因此该逻辑地址对应的物理地址为 $4 \times 2^{11} + 0xEC5 \text{(十六进制)} = 0x9015$。因此,答案为 9015H。
一个分页存储管理系统中,页号长度为22比特,页内偏移为12比特。物理地址空间中,每个地址有32位。页表中,每个页表项的长度为32比特的整数倍。 (1)该系统中,进程的逻辑地址空间最大是多少?进程的每个页面有多少字节?页框号的长度是多少比特?(4分) (2)采用一级页表,每个进程的页表大小为多少字节?该系统是否需要启用二级页表,为什么?(4分
好的,我明白了,下面是我的回答:
(1)进程的逻辑地址空间最大为 $2^{22}$ 个页面,即 $2^{22} \times 2^{12} = 2^{34}$ 个字节。
每个页面有 $2^{12}$ 个字节。
页框号的长度为 $32-12=20$ 比特。
(2)每个进程的页表大小为 $2^{22} \times 4 = 2^{24}$ 字节,其中 $2^{22}$ 个页表项,每个页表项长度为 4 字节(32 比特)。
该系统不需要启用二级页表,因为一级页表大小为 $2^{24}$ 字节已经足够存储所有的页表项。只有当一级页表大小无法存储所有的页表项时,才需要启用二级页表。
阅读全文