扩展的动态内存机制
任务综述
本任务扩展了自己私有的内存管理机制。首先使用预先规划的思想,使用预先分配的内存池和内存分区,再通过使用消息队列作为内...
- 资源大小:30.31 kB
- 上传时间:2021-06-30
- 下载次数:0次
- 浏览次数:1次
- 资源积分:1积分
-
标 签:
操作系统
c++
资 源 简 介
扩展的动态内存机制
任务综述
本任务扩展了自己私有的内存管理机制。首先使用预先规划的思想,使用预先分配的内存池和内存分区,再通过使用消息队列作为内存池的管理机制处理内存块分配与释放的过程,而消息队列中保存的是每个预先申请内存块的地址。当用户需要分配一个内存块时,使用msgQReceive() 函数从消息队列中获取一个相应大小的内存块地址;当用户需要释放一个内存块时,则使用msgQSend()函数将内存块首地址发送回消息队列中。通过这种方法,减少了内存反复申请与释放产生外部碎片的可能,并能够有效利用预先分配的思想减少内部碎片。同时也通过消息队列的特性实现了方便的内存块申请与释放的管理操作。
同时,本系统作为扩展的动态内存管理机制,引入了定制的内存分配与释放功能,使用了互斥机制保证操作安全性和一系列告警机制。在保证内存分配与释放安全有序的基础上,还增加了管理监视机制。
其系统具体实现参照系统实现部分。-none
文 件 列 表
Memory_Management
SIMNTgnu
Makefile
Memory_management.cpp
Memory_Management.wpj
Memory_Management.wsp
prjObjs.lst