內部碎片就是已經被分配出去,但是其內存空間卻不被利用。內部碎片是處于區域內部或者頁面內部的存儲塊,占有這些區域頁面的進程并不會使用這些存儲塊。而在進程占有這塊存儲塊時,系統將無法利用它,直到進程釋放它,或者進程結束時,系統才有可能會利用這個存儲塊。
內存碎片是因為在分配一個內存塊后,使之空閑,但不將空閑內存歸還給最大內存塊而產生的。
外部碎片是指還沒有被分配出去,但是由于太小了而無法分配給申請空間的新進程的內存空閑區域。
外部碎片是處于任何兩個已分配區域或頁面之間的空閑存儲塊。這些存儲塊的總和可以滿足當前申請的長度要求,但是由于它們的地址不連續或其他原因,使得系統無法滿足當前申請。
總之,在內存上,外部碎片是位于任何兩個操作系統分配的用于裝載進程的內存區域或頁面之間的空閑區域,內部碎片是位于一個操作系統分配的用于裝載進程的內存區域或頁面內部的空閑區域。