文档库 最新最全的文档下载
当前位置:文档库 › 基于反射式中间件的移动计算模型

基于反射式中间件的移动计算模型

————————————

作者简介作者简介::张 杰(1986-),男,硕士,主研方向:嵌入式系统;陈相宁,副教授;徐超永,硕士研究生 收稿日期收稿日期::2011-12-27 修回日期修回日期::2012-02-23 E-mail :njutzhangjie@https://www.wendangku.net/doc/c9226956.html,

一种优先级反转抑制一种优先级反转抑制的外设的外设的外设管理管理管理模型模型

张 杰,陈相宁相宁,,徐超永

(南京大学电子科学与工程学院网络安全通信实验室,南京 210093)

摘 要:已有优先级反转抑制方法的通用性较差,优先级天花板值难于选取。为此,提出一种改进的优先级反转抑制模型。分析现有解决优先级反转方法存在的缺陷,通过为各种稀缺资源单独建立服务队列,将其排除在优先级调度队列的排队模型之外,从而在单处理核的嵌入式系统中形成多服务员处理模型,以降低优先级反转的发生概率。仿真结果表明,该模型的优先级反转概率约为1‰。 关键词关键词::嵌入式实时系统;优先级反转;稀缺资源;单处理核;服务模型

A Management Model for Peripherals

of Priority Inversion Inhibition

ZHANG Jie, CHEN Xiang-ning, XU Chao-yong

(Safe Communication Research Lab, School of Electronic Science and Engineering, Nanjing University, Nanjing 210093, China)

【Abstract 】The generality of existing priority inversion inhibition model is poor, and the method is difficult to choose the value of priority ceiling. In order to solve this problem, this paper proposes an improved priority inversion inhibition model. By setting independent serving queue for kinds of scarce resource and excluding them from the queuing model of priority scheduling queue, parallel processing of multiple scarce equipments can be achieved within an embedded system with only single processing core and the probability of the priority inversion can be reduced. Simulation results show that the probability of priority inversion is about 1‰.

【Key words 】embedded real-time system; priority inversion; scarce resource; single processing core; service model DOI: 10.3969/j.issn.1000-3428.2012.20.070

计 算 机 工 程 Computer Engineering 第38卷 第20期

V ol.38 No.20 2012年10月

October 2012

·开发研究与设计技术开发研究与设计技术·· 文章编号文章编号::1000—3428(2012)20—0272—03 文献标识码文献标识码::A

中图分类号中图分类号::TP316

1 概述

优先级反转是指一个任务等待比它优先级低的任务释放资源而被阻塞,如果此时有中等优先级的任务就绪,阻塞会进一步恶化,甚至超过任务的最后期限[1]。这种情况通常是由于不同优先级任务对资源的互斥访问引起的。

为了抑制优先级反转情况的发生,各种操作系统调度内核都提出了各自的解决方法。主要包括:优先级继承和优先级置顶[2]。优先级继承是指当某个任务阻塞了一个或多个更高优先级任务时,忽略该任务的原始优先级并以被其阻塞的任务中的最高优先级来执行其关键部分。在退出时,恢复其优先级[3]。也就是说,通过将低优先级的任务的优先级提升到被阻塞任务的最高优先级,使其尽快被执行,防止在有高优先级等待资源释放时,CPU 被中等优先级任务抢占,从而抑制优先级反转的发生。

优先级置顶是指为每一个共享资源预先分配一个很高的优先级(称为优先级天花板),如果高优先级任务需要访问某个共享资源,此时该共享资源正被低优先级任务占用,提升优先级任务的优先级至优先级天花板,使低优先级任务继续执行。在低优先级任务释放共享资源后,恢复

其优先级[4-5]。也就是说,通过将低优先级的任务的优先级提升至优先级天花板,从而抑制优先级反转的发生。

然而对于优先级继承来说,要求内核支持2个或2个以上的任务具有相同优先级,该方法不具有通用性,例如μCos 调度内核就不支持相同优先级的调度[6]。而对于优先级置顶来说,优先级天花板值的选取比较难以把握,如果该值过大,将会导致不使用共享资源的高优先级任务得不到及时的执行,如果该值过小,优先级反转的不能得到有效的抑制[7]。

本文通过对优先级反转问题的排队建模,提出一种改进的抑制优先级反转模型。分析由于独占设备导致优先级反转的机理,建立任务访问外设的一般模型,提出改进模型,并分析其优越性。

2 优先级反转任务调度模型

在实际应用中,发生优先级反转的根本原因在于独占设备的存在和不当管理。从资源分配角度可以将设备分为独占设备和共享设备。独占设备是指只允许一个任务占用的设备,而共享设备是指允许多个任务共享的设备。对于独占设备而言,一旦它被分配给某任务,其他任务要访问

相关文档