[VxWorks] VxWorks内存管理方案

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

回复评论 (3)

不知道楼主这段话是从哪里来的,感觉好生硬
其实这段讲的无非就是vxworks中的内存管理部分的内容,还讲到了内存分区。
参见tornado trainning workshop的第9章内存部分就好了,比这段话要清楚多了
点赞  2009-1-14 22:25
个人感觉应用程序使用的内存不必再分,
因为操作系统底层已经实现了堆内存管理和内存碎片回收。
不知道楼主是不是用C开发,如果是C,我个人以为
没有必要再封装一层内存管理。
点赞  2009-1-20 13:20
需要看楼主业务的应用场景,堆分配很容易造成外部碎片的产生,如果频繁申请、释放的内存(且大小相对固定)建议自己实现一套类似于页分配的算法。
点赞  2009-2-16 16:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复