2.某请求页式存储管理系统,允许用户空间为16个页面(每页1KB),主存为16KB,如有一个用户程序有7页长,且某时刻该用户进程的页表如下所示。回答: (1) 该系统的物理地址结构由多少个二进制位构成?其中,页内地址占多少bit?页号占多少bit? (2) 如果程序执行时遇到以下两个虚拟地址:(03A2)H、(06A2)H,试计算它们对应的物理地址。
时间: 2024-04-20 14:25:06 浏览: 146
(1) 该系统的物理地址结构由16KB组成,每页1KB,共有16个页面。因此,物理地址总共需要14个二进制位来表示(2的14次方等于16KB)。页内地址占据10个bit(2的10次方等于1KB),页号占据4个bit。
(2) 对于虚拟地址(03A2)H:
首先,将虚拟地址拆分为页号和页内地址。
页号:(03A2)H的高4位为页号,即0000B。
页内地址:(03A2)H的低10位为页内地址,即0000001010B。
根据页表可以找到对应的物理页号为5(从0开始计数)。
因此,物理地址为5号页面的偏移量0000001010B(页内地址)。
将物理页号和偏移量组合起来得到物理地址:
物理地址 = (物理页号 × 页大小) + 页内地址
= (5 × 1KB) + 0000001010B
= (5 × 1024) + 0000001010B
= 5120 + 10
= 5130
所以,虚拟地址(03A2)H对应的物理地址为5130。
对于虚拟地址(06A2)H:
同样地,将虚拟地址拆分为页号和页内地址。
页号:(06A2)H的高4位为页号,即0110B。
页内地址:(06A2)H的低10位为页内地址,即0000001010B。
根据页表可以找到对应的物理页号为10(从0开始计数)。
因此,物理地址为10号页面的偏移量0000001010B(页内地址)。
将物理页号和偏移量组合起来得到物理地址:
物理地址 = (物理页号 × 页大小) + 页内地址
= (10 × 1KB) + 0000001010B
= (10 × 1024) + 0000001010B
= 10240 + 10
= 10250
所以,虚拟地址(06A2)H对应的物理地址为10250。
希望以上解答能够帮助到你!如有任何疑问,请随时提问。
阅读全文