厦门阿米控技术有限公司 联系人:徐亚婷 手机:18020776785 QQ:2851195472 座机:0592-5087595详细地址:厦门市思明区湖滨南路388号32D之六(国贸大厦32楼)
RTEMS定义的可变长度的分区(Region)是一段连续的、大小可配置的内存空间,可以被划分成很多大小不一的段(Segment)。创建分区时要指定一个分配单元,称为页。段的大小是页的倍数,如果应用程序在申请段时,给出的大小不是页的倍数,内核会将其调整为页的倍数。例如,应用从而大小为512个字节的分区中申请一个大小为700字节的段,那么,内核实际分配的段大小为1024字节。
创建Region分区时,RTEMS根据分区大小和页小建立分区的控制结构和段的控制结构。在创建之初,只有一个空闲段,其大小为分区的大小减去控制结构的内存开销。随着应用申请、释放段的操作不断进行,分区中形成用双向链表链接起来的空闲段链。当从分区中分配段时,依据首次适应算法(即第一个满足要求的空闲段就作为分配结果)查看空闲段链中是否存在合适的段。当把段释放回分区时,该段被挂在空闲段链的链尾,并且如果空闲段链中有与此段相邻的段,则将其合并成一个更大的空闲段。RTEMS在段的控制块中设置一个标志位表示其被使用的情况。
RTEMS的可变长度分区管理算法有以下特色:
①系统创建的分区数目可在运行时动态增加;
②段的控制结构在该段被分配出去后会减小,而在回收到控制快会自动恢复大小。这一点使得分区管理的系统开销降低到好小;
③时应用程序发现一个分区的内存空间不够使用时,可以调用retms_region_extend函数(API)扩展该分区的大小。
④当程序要求从某个分区获取分段而未成功时,可以立即返回,也可以采取多种等待策略。等待策略包括优先级等待、FIFO等待。在FIFO等待策略中又可分为有限等待和无限等待。
SDCS-CON-2 CPU SDCS-CON-2 SDCS-CON-2
MICROLOGIC 6.0E MICROLOGIC 6.0E
MMS6220 MMS 6220 MMS6220 MMS 6220
A1-108-100-518 IS.10 CPU A1-108-100-518
1MRS050326L151 CM050298 MR887875 1MRS050326F
REF541KB115AAAA REF541KB115AAAA
1756-L72S 1746-IV16 1746-NIO4I
1336-CONV-SP3A Allen-Bradley
140CPS11420 140CPS11400
140CPS11420 Modicon Quantum - 115 V/230 V -
140CPS12420 140CPS11420 140CPS21420 PLC 140
140CPU11303 140NOE77100 140NOE77101 140CRP93100
140CPU31110 Quantum Unity Quantum 31110 CPU
140CPU67160 Unity
140DAO84000 Modicon
140DDO35300
140NOE77101 TCP/IP -
140NRP31200 MM/LC 2CH-100 MB