1 2 3 4

内存碎片之内部碎片与外部碎片

内存碎片分为:内部碎片和外部碎片
【内部碎片】
内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;
内部碎片是处于(操作系统分配的用于装载某一进程的内存)区域内部或页面内部的存储块。
占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。
直到进程释放它,或进程结束时,系统才有可能利用这个存储块。
单道连续分配只有内部碎片。多道固定连续分配既有内部碎片,又有外部碎片。
【外部碎片】
外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存
空闲区域。外部碎片是处于任何两个已分配区域或页面之间的空闲存储块。这些存储块的总和可以满足当前申请
的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。
产生外部碎片的一种情况:
举个例子,在内存上,分配三个操作系统分配的用于装载进程的内存区域A、B和C。假设,三个内存区域都是相连
的。故而三个内存区域不会产生外部碎片。现在假设B对应的进程执行完毕了操作系统随即收回了B,这个时候A和
C中间就有一块空闲区域了

posted @ 2020-05-17 12:26  boldness2012  阅读(1767)  评论(0编辑  收藏  举报