【问题标题】:If I Increase page size then internal fragmentation will increase. How?如果我增加页面大小,那么内部碎片将会增加。如何?
【发布时间】:2014-02-15 12:22:00
【问题描述】:

我最近正在学习操作系统。在分页中,如果我们增加 页面大小然后这个内部碎片将如何增加。

【问题讨论】:

    标签: operating-system paging


    【解决方案1】:

    引用Wikipedia:

    很少有进程需要使用确切数量的页面。结果,最后一页可能只是部分填满,浪费了一些内存。较大的页面大小会以这种方式增加浪费内存的可能性,因为更多可能未使用的内存部分被加载到主内存中。较小的页面大小可确保更接近分配中所需的实际内存量。

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-19
        • 2016-04-23
        • 2011-05-23
        • 2012-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多