假设小明的系统内存大小为16KB,拟采用页式管理。现有一进程装入后占用了6个页面。请你帮助小明完成以下设计(注意:所有计算请写出计算过程,只写结果的不给分)。 (1)请设计每页的大小。并根据设计计算出页框数(要求大于6),并给出逻辑地址格式。 (2)请给出该进程的页表。 (3)根据你设计的页表,请计算逻辑地址1300对应的物理地址。
时间: 2023-07-16 12:12:00 浏览: 70
(1)
如果每页大小为 $2^k$,则一个页面可以表示 $2^k$ 个字节。因为进程占用了6个页面,所以进程总共占用的空间为 $6 \times 2^k$ 个字节,应该小于小明系统的内存大小16KB。因此,我们可以试着让每页大小为4KB,即 $2^{12}$ 个字节。
那么页框数为 $\frac{16KB}{4KB}=4$,也就是说,小明的系统有4个物理页框可供使用。
逻辑地址格式:前10位表示页号,后2位表示页内偏移。
(2)
进程占用了6个页面,则页表需要6项。我们假设该进程从逻辑页号0开始,其页表如下:
| 逻辑页号 | 物理页框号 |
|----------|------------|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
(3)
假设进程访问逻辑地址1300,其二进制表示为 0000 0101 0001 0100。因为每页大小为4KB,所以前10位表示页号,即 0000 0101 00,转换为十进制为5。
查询页表可知,逻辑页号5对应的物理页框号为5。因此,物理地址为:
| 物理页框号 | 页内偏移 |
|------------|----------|
| 5 | 0001 0100|
转换为十进制为 5*4096+20=20480+20=20500。因此,逻辑地址1300对应的物理地址为20500。
阅读全文