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