当前位置:主页 > IT资讯 > 业界 >
一种嵌入式系统的内存分配方案
  • 时间:2024-08-17
  • 浏览:

本文摘要:1嵌入式系统中对内存分配的拒绝 ①快速性。 嵌入式系统中对实时性的确保,拒绝内存分配过程要尽量地慢。因此在嵌入式系统中,不有可能使用标准化操作系统中简单而完备的内存分配策略,一般都使用非常简单、较慢的内存分配方案。 当然,对实性拒绝的程序有所不同,分配方案也有所不同。例如,VxWorks使用非常简单的年所给定如立刻单体方法;VRTX中使用多个相同尺寸的binning方案。 ②可靠性。 也就是内存分配的催促必需获得符合,如果分配告终可能会带给灾难性的后果。

333体育官网平台

1嵌入式系统中对内存分配的拒绝  ①快速性。  嵌入式系统中对实时性的确保,拒绝内存分配过程要尽量地慢。因此在嵌入式系统中,不有可能使用标准化操作系统中简单而完备的内存分配策略,一般都使用非常简单、较慢的内存分配方案。

当然,对实性拒绝的程序有所不同,分配方案也有所不同。例如,VxWorks使用非常简单的年所给定如立刻单体方法;VRTX中使用多个相同尺寸的binning方案。

  ②可靠性。  也就是内存分配的催促必需获得符合,如果分配告终可能会带给灾难性的后果。嵌入式系统应用于的环境千变万化,其中有一些是对可靠性拒绝极高的。

比如,汽车的自动驾驶系统中,系统检测到将要爆胎,如果因为内存分配告终而无法适当的操作者,就不会再次发生车毁人亡的事故,这是不能容忍的。  ③高效性。

333体育官网平台

  内存分配要尽量地少浪费。不有可能为了确保符合所有的内存分配催促而将内存配备得无限大。一方面,嵌入式系统对成本的拒绝使得内不存在其中只是一种很受限的资源;另一方面,即使不考虑到成本的因素,系统受限的空间和受限的板面积要求了可配备的内存容量是很限的。  2静态分配与动态分配  到底应用于用于静态分配还是动态分配,仍然是嵌入式系统设计中一个争论不休的总是。

当然,合适的答案是对于有所不同的系统使用有所不同的方案。如果是系统对于实时性和可靠性的拒绝极高(软实时系统),不能容忍一点延时或者一次分配告终,当然必须使用静态分配方案,也就是在程序编译器时所必须的内存都早已分配好了。例如,火星探测器上面的嵌入式系统就必需使用静态分配的方案。  另外,WindRiver公司的一款专门用作汽车电子和工业自动化领域的实时操作系统OSEKWorks中就不反对内存的动态分配。

在这样的应用于场合,成本不反对内存的动态分配。在这样的应用于场合,成本不是优先考虑到的对象,实时性和可靠性才是必需确保的。当然,使用静态分配一个不可避免的总是就是系统丧失了灵活性,必需在设计阶段就预先告诉所必须的内存并对之做出分配;必需在设计阶段就预先考虑到所有有可能的情况,因为一旦经常出现没考虑到的情况,系统就无法处置。

  这样的分配方案必需造成相当大的浪费,因为内存分配必需按照最坏情况展开仅次于的配备,而实质上在运营中有可能用于的只是其中的一小部分;而且在硬件平台恒定的情况下,不有可能灵活性地为系统加到功能,从而使得系统的升级显得艰难。大多数的系统是软实时系统和软实时系统的综合。也就是说,系统中的一部分任务有严苛的时限拒绝,而另一部分只是拒绝已完成得越快越好。

  按照RMS(RateMonotoinScheduling)理论,这样的系统必需使用先行式任务调度;而在这样的系统中,就可以使用动态内存分配来符合那一部分可靠性和实时性拒绝不那么低的任务。使用动态内存分配的益处就是给设计者相当大的灵活性,可以便利地将原本运营于非嵌入式操作系统的程序重制到嵌入式系统中,比如,许多嵌入式系统中用于的网络协议栈。如果必需使用静态内存分配,重制这样的协议栈就不会艰难得多。另外,使用动态内存分配可以使设计者在不转变基本的硬件平台的情况下,较为灵活性地调整系统的功能,在系统中各个功能之间做出权衡。

333体育官网平台

例如,可以在反对的VLAN数和反对的路由条目数之间做出调整,或者有所不同的版本反对有所不同的协议。  说到底,动态内存分配给了嵌入式系统的程序设计者在较为较少的容许和较小的权利。

因此,大多数实时操作系统获取了动态内存分配模块,例如malloc和free函数。


本文关键词:333体育官网平台,一种,嵌入式,系统,的,内存,分配,方案,嵌入式

本文来源:333体育官网平台-www.theshadesofgrace.com

相关推荐