Operating system 如果我增加页面大小,那么内部碎片将增加。怎么用?

Operating system 如果我增加页面大小,那么内部碎片将增加。怎么用?,operating-system,paging,Operating System,Paging,我不知道,我是否应该问这个关于stackoverflow的问题?。但是这个问题对我来说很难 我最近在学习操作系统,我只想知道,在分页中如果我们增加 页面大小,然后显示内部碎片将如何增加 提前感谢。引用: 流程很少需要使用精确的页数。因此,最后一页可能只会部分满,从而浪费一些内存。更大的页面大小会增加内存浪费的可能性,因为更多可能未使用的内存部分会加载到主内存中。较小的页面大小可确保更接近分配中所需的实际内存量 例如,假设页面大小为1024KB。如果一个进程分配了1025KB,则必须使用两个页面,

我不知道,我是否应该问这个关于stackoverflow的问题?。但是这个问题对我来说很难

我最近在学习操作系统,我只想知道,在分页中如果我们增加 页面大小,然后显示内部碎片将如何增加

提前感谢。

引用:

流程很少需要使用精确的页数。因此,最后一页可能只会部分满,从而浪费一些内存。更大的页面大小会增加内存浪费的可能性,因为更多可能未使用的内存部分会加载到主内存中。较小的页面大小可确保更接近分配中所需的实际内存量

例如,假设页面大小为1024KB。如果一个进程分配了1025KB,则必须使用两个页面,从而产生1023KB的未使用空间(其中一个页面完全占用1024KB,另一个页面仅占用1KB)

因此,假设您有一个总内存占用为(9*1024KB+100KB)(文本、数据、堆栈、堆)的进程,并且您使用1024KB作为页面大小,那么在整个执行过程中,该进程将出现10个页面错误。内部碎片约924KB


您现在使用的页面大小不是1024KB(是以前的100倍),而是102400KB,在整个流程生命周期中,只有1个页面错误,但内部碎片非常大。这就是页面大小导致内部碎片的原因。虽然您为所有这些页面错误节省了时间,但您在将这个非常大的页面从交换空间交换到主存上花费了更多的时间,因为会有其他进程在主内存上争夺空间。

我们不能将页面作为分数,我们必须始终获得完整的页面,这就是为什么如果页面数量增加,内部碎片也会增加