关于动态分配内存的疑问?

芝麻775 2015-03-18 03:19:56
很多资料里提到这个:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序...

问题:这个记录空闲内存地址的链表,当操作系统重启后,链表是不是就清空了呢?有没有办法能够掉电保存这个链表,操作系统重启后,对于之前已经分配过的空间不进行重新分配。(ps:对象是可掉电保存的外部sram)
...全文
190 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2015-03-19
  • 打赏
  • 举报
回复
同时,更重要的是,你的程序运行状态使用的各个内存值,必须和保存时刻一致,否则程序运行可能就会出现混乱
worldy 2015-03-19
  • 打赏
  • 举报
回复
单纯保留内存管理数据是无用的,如果这样,整个内存都需要保存,否则没有意义
fly 100% 2015-03-19
  • 打赏
  • 举报
回复
因为重建速率会远大于存储区load速度
fly 100% 2015-03-19
  • 打赏
  • 举报
回复
非易失存储器都可以存放 不过真是没必要的
zhxianbin 2015-03-18
  • 打赏
  • 举报
回复
RAM 掉电就不能保存,保存下来有什么用呢
  • 打赏
  • 举报
回复
可以实现,但是不是系统干的事情了,自己 写内存管理,并记录到sram。
91program 2015-03-18
  • 打赏
  • 举报
回复
这样的功能要求,已经超出了系统的范围。 因为系统不知道自己启动后,你的应用是否运行,如果不运行保留以前的内存分配有什么作用?且可能导致内存不足的情况出现。 如果一定想记录,还是自己的程序去实现吧。
curious_cat 2015-03-18
  • 打赏
  • 举报
回复
想复杂了; 自己写程序维护一个队列/链表,把描述该队列/链表数据结构的变量都保存在该外部RAM中即可。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧