美文网首页操作系统
外碎片与内碎片

外碎片与内碎片

作者: 郄郄郄 | 来源:发表于2020-03-23 21:34 被阅读0次

内部碎片
是处于操作系统分配的用于装载某一进程的内存区域内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。
外部碎片
外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。
外部碎片是处于任何两个已分配区域或页面之间的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。

内部碎片的产生:因为所有的内存分配必须起始于可被 4、8 或 16 整除(视处理器体系结构而定)的地址或者因为MMU的分页机制的限制,决定内存分配算法仅能把预定大小的内存块分配给客户。假设当某个客户请求一个 43 字节的内存块时,因为没有适合大小的内存,所以它可能会获得 44字节、48字节等稍大一点的字节,因此由所需大小四舍五入而产生的多余空间就叫内部碎片。

外部碎片的产生: 频繁的分配与回收物理页面会导致大量的、连续且小的页面块夹杂在已分配的页面中间,就会产生外部碎片。假设有一块一共有100个单位的连续空闲内存空间,范围是099。如果你从中申请一块内存,如10个单位,那么申请出来的内存块就为09区间。这时候你继续申请一块内存,比如说5个单位大,第二块得到的内存块就应该为1014区间。如果你把第一块内存块释放,然后再申请一块大于10个单位的内存块,比如说20个单位。因为刚被释放的内存块不能满足新的请求,所以只能从15开始分配出20个单位的内存块。现在整个内存空间的状态是09空闲,1014被占用,1524被占用,2599空闲。其中09就是一个内存碎片了。如果1014一直被占用,而以后申请的空间都大于10个单位,那么09就永远用不上了,变成外部碎片。

伙伴算法(buddy)用来解决外碎片
slab算法用来解决内碎片

相关文章

  • 外碎片与内碎片

    内部碎片是处于操作系统分配的用于装载某一进程的内存区域内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而...

  • 洋葱阅读法第五季第2课——碎片阅读/乐高阅读

    一、关联概念: 1、碎片阅读:在可以利用的时间(碎片化时间 )内,以自己能够理解(学习能力)的程度(碎片化的学习内...

  • 《洋葱阅读法》第二章 碎片阅读

    碎片阅读主要从以下三个方面来讲解: 1、碎片阅读的概念: 在自己碎片的时间里,以自己碎片化理解的方式学习碎片化的内...

  • 丰盛日志

    个内、个外、团内、团外: 带上记忆碎片编制的花环,伴着启新升腾的爆竹,怀抱着守候的平安,依偎在时光中曾经留下...

  • 《时光碎片》微型诗外15首

    《时光碎片》微型诗外15首 作者:仲渝 1,《时光碎片》 串起碎片串串 放入时光的漏斗 荏苒 2,《未来》 心血和...

  • 【今天你碎片化了吗?】

    区块链和街道碎片化管理 自助餐和网课碎片化吸收 团购与传道碎片化销售 小品与手游碎片化娱乐 房贷和生儿育女碎片化债...

  • 关于“内与外”的杂思 2020.8.8

    静坐冥想,天马行空,信马由缰,发散性思维,碎片化思考,连点成线,内与外的遐思…… 1,内在世界(精神世界/内心世界...

  • 《时光碎片》微型诗外六首

    《时光碎片》微型诗外六首 作者:仲渝 1、《时光碎片》 串起碎片串串 放入时光的漏斗 荏苒 2、《未来》 心血和汗...

  • 碎片与碎片化

    2009年初,结束Tampa的展会,时值2008年次贷危机后的萧条,听说底特律出现一美元的别墅,下决心在回国途中,...

  • 只剩下碎片

    只剩下碎片 不 是碎片 只剩下碎片 天空的碎片 大海的碎片 春天的碎片 鲜花的碎片 王朝的碎片 革命的碎片 ...

网友评论

    本文标题:外碎片与内碎片

    本文链接:https://www.haomeiwen.com/subject/zzmzehtx.html