內存碎片之內部碎片與外部碎片


內存碎片分為:內部碎片和外部碎片
【內部碎片】
內部碎片就是已經被分配出去(能明確指出屬於哪個進程)卻不能被利用的內存空間;
內部碎片是處於(操作系統分配的用於裝載某一進程的內存)區域內部或頁面內部的存儲塊。
占有這些區域或頁面的進程並不使用這個存儲塊。而在進程占有這塊存儲塊時,系統無法利用它。
直到進程釋放它,或進程結束時,系統才有可能利用這個存儲塊。
單道連續分配只有內部碎片。多道固定連續分配既有內部碎片,又有外部碎片。
【外部碎片】
外部碎片指的是還沒有被分配出去(不屬於任何進程),但由於太小了無法分配給申請內存空間的新進程的內存
空閑區域。外部碎片是處於任何兩個已分配區域或頁面之間的空閑存儲塊。這些存儲塊的總和可以滿足當前申請
的長度要求,但是由於它們的地址不連續或其他原因,使得系統無法滿足當前申請。
產生外部碎片的一種情況:
舉個例子,在內存上,分配三個操作系統分配的用於裝載進程的內存區域A、B和C。假設,三個內存區域都是相連
的。故而三個內存區域不會產生外部碎片。現在假設B對應的進程執行完畢了操作系統隨即收回了B,這個時候A和
C中間就有一塊空閑區域了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM