第五章动态内存管理PPT讲稿.ppt
《第五章动态内存管理PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第五章动态内存管理PPT讲稿.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章动态内存管理第1页,共30页,编辑于2022年,星期三第五章 动态内存管理5.1 内存控制块l5.1.1 可动态分配内存的划分l5.1.2 内存控制块OS_MEM的结构l5.1.3 空内存控制块链表5.2 动态内存的管理l5.2.1 创建动态内存分区l5.2.2 请求获得一个内存块l5.2.3 释放一个内存块l5.2.4 查询一个内存分区的状态第2页,共30页,编辑于2022年,星期三5.1 内存控制块uC/OS-II对内存斤西瓜两级管理,即把一个连续的内存空间分为若干个分区,每个分区又分为若干个大小相等的内存块。操作系统以分区为单位来管理动态内存,而任务以内存块为单位来获得和释放动态内
2、存。内存分区及内存块的使用情况则由内存控制块来记录第3页,共30页,编辑于2022年,星期三5.1.1 可动态分配内存的划分1.内存块:uC/OS-II以内存块为单位向应用程序提供动态内存。内存块的大小可由用户定制2.内存分区:大小相等的多个内存块可以组成一个内存分区。内存分区是系统对内存进行管理的基本单位3.内存分区与内存块的定义:在内存中定义一个内存分区及其内存块的方法很简单,只要定义一个二维数组即可如:INT16U IntMemBuf1010第4页,共30页,编辑于2022年,星期三上面定义的只是在内存中划分出了分区及内存块的区域,还不是一个真正的可以动态分配的内存区(如图5.1a)只有
3、把内存控制块与分区关联起来之后,系统才能对其进行相应的管理和控制,才是一个真正的动态内存区(如图5.1b)第5页,共30页,编辑于2022年,星期三5.1 a 没有控制块时的分区 b 有控制块时的分区第6页,共30页,编辑于2022年,星期三5.1.2 内存控制块OS_MEM的结构为了是系统能够感知和有效管理内存分区,uC/OS-II定义了一个叫做内存控制块(OS_MEM)的数据结构。系统就用这个内存控制块来记录和跟踪每一个内存分区的状态第7页,共30页,编辑于2022年,星期三内存控制块的内存分区指针OSMemAddr指向了内存分区,内存分区中的各个内存块又组成了一个单项链表,内存控制块的链
4、表指针OSMemFreeList就指向了这个单向链表的头内存控制块的其他3个变量分别记录了分区中内存块的长度,总数目以及现在还为被分配的内存块数目第8页,共30页,编辑于2022年,星期三5.1.3 空内存控制块链表与uC/OS-II其他控制块一样,在uC/OS-II初始化时,会调用内存控制块的初始化函数OS_MemInit()定义并初始化一个空内存控制块链表在这个空内存控制块链表中,一共有OS_MAX_MEM_PART(在文件OS_CFG.H中定义的常数)个空内存控制块。这些空内存控制块的指针成员OSMemFreeList暂时作为指向下一个空内存控制块的指针第9页,共30页,编辑于2022年
5、,星期三空内存控制块链表第10页,共30页,编辑于2022年,星期三每当应用程序需要创建一个内存分区时,系统就会从空内存控制块链表中摘取一个控制块,而把链表的头指针OSMemFreeList指向下一个空内存控制块每当应用程序释放一个内存分区时,则会把该分区对应的内存控制块归还给空内存控制块链表第11页,共30页,编辑于2022年,星期三5.2 动态内存的管理用于动态内存管理的函数有:创建动态内存分区函数请求获得内存块函数释放内存块函数查询动态内存分区状态函数第12页,共30页,编辑于2022年,星期三5.2.1 创建动态内存分区应用程序可以通过OSMemCreate()来建立一个内存分区OS_
6、MEM*OSMemCreate(lvoid*addr,/内存分区的起始地址lINT32U nblks,/分区中内存块的数目lINT32U blksize,/每个内存块的字节数lINT8U*err/错误信息l)第13页,共30页,编辑于2022年,星期三第14页,共30页,编辑于2022年,星期三在各类判断条件中有两个问题值得注意:1.分区的内存块至少有两块2.每个内存块的空间至少能存放一个指针,因为要在内存块中建立一个用于把分区内的内容块连接为一个链表的指针第15页,共30页,编辑于2022年,星期三例如:5.1 建立一个含有50个内存块并且每块的长度为64字节的内存分区。试写出主要代码:第1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 章动 内存 管理 PPT 讲稿
限制150内