fans-rt 内存管理设计方案(5)局部堆管理模块设计-需求分析

原创 2015年07月10日 22:39:40

5.1需求分析

1.创建堆

根据传入的内存指针、长度以、堆内块大小、最大行的块数量创建一个堆并返回堆对象指针。

2.删除堆

根据传入的堆对象指针删除堆。

3.从堆中分配行

根据传入的堆对象指针和需要分配的内存长度从堆中分配若干个连续的块组成一行。如果分配的行的块个数不是2的幂,则需要将分剩余部分分割成若干个行关联到空闲伙伴表中。

4.释放内存到堆中

根据传入的堆对象指针和需要释放的行指针,将行释放到堆中。如果释放非对齐行(行中的块数量不是2的N次幂),需要将行分割为若干对齐行再关联到伙伴表中,如果释放的行存在伙伴行,则需要将两个空闲伙伴行合并为一个空闲行。

5.查询堆中每个块的容量(可测试性需求)

6.查询堆中总的块数量(可测试性需求)

7.查询堆所支持的最大空闲行容量(可测试性需求)

8.查询堆中当前最大空闲行容量(可测试性需求)

9.查询堆中总空闲块数量(可测试性需求)

10.查询堆中指定长度的空闲行数量(可测试性需求)

11.创建任务局部堆

从MMS中申请内存并使用申请的内存创建一个堆,将堆对象指针保存到指定任务上下文中。

12.删除任务局部堆

清除指定任务局部堆指针,并将删除堆对象,释放堆内存到MMS中。

13.查询任务局部堆指针

从任务上下文对象中返回局部堆指针。

14.从局部堆中分配内存

根据查询到的局部堆指针,从该堆中分配内存。

15.释放内存到局部堆中

根据用户传入的内存指针和查询到的局部堆指针,将内存释放到局部堆中。
版权声明:本文为博主原创文章,未经博主允许不得转载。

【操作系统】堆与内存管理概述

—–要说到操作系统的堆与内存的管理的话,那内容真的是海了去了,从开始的地方就能不停的扩展,但内容的重要性也是不可言喻的,本片博客着重于总结以下三点: Linux的虚拟地址空间布局 堆和栈的管理,堆和栈...
  • bitboss
  • bitboss
  • 2017年04月13日 21:00
  • 689

fans-rt 内存管理设计方案(2)总体设计

一、总体设计 1.1 需求概述 按照需求分析的规格要求,需要提供内存的申请、回收、查看内存空间分布情况、支持多个非连续内存区间的管理、提供对MPU的支持,相同硬件平台下任意复杂环境的内存申请、回收...
  • sevek
  • sevek
  • 2015年07月05日 22:18
  • 246

fans-rt 内存管理设计方案(1)引言

修订记录 版本 作者 修订记录 日期 V1.0 姜勇 生成初稿 2014.09.26...
  • sevek
  • sevek
  • 2015年07月05日 04:08
  • 157

需求分析的基本概念步骤和设计方案选择

设计方案选择的基本思路 项目组面临两难选择时:首先用鱼和熊掌来识别矛盾的两个对立面:项目组用小鱼来比喻那些开发和维护代价较小,结构简单但是缺乏某些灵活性的设计方案,用熊掌来比喻那些灵活易扩展但是...
  • u012829152
  • u012829152
  • 2014年12月18日 11:28
  • 1016

内存管理之堆和栈的区别

堆和栈的区别 不知道谁写的,很详细,对了解程序数据存储有一定帮助,转载过来自己学习同时与众分享。 一、预备知识―程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 ...
  • haiross
  • haiross
  • 2015年07月27日 09:51
  • 1015

License系统设计(一)

本系列文章主要介绍我近期设计的一个软件License系统。 一、软件需求     假设M公司要发布一款软硬件一体的产品,名为“OfficeDevice”。这个OfficeDevice的上层是一个PC,...
  • Sagittarius_Warrior
  • Sagittarius_Warrior
  • 2016年12月07日 10:08
  • 1784

C# 样品管理模块和订单模块设计

C# 样品管理模块和订单模块设计 1.1 样品管理模块 1.1.1概述   样品管理模块主要处理样品信息的登记和维护。用户可以通过样品登记模块进行样品基本信息、样机状态信息、主关件信息和技术参数信息...
  • wp1603710463
  • wp1603710463
  • 2015年09月06日 21:04
  • 1878

学籍管理系统的需求分析

首先说说系统需求分析的过程,这个过程设计到的人员有用户、需求分析人员、软件开发人员。        需求分析看似很简单,其实不然,需求分析可能是软件开发中最困难、最关键、最易出错的也是最需要...
  • niuxiuming
  • niuxiuming
  • 2013年06月20日 09:29
  • 1929

支付宝支付设计和开发方案

背景       在移动支付领域,支付宝支付占用巨大份额,根据艾瑞咨询公布的报告数据:2014Q3,支付宝斩获了82.6%的市场份额,在移动支付的霸主地位越来越稳固。财付通支付的发力点在微信支付和手...
  • suqisq
  • suqisq
  • 2015年09月07日 11:41
  • 2783

java内存管理(堆、栈、方法区)

java内存管理简介  首先我们要了解我们为什么要学习java虚拟机的内存管理,不是java的gc垃圾回收机制都帮我们释放了内存了吗?但是在写程序的过程中却也往往因为不懂内存管理而造成了一些不容易察觉...
  • Liveor_Die
  • Liveor_Die
  • 2017年09月08日 15:46
  • 214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:fans-rt 内存管理设计方案(5)局部堆管理模块设计-需求分析
举报原因:
原因补充:

(最多只允许输入30个字)