VxWorks内存管理方案

kg1215 2009-01-08 08:47:14
改进的缓冲区管理模块的作用在于加强VxWorks实时操作系统对内存的管理,并为上层应用程序提供所需内存申请和释放工作。因此改进模块位于VxWorks实时操作系统模块和应用程序模块之间。
CPU实际物理内存在bootRoom启动时划分为两部分:VxWorks内核操作系统内存和保留给用户管理的内存。为了便于管理,对为用户保留内存作进一步划分,使用memPartCreate函数创建两个内存分区:一个分区用来生成预先申请好固定大小缓冲池;另一分区以堆方式向上层提供的缓冲池。这样就把物理内存划分成3个部分:
(1)Paal:VxWorks系统内存,在物理低端;
(2)Part2:预先申请好的固定大小的缓冲池,每种固定长度的内存缓冲区形成一个队列;
(3)Pan3:以堆方式提供给上层应用程序的缓冲池;
大家有没有类似的例子可以让我学习一下吗?

...全文
696 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
erigido 2009-02-16
  • 打赏
  • 举报
回复
需要看楼主业务的应用场景,堆分配很容易造成外部碎片的产生,如果频繁申请、释放的内存(且大小相对固定)建议自己实现一套类似于页分配的算法。
ies_sweet 2009-01-20
  • 打赏
  • 举报
回复
个人感觉应用程序使用的内存不必再分,
因为操作系统底层已经实现了堆内存管理和内存碎片回收。
不知道楼主是不是用C开发,如果是C,我个人以为
没有必要再封装一层内存管理。
frank_zhou 2009-01-14
  • 打赏
  • 举报
回复
不知道楼主这段话是从哪里来的,感觉好生硬
其实这段讲的无非就是vxworks中的内存管理部分的内容,还讲到了内存分区。
参见tornado trainning workshop的第9章内存部分就好了,比这段话要清楚多了

2,187

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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