操作系统的一个问题,是关于页面大小与碎片关系的问题
发布网友
发布时间:2022-10-15 20:02
我来回答
共2个回答
热心网友
时间:2023-10-11 13:05
1楼是复制党,当然很无聊。
我不敢保证我说的是正确的,按我的理解是,虽然我们按最好效果能把一页凑成2的n次方幂大小,比如512B~8KB,但是一个进程可不一定正好是2的n次方幂,所以最后的一页大多数情况下是不满的。比如说进程A占用7KB,我们按1KB或1KB以下分页,那还能保证最后一页不是碎片,但是按2KB或更高的分页,那就有碎片了。
接下来解释“页面越大,碎片就越多,页面越小,碎片就越少”,同样由上面的例子,我按256B、512B、1KB分页都没有碎片,这个叫做页面越小;按2KB的话我们有一个1KB的碎片,4KB的话有一个3KB的碎片,8KB的话直接就是一个7KB碎片,更高的话还是7KB碎片,这叫做页面越大。是不是页面大了就有碎片了呢,要是文件、进程越多,岂不是碎片就越多了?
我这个理论纯属数学方面的分析,跟计算机无关的。
热心网友
时间:2023-10-11 13:06
一个进程占用的地址空间不可能正好是单块所占地址空间的整数倍,即进程的地址空间的最后一页一般是个尾数
地址空间请求133,按每页8,编为17页,第17页占用5,这一块d的剩余空间不能被其余进程使用,进程按块占用.假设这是进程的初始化,进程地址空间请求增加时,新的页会随机装入其余块,以前的碎片依然不会被用到