嵌入式linux的内存疑惑

SeanQ 2014-10-31 12:18:41
感觉嵌入式linux的内存分配使用与PC机windows的内存使用有些不一样:
PC机windows的内存只要我申请成功,就能正常使用它(比如对它进行赋值),而觉得嵌入式linux的内存申请成功
以后,但不一定能正常使用,觉得剩余的物理内存很小时使用就会出问题。

以上问题,本人也做一些测试,但始终感觉还是不能确认这一点,不知哪位大侠能否解决我
心中的疑惑:
(1) 嵌入式linux中,一个进程成功申请了超过100%的内存,是不是也能成功使用这些申请的内存?
(2) 如果(1)成立的话,那是否系统中还可以存在另外一个进程,其申请和使用的内存都能超过100%?
(3) 如果(1)不成立的话,那么能使用的内存大小是不是系统可用的物理内存的大小?
(4) 如果(1)不成立的话,一个进程只要申请的内存不超过100%,申请和使用就能成功?
(5) 如果(4)成立的话,那是否系统中还可以存在另外一个进程,其申请和使用的内存不能超过100%,但两个进

程总的内存超过100%?
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
A_boring_traveller 2014-11-14
  • 打赏
  • 举报
回复
建议去看下一下虚拟内存的知识,你会明白很多
827fast 2014-11-06
  • 打赏
  • 举报
回复
楼主可能搞混淆了。你在应用层分配的内存是应用层的线性内存空间的内存。具体对应是物理内存或虚拟内存是不确定的。 建议看一下linux操作系统的内存管理机制。分段、分页、虚拟内存...。
zhxianbin 2014-11-05
  • 打赏
  • 举报
回复
如何感觉不一样了,如何觉得嵌入式linux的内存申请成功以后,但不一定能正常使用? 哪里来的感觉,测试了吗?
ben4058512 2014-11-05
  • 打赏
  • 举报
回复
在应用层,每个单独的进程看到的都是4G的内存空间(32位系统),操作系统为进程做隔离(MMU的作用)。 当实际的内存空间不足的时候,操作系统会通过交换部分程序和数据到硬盘上(嵌入式的硬盘可能是flash)。 无论任何时候,检查mallco()函数的返回值是否有效,都是最保险的做法。 个人理解。

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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