一种基于μC/OS-Ⅱ的高可靠实时系统内核设计
发布时间:2021-04-14 08:11
基于μC/OS-II,设计并实现了一个高可靠的分区嵌入式操作系统内核。为了保证高关键级别分区的执行时间,提高系统可靠性,提出了一种新的周期执行时间可变的分区调度算法,其能在保障高安全关键级别分区优先执行的同时提供较高的资源利用率和任务可调度性。采用了一种基于位运算的访问控制算法,其可保证系统的信息安全,提高系统的可靠性。最后,通过算法分析和实验结果验证了所提算法的有效性和实时性以及系统的可靠性。
【文章来源】:计算机科学. 2016,43(S2)北大核心CSCD
【文章页数】:6 页
【部分图文】:
图1系统整体设计μC/OS-II原有的任务模型并不能满足ARINC653对任
表3分区1的任务示例任务周期(ms)执行时间(ms)12022804380448045804表4分区2的任务示例任务周期(ms)执行时间(ms)140424083808图4分区调度示意图(2)简单的防止关键级别反转的算法:为了防止关键级别的反转,需要使高优先级分区中的任务比低优先级分区中的任务更早运行,这可以通过给高优先级分区预留足够的运行时间来实现。其算法如式(3)和式(4)所示。λj=u×pjmin(3)θj=λj-Iu(4)其中,Iu表示第u(1≤u≤Rj)个周期的剩余空闲时间。u是使得Iu>0或者Iu+1=0的最小值,而当IRj=0时u=Rj。Iu的计算公式如式(5)所示。Iu=pjmin-∑ni=1(eji×fi)-Lu(5)fi代表任务Tji会或不会在当前周期内运行,其在运算时假设所有的任务都是在其周期一开始的时候就想要运行。fi的计算如下:fi=1,pji=pjmin1,rmod(pjipjmin)=10,烅烄烆上述条件不成立(6)式(5)中的Lu则表示前一周其没有运行完的任务负载。之所以会有多余的任务负载并不是由于任务超过了死限时间,而是由计算fi时假设条件引起的。Lu的计算如下:Lu=0,u=1-Iu-1,Iu-1<00,Iu-1≥烅烄烆0(7)表3和表4中的分区由式(3)、式(4)可以
可满足大多数实时嵌入式系统的要求。在任务运行的过程中,如果任务运行超过死限时间,则系统的健康监控模块就会调用相应的错误处理程序,不同的错误和其处理程序之间的映射关系都体现在系统级、模块级和分区级的3张健康监控映射表中,在系统测试过程中注入的不同级别的多个错误均得到了正确的处理。表10时间参数参数名称时间(μs)分区切换时间12.4任务切换时间3.2中断响应时间0.7为了验证访问控制算法的性能,测试了20个不同API在加入访问控制前后的运行时间,如图7所示。加入访问控制之后,平均运行时间增加了0.12μs,各API增加时间的方差为1.84×10-6。因此可以看出,与文献[8,9]的算法相比,本文提出的算法的执行时间更稳定,效率更高。图7访问控制时间对比(下转第550页)·546·
【参考文献】:
期刊论文
[1]基于可变标签的访问控制策略设计与实现[J]. 李大明,曹万华,张焕. 计算机科学. 2012(12)
[2]μC/OS-Ⅱ实时内核[J]. Jean J.Labrosse,江文瑞. 电子产品世界. 2007(04)
[3]基于任务的访问控制模型[J]. 邓集波,洪帆. 软件学报. 2003(01)
硕士论文
[1]uC/OS-Ⅱ的安全访问控制关键技术研究[D]. 崔可明.哈尔滨工程大学 2006
本文编号:3136985
【文章来源】:计算机科学. 2016,43(S2)北大核心CSCD
【文章页数】:6 页
【部分图文】:
图1系统整体设计μC/OS-II原有的任务模型并不能满足ARINC653对任
表3分区1的任务示例任务周期(ms)执行时间(ms)12022804380448045804表4分区2的任务示例任务周期(ms)执行时间(ms)140424083808图4分区调度示意图(2)简单的防止关键级别反转的算法:为了防止关键级别的反转,需要使高优先级分区中的任务比低优先级分区中的任务更早运行,这可以通过给高优先级分区预留足够的运行时间来实现。其算法如式(3)和式(4)所示。λj=u×pjmin(3)θj=λj-Iu(4)其中,Iu表示第u(1≤u≤Rj)个周期的剩余空闲时间。u是使得Iu>0或者Iu+1=0的最小值,而当IRj=0时u=Rj。Iu的计算公式如式(5)所示。Iu=pjmin-∑ni=1(eji×fi)-Lu(5)fi代表任务Tji会或不会在当前周期内运行,其在运算时假设所有的任务都是在其周期一开始的时候就想要运行。fi的计算如下:fi=1,pji=pjmin1,rmod(pjipjmin)=10,烅烄烆上述条件不成立(6)式(5)中的Lu则表示前一周其没有运行完的任务负载。之所以会有多余的任务负载并不是由于任务超过了死限时间,而是由计算fi时假设条件引起的。Lu的计算如下:Lu=0,u=1-Iu-1,Iu-1<00,Iu-1≥烅烄烆0(7)表3和表4中的分区由式(3)、式(4)可以
可满足大多数实时嵌入式系统的要求。在任务运行的过程中,如果任务运行超过死限时间,则系统的健康监控模块就会调用相应的错误处理程序,不同的错误和其处理程序之间的映射关系都体现在系统级、模块级和分区级的3张健康监控映射表中,在系统测试过程中注入的不同级别的多个错误均得到了正确的处理。表10时间参数参数名称时间(μs)分区切换时间12.4任务切换时间3.2中断响应时间0.7为了验证访问控制算法的性能,测试了20个不同API在加入访问控制前后的运行时间,如图7所示。加入访问控制之后,平均运行时间增加了0.12μs,各API增加时间的方差为1.84×10-6。因此可以看出,与文献[8,9]的算法相比,本文提出的算法的执行时间更稳定,效率更高。图7访问控制时间对比(下转第550页)·546·
【参考文献】:
期刊论文
[1]基于可变标签的访问控制策略设计与实现[J]. 李大明,曹万华,张焕. 计算机科学. 2012(12)
[2]μC/OS-Ⅱ实时内核[J]. Jean J.Labrosse,江文瑞. 电子产品世界. 2007(04)
[3]基于任务的访问控制模型[J]. 邓集波,洪帆. 软件学报. 2003(01)
硕士论文
[1]uC/OS-Ⅱ的安全访问控制关键技术研究[D]. 崔可明.哈尔滨工程大学 2006
本文编号:3136985
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3136985.html