题目
某页式存储管理系统,内存大小为64KB,被分为16块,块号为0、1、2、3...、15.设谋进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5块,问:(1)该进程的大小是多少字节?(2)写出该进程每一页在内存的起始地址。(3)逻辑地址4146对应的物理地址是多少?
某页式存储管理系统,内存大小为64KB,被分为16块,块号为0、1、2、3...、15.设谋进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5块,问:(1)该进程的大小是多少字节?(2)写出该进程每一页在内存的起始地址。(3)逻辑地址4146对应的物理地址是多少?
题目解答
答案
(1)进程大小是16KB(2)08KB116KB228KB320KB(3)16434
解析
考查要点:本题主要考查页式存储管理中的地址转换机制,涉及内存分块、页表映射、逻辑地址到物理地址的转换等核心概念。
解题思路:
- 确定块大小:根据内存总大小和块数计算每块大小。
- 计算进程大小:根据页数和页大小得出进程总大小。
- 起始地址计算:通过块号与块大小的乘积确定每页的起始地址。
- 逻辑地址转换:将逻辑地址拆分为页号和页内地址,结合页表映射得到物理地址。
关键点:
- 块大小计算:内存总大小 ÷ 块数。
- 页号与页内地址拆分:逻辑地址 ÷ 页大小得到页号,取余得到页内地址。
(1)进程的大小
内存总大小为64KB,分为16块,故每块大小为:
$\text{块大小} = \frac{64\,\text{KB}}{16} = 4\,\text{KB}$
进程有4页,每页对应1块,因此进程总大小为:
$4\,\text{页} \times 4\,\text{KB/页} = 16\,\text{KB}$
(2)每页的起始地址
每页的起始地址为块号乘以块大小:
- 页0(块2):$2 \times 4\,\text{KB} = 8\,\text{KB}$
- 页1(块4):$4 \times 4\,\text{KB} = 16\,\text{KB}$
- 页2(块7):$7 \times 4\,\text{KB} = 28\,\text{KB}$
- 页3(块5):$5 \times 4\,\text{KB} = 20\,\text{KB}$
(3)逻辑地址4146的物理地址
- 拆分逻辑地址:
- 页号:$\left\lfloor \frac{4146}{4096} \right\rfloor = 1$
- 页内地址:$4146 \mod 4096 = 50$
- 映射到物理地址:
- 页1对应块4,起始地址为$16\,\text{KB} = 16384$。
- 物理地址:$16384 + 50 = 16434$。