首页 > 知识点讲解
       分区存储管理实例
知识路径: > 嵌入式系统软件基础知识 > 嵌入式操作系统基础知识 > 存储管理 > 分区存储管理(固定分区、可变分区、内存保护等) > 分区存储管理 > 
相关知识点:3个      
        下图是一个嵌入式系统的内存布局,主要是堆空间的管理。如下图所示,整个堆空间被划分为两部分:一部分是内存块池;一部分是字节池。前者即为固定分区的存储管理方式,后者即为可变分区的存储管理方式。需要说明的是,这里的分区存储管理讨论的并不是各个任务的地址空间,而是系统的堆空间,即各个任务在运行的时候,如果它们需要使用动态内存,就会通过类似于malloc的函数提出申请,系统就会从堆当中分配相应的空间,满足任务的动态内存请求,而不是把整个任务装进来。
        
        一个嵌入式系统的堆空间
        下图(a)是内存块池的具体分布。该区域总的大小为1408KB,被划分为不同大小的块。例如,大小为64B的块有1024个,共64KB;大小为512B的块有32个,共16KB,等等。最大的块为512KB,只有一个。另外,当任务去申请一块内存空间时,其大小并不一定与某个块的大小正好相同。例如,假设任务申请的对象大小为9KB,系统只能将一个16KB的块分配给它,所以内碎片为7KB。
        
        内存块池与字节池
        上图(b)是字节池的示意图,任务可以申请一块任意大小的内存空间。在当前状态下,如果下一次请求的大小不超过段1,就会把它一分为二,满足此次请求。另外,虽然在系统中有四块空闲分区,但它们并没有连接在一起。因此,当任务在提出内存申请的时候,能够满足的最大请求为段5和段6这两块分区之和。实际上,在内存回收算法当中,应该会把这两个相邻的分区进行合并,合成一个大的空闲分区。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有