《操作系统导论》第18章习题
参数详细信息
问题1:
答:页表长度或者说页表项等于物理地址空间除以页面大小,页表项随着物理地址空间增大而增大,随着页面大小增大而减小。为什么不使用很大的页?页是操作系统分配给进程的最小单位,一般来说不同进程使用的页不同,若进程所需空间较少,分配较大的页面会造成空间浪费。
问题2:
运行
python paging-linear-translate.py -P 1k -a 16k -p 32k -v -u 50
计算虚拟地址对应的物理地址,这里仅举例计算 VA0x00003385,其余直接给出答案。
此时共16个页,每个页1kB大小,虚拟地址共14位,高4位表示虚拟页面号(VPN),剩下的表示页内偏移量(offset)。 将VA0x00003385用二进制表示为11001110000101 ,高4位1100 转化为10进制找到页表下标为12的项0x8000000f,最高位为1,为有效地址。剩余位为物理帧(PFN)。保持偏移量不变,用PFN替换VPN,得到物理地址0x3f85(decimal 16261) ,计算完毕。所有答案如下:
问题3:
答:第一种情况页太小,第三种情况页表太大,均不合理。
问题4:
答:当地址空间大于等于物理内存时,程序无法运行。