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