首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

操作系统为进程分配空间时,页表的大小(从中映射的页的数量)是固定的么?该如何处理

2013-01-26 
操作系统为进程分配空间时,页表的大小(从中映射的页的数量)是固定的么?在32位的机子上,每个进程都有4GB的

操作系统为进程分配空间时,页表的大小(从中映射的页的数量)是固定的么?
在32位的机子上,每个进程都有4GB的虚拟地址空间。
而在使用了分页技术的操作系统中,逻辑地址和物理地址都是靠页表来转换的。
那么我想问的就是,操作系统在为一个进程分配内存空间时,进程的页表大小是都是固定的,能够让所有的逻辑地址在上面得到映射呢?还是说是操作系统根据进程或者主存本身的情况决定这个页表的大小,将进程的虚拟地址空间压缩在一定范围?还是说页表是可以动态增长的?
[解决办法]
页表的个数可以变
[解决办法]
页表大小不变,数量变
[解决办法]
页表的大小不变,变的是数量。
[解决办法]
页表的大小一般来说是动态的,取决于进程驻留集的大小及页面置换策略。尽管从理论上说,固定大小的驻留集也是设计原则之一,但对于绝大多数操作系统来说,这并不适用,因此多数操作系统的页表大小是动态的。

而对于处于物理地址空间中的页框而言,虽然并无标准规定其大小,但绝大多数CPU都使用固定大小的页框,一般是4k,在局部性原理中,经验分析表明4k这个大小是最合理的。

热点排行