linux的内存管理理与UCOSlinux的内存管理理有什么区别

查看: 529|回复: 7
【求助】C语言的内存管理与UCOS的内存管理有什么区别
主题帖子精华
中级会员, 积分 229, 距离下一级还需 271 积分
在线时间41 小时
问题如题。
嗯,是会产生碎片。可以参考FreeRTOS的内存管理,heap4就提供了内存碎片处理方法的
主题帖子精华
在线时间1404 小时
刚刚看了UCOS内存管理,固定的存储块大小,感觉不太适合使用。
原子历程中,可以申请指定大小的内存,使 ...
嗯,是会产生碎片。可以参考FreeRTOS的内存管理,heap4就提供了内存碎片处理方法的
开往春天的手扶拖拉机
主题帖子精华
在线时间1404 小时
本帖最后由 zuozhongkai 于
10:10 编辑
C语言的内存管理是C库自带的,功能比较强大,但是实现复杂,用在单片机系统中开销较大。因此就有人想到为单片机系统做个专门的、简单的、底开销的内存管理。这个工作一般都是RTOS操作系统厂家做的(当然了,你也可以自己做个内存管理,比如我们例程里面提供的内存管理试验),而且内存管理是RTOS系统必备的组件,所以UCOS里面也有了内存管理,这个管理方法比较简单,用在单片机上很适合。从用户的使用角度来看,每有区别都是调用malloc函数申请一段内存,用完以后调用free函数释放内存。但是UCOSIII里面的内存管理太粗糙了。
主题帖子精华
高级会员, 积分 700, 距离下一级还需 300 积分
在线时间129 小时
C语言的内存管理是C库自带的,功能比较强大,但是实现复杂,用在单片机系统中开销较大。因此就有人想到为单 ...
请问一下 OS_ERR err说我未定义是怎么个情况,我下载别人的DEMO创建的任务里面就没有报错, 我自己创建新的线程就说我未定义
主题帖子精华
在线时间1404 小时
请问一下 OS_ERR err说我未定义是怎么个情况,我下载别人的DEMO创建的任务里面就没有报错, 我自己创建新 ...
提示没有定义,还有检查你的头文件包含,看看OS_ERR的定义在哪个.h文件里面!如果提示cpu_sr未定义的话就调用函数CPU_SR_ALLOC()。
开往春天的手扶拖拉机
主题帖子精华
中级会员, 积分 229, 距离下一级还需 271 积分
在线时间41 小时
C语言的内存管理是C库自带的,功能比较强大,但是实现复杂,用在单片机系统中开销较大。因此就有人想到为单 ...
刚刚看了UCOS内存管理,固定的存储块大小,感觉不太适合使用。
原子历程中,可以申请指定大小的内存,使用起来很方便,
那么?请问这样子是否会容易产生内存碎片?
主题帖子精华
中级会员, 积分 229, 距离下一级还需 271 积分
在线时间41 小时
嗯,是会产生碎片。可以参考FreeRTOS的内存管理,heap4就提供了内存碎片处理方法的
ok,thanks,
主题帖子精华
中级会员, 积分 489, 距离下一级还需 11 积分
在线时间116 小时
原子的是 内存堆,内存池技术的终合版,对于大内存处理太慢, 跟C库的还是有很大区别
Powered by常用的内存管理机制有哪几种_百度知道
常用的内存管理机制有哪几种
我有更好的答案
 嵌入式系统所用到的内存管理机制主要有以下两种:  1、虚拟内存管理机制:  有一些嵌入式处理器提供了MMU,在MMU具备内存地址映射和寻址功能,它使操作系统的内存管理更加方便。如果存在MMU ,操作系统会使用它完成从虚拟地址到物理地址的转换, 所有的应用程序只需要使用虚拟地址寻址数据。 这种使用虚拟地址寻址整个系统的主存和辅存的方式在现代操作系统中被称为虚拟内存。MMU 便是实现虚拟内存的必要条件。  虚拟内存的管理方法使系统既可以运行体积比物理内存还要大的应用程序,也可以实现“按需调页”策略,既满足了程序的运行速度,又节约了物理内存空间。  在L inux系统中,虚拟内存机制的实现实现为我们提供了一个典型的例子:在不同的体系结构下, 使用了三级或者两级页式管理,利用MMU 完成从虚拟地址到物理地址之间的转换。基于虚拟内存管理的内存最大好处是:由于不同进程有自己单独的进程空间,十分有效的提高了系统可靠性和安全性。  2、非虚拟内存管理机制:  在实时性要求比较高的情况下,很多嵌入式系统并不需要虚拟内存机制:因为虚拟内存机制会导致不确定性的 I/O阻塞时间, 使得程序运行时间不可预期,这是实时嵌入式系统的致命缺陷;另外,从嵌入式处理器的成本考虑,大多采用不装配MMU 的嵌入式微处理器。所以大多嵌入式系统采用的是实存储器管理策略。因而对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储器的连续空间。  由此可见,嵌入式系统的开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少内存;在开发应用程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运行异常;因而,嵌入式系统的开发人员对软件中的一些内存操作要格外小心。  UCOS就是使用非虚拟内存管理的一个例子,在UCOS中,所有的任务共享所有的物理内存,任务之间没有内存保护机制,这样能够提高系统的相应时间,但是任务内存操作不当,会引起系统崩溃。
为您推荐:
其他类似问题
您可能关注的内容
内存管理的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。操作系统的内存管理有什么作用
一般的操作系统中的内存管理具有什么功能?在uCOS-II中的内存管理能完成什么功能? 在uCOS-II操作系统中,内存的动态分配要用到什么函数,请问什么情况下要用到内存的动态分配,请举例说明。 字
08-12-24 &匿名提问
平安夜快乐
请登录后再发表评论!
在个人计算机的操作系统中,用于优化随机访问存储器使用的过程。该过程包括有选择性的存入数据、精心地监控内存的使用、当内存中数据不再使用时释放该内存等操作。目前,大多数操作系统使用自己的内存管理来优化 RAM 的使用。有些老的操作系统,如 MS-DOS 的早期版本,则需要第三方的工具来优化 RAM 的使用,同时还要求用户了解操作系统和应用程序使用内存的方法。
请登录后再发表评论!实验五 ucOS II内存管理及显示驱动实验_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
实验五 ucOS II内存管理及显示驱动实验
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩2页未读,
定制HR最喜欢的简历
你可能喜欢UCOS内存分配_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
UCOS内存分配
&&作为一个操作系统内核,必须有向用户提供申请和释放内存的服务,uCos作为一个实时操作系统也不例外。
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 java的内存管理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信