May*_*ari 4 paging operating-system
我不知道,我是否应该在 stackoverflow 上问这个问题?。但是这个问题对我来说是相当困难的。
我最近在学习操作系统,我只是想知道,在分页中,如果我们增加页面大小,那么内部碎片会如何增加。
提前致谢。
引用维基百科:
进程很少需要使用确切数量的页面。结果,最后一页可能只是部分已满,浪费了一些内存。较大的页面大小会增加这种方式浪费内存的可能性,因为更多可能未使用的内存部分被加载到主内存中。较小的页面大小确保更接近分配中所需的实际内存量。
例如,假设页面大小为 1024KB。如果一个进程分配了 1025KB,则必须使用两个页面,从而导致 1023KB 的未使用空间(其中一个页面完全消耗了 1024KB,另一个仅消耗了 1KB)。
因此,假设您有一个总内存占用为 (9*1024KB + 100KB)(文本、数据、堆栈、堆)的进程,并且您使用 1024KB 作为页面大小,那么整个进程将出现 10 个页面错误它的执行。内部碎片约为 924KB。
您现在使用页面 102400KB(以前大小的 100 倍)而不是 1024KB,现在在整个进程生命周期中只会有 1 个页面错误,但内部碎片确实很大。这就是页面大小导致内部碎片的原因。尽管您为所有这些页面错误节省了时间,但您将更多的时间用于将这个非常大的页面从交换空间交换到主内存,因为会有其他进程争用主内存上的空间。
归档时间: |
|
查看次数: |
8768 次 |
最近记录: |