A predictable interrupt management policy for real-time operating systems

Javad Ebrahimian Amiri, M. Kargahi
{"title":"A predictable interrupt management policy for real-time operating systems","authors":"Javad Ebrahimian Amiri, M. Kargahi","doi":"10.1109/RTEST.2015.7369843","DOIUrl":null,"url":null,"abstract":"Real-time operating systems play important roles in developing many of today's embedded systems. Majority of these embedded systems have intense interactions with the environment through I/O devices, namely sensors and actuators. Interrupts are often used by the operating systems to handle these interactions through executing the corresponding interrupt service routines (ISRs). ISRs are usually executed non-preemptively at some priorities higher than system tasks. Depending on the interrupt frequency, this prioritization can result in problems like unresponsiveness and unpredictability in the system, even for the high priority tasks. This incurs a type of priority inversion which we call it ISR-task priority inversion (ITPI). This paper uses threaded interrupts and employs the priority inheritance protocol (PIP) to enforce each interrupt service thread (IST) to be executed at its owner's priority, causing less interference with higher priority tasks. Two PIP-based approaches are proposed and implemented: 1) Static priority linked list, which uses PIP only when a task starts; experimental results show that this approach can tolerate some simple forms of ITPI, and 2) Dynamic priority bitmap, which employs PIP whenever a task needs an IST; experiments show that more complex forms of ITPI can be tolerated with this approach. The almost extensive experimental results show that using the dynamic priority approach enhances the real-time system predictability compared to the common approaches.","PeriodicalId":376270,"journal":{"name":"2015 CSI Symposium on Real-Time and Embedded Systems and Technologies (RTEST)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 CSI Symposium on Real-Time and Embedded Systems and Technologies (RTEST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTEST.2015.7369843","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

Real-time operating systems play important roles in developing many of today's embedded systems. Majority of these embedded systems have intense interactions with the environment through I/O devices, namely sensors and actuators. Interrupts are often used by the operating systems to handle these interactions through executing the corresponding interrupt service routines (ISRs). ISRs are usually executed non-preemptively at some priorities higher than system tasks. Depending on the interrupt frequency, this prioritization can result in problems like unresponsiveness and unpredictability in the system, even for the high priority tasks. This incurs a type of priority inversion which we call it ISR-task priority inversion (ITPI). This paper uses threaded interrupts and employs the priority inheritance protocol (PIP) to enforce each interrupt service thread (IST) to be executed at its owner's priority, causing less interference with higher priority tasks. Two PIP-based approaches are proposed and implemented: 1) Static priority linked list, which uses PIP only when a task starts; experimental results show that this approach can tolerate some simple forms of ITPI, and 2) Dynamic priority bitmap, which employs PIP whenever a task needs an IST; experiments show that more complex forms of ITPI can be tolerated with this approach. The almost extensive experimental results show that using the dynamic priority approach enhances the real-time system predictability compared to the common approaches.
实时操作系统的可预测中断管理策略
实时操作系统在当今许多嵌入式系统的开发中扮演着重要的角色。这些嵌入式系统中的大多数都通过I/O设备(即传感器和执行器)与环境进行强烈的交互。操作系统通常使用中断来通过执行相应的中断服务例程(isr)来处理这些交互。isr通常在高于系统任务的优先级上非抢占执行。根据中断频率的不同,这种优先级可能导致系统中的无响应性和不可预测性等问题,即使对于高优先级任务也是如此。这导致了一种优先级反转,我们称之为isr -任务优先级反转(ITPI)。本文使用线程中断,并采用优先级继承协议(PIP)强制每个中断服务线程(IST)以其所有者的优先级执行,从而减少对高优先级任务的干扰。提出并实现了两种基于PIP的方法:1)静态优先级链表,仅在任务启动时使用PIP;实验结果表明,该方法可以容忍一些简单形式的ITPI; 2)动态优先级位图,在任务需要IST时使用PIP;实验表明,这种方法可以耐受更复杂形式的ITPI。大量的实验结果表明,与常用方法相比,采用动态优先级方法可以提高系统的实时可预测性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信