问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

常用的内存管理机制有哪几种

发布网友 发布时间:2022-04-21 15:37

我来回答

1个回答

热心网友 时间:2022-03-31 19:56

 嵌入式系统所用到的内存管理机制主要有以下两种:
  1、虚拟内存管理机制:
  有一些嵌入式处理器提供了MMU,在MMU具备内存地址映射和寻址功能,它使操作系统的内存管理更加方便。如果存在MMU ,操作系统会使用它完成从虚拟地址到物理地址的转换, 所有的应用程序只需要使用虚拟地址寻址数据。 这种使用虚拟地址寻址整个系统的主存和辅存的方式在现代操作系统中被称为虚拟内存。MMU 便是实现虚拟内存的必要条件。
  虚拟内存的管理方法使系统既可以运行体积比物理内存还要大的应用程序,也可以实现“按需调页”策略,既满足了程序的运行速度,又节约了物理内存空间。
  在L inux系统中,虚拟内存机制的实现实现为我们提供了一个典型的例子:在不同的体系结构下, 使用了*或者两级页式管理,利用MMU 完成从虚拟地址到物理地址之间的转换。基于虚拟内存管理的内存最大好处是:由于不同进程有自己单独的进程空间,十分有效的提高了系统可靠性和安全性。
  2、非虚拟内存管理机制:
  在实时性要求比较高的情况下,很多嵌入式系统并不需要虚拟内存机制:因为虚拟内存机制会导致不确定性的 I/O阻塞时间, 使得程序运行时间不可预期,这是实时嵌入式系统的致命缺陷;另外,从嵌入式处理器的成本考虑,大多采用不装配MMU 的嵌入式微处理器。所以大多嵌入式系统采用的是实存储器管理策略。因而对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为它分配足够的连续地址空间,然后全部载入主存储器的连续空间。
  由此可见,嵌入式系统的开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少内存;在开发应用程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运行异常;因而,嵌入式系统的开发人员对软件中的一些内存操作要格外小心。
  UCOS就是使用非虚拟内存管理的一个例子,在UCOS中,所有的任务共享所有的物理内存,任务之间没有内存保护机制,这样能够提高系统的相应时间,但是任务内存操作不当,会引起系统崩溃。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以用电高压锅做蛋糕吗 蛋糕机选哪家实惠? 京东闪付开通后无法添加到applepay怎么办 二年级数学说课稿范文 苹果手机电充到80就不充了怎么回事 上有八,下有八中间有个十字花打一字 ...排名22000.能否上到广工的机械制造和自动化(卓越工程师班)_百度知 ... 把内存由DDR2升级到DDR3,是不是要设置什么东东啊。 怎样吧DDR2的内存条改成DDR3 ...的内存条是DDR2的,我想换DDR3的可以吗?该怎么换?还有该注意什么... 牛肉蒸包 蒸牛肉的做法大全 怎样蒸牛肉 支付宝运动步数455步是多少米? 常用的内存管理方法有哪些? 如何蒸牛肉包子 支付宝运动步数靠谱吗? 牛肉蒸饺蒸多久 牛肉蒸包的馅如何调制 牛肉蒸包需要蒸多长时间 支付宝是怎么记录步数的? 怎样更改手机卡默认卡设置? 手机号注销了还在吗 手机号注销,怎么登微信? 已经注销掉的手机号如何解绑微信 注销之后手机号可以重新注册吗 微信注销以后手机号码可以绑定别的吗? 注销后的手机号如何再次绑定其他? 如果手机号码注销了,还可以继续使用吗? 如果手机号码注销了,还可以继续使用吗? 为什么我的手机号注册了两抖音? 手机号码注销后,原先绑定的还要用怎么操作? 为什么我的支付宝里面没有借呗? 包牛肉蒸饺的馅怎么做好吃,谢谢,急盼,牛 操作系统内存管理的方式 牛肉蒸包蒸多长时间熟 内存管理可以有多种方式,其中内存利用率最高的是( 空间不足怎么解决 推荐6种管理手机存储空间方法 今天想做牛肉包,牛肉包蒸多久合适? 蒸牛肉需要多长时间 内存管理有哪几种方式 牛肉蒸饺做法 8086cpu采用哪些方法管理内存 linux内核物理内存管理有哪些常用算法 lru slab 牛肉蒸饺的做法步骤图,牛肉蒸饺怎么做好吃 为了解决内存容量不足的问题,在现代操作系统中都引入了虚拟存储器的概念,它得以实现的基础是( )原理。 蒸牛肉要多久才能熟? 牛肉蒸饺多长时间 牛肉蒸饺怎么做好吃 内存管理的基本问题 牛肉蒸饺馅怎么做最好吃窍门