擴展的動態(tài)內(nèi)存機制
任務(wù)綜述
本任務(wù)擴展了自己私有的內(nèi)存管理機制。首先使用預(yù)先規(guī)劃的思想,使用預(yù)先分配的內(nèi)存池和內(nèi)存分區(qū),再通過使用消息隊列作為內(nèi)存池的管理機制處理內(nèi)存塊分配與釋放的過程,而消息隊列中保存的是每個預(yù)先申請內(nèi)存塊的地址。當用戶需要分配一個內(nèi)存塊時,使用msgQReceive() 函數(shù)從消息隊列中獲取一個相應(yīng)大小的內(nèi)存塊地址;當用戶需要釋放一個內(nèi)存塊時,則使用msgQSend()函數(shù)將內(nèi)存塊首地址發(fā)送回消息隊列中。通過這種方法,減少了內(nèi)存反復申請與釋放產(chǎn)生外部碎片的可能,并能夠有效利用預(yù)先分配的思想減少內(nèi)部碎片。同時也通過消息隊列的特性實現(xiàn)了方便的內(nèi)存塊申請與釋放的管理操作。
同時,本系統(tǒng)作為擴展的動態(tài)內(nèi)存管理機制,引入了定制的內(nèi)存分配與釋放功能,使用了互斥機制保證操作安全性和一系列告警機制。在保證內(nèi)存分配與釋放安全有序的基礎(chǔ)上,還增加了管理監(jiān)視機制。
其系統(tǒng)具體實現(xiàn)參照系統(tǒng)實現(xiàn)部分。
標簽:
擴展
機制
動態(tài)內(nèi)存
內(nèi)存管理
上傳時間:
2017-06-11
上傳用戶:569342831