发明名称 一种改善嵌入式实时操作系统中断延迟的方法
摘要 本发明公开了一种改善嵌入式实时操作系统中断延迟的方法。该方法先创建系统服务标志、临界区标志、非实时中断标志和待处理中断服务例程环形队列,然后使用特定步骤编写任意的操作系统服务、非实时中断的中断处理程序和操作系统的任务调度,最后将非实时中断的中断处理程序注册到中断向量表,将实时中断的中断服务例程注册到中断向量表。本发明使得操作系统的系统服务的实现过程中永远不执行关闭中断操作,可以缩短最大中断禁止时间,减少中断延迟,从而提高嵌入式实时操作系统的实时性。本发明实现中断管理所需要的时间开销和空间开销很少,非常适合微内核嵌入式实时操作系统。
申请公布号 CN101639791B 申请公布日期 2012.12.05
申请号 CN200910101891.9 申请日期 2009.08.31
申请人 浙江大学 发明人 李红;吴朝晖;张培锋;张吕红;周霖;周丽;杨国青
分类号 G06F9/48(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 林怀禹
主权项 一种改善嵌入式实时操作系统中断延迟的方法,其特征在于该方法的步骤如下:1)创建一个系统服务标志,一个临界区标志,一个非实时中断标志和一个待处理中断服务例程环形队列;2)使用如下的流程编写任意的操作系统服务:(2.1)设置系统服务标志;(2.2)如果本系统服务是在非实时中断的中断处理程序中调用的,此时非实时中断标志被置位,则进入步骤(2.3),否则跳转到步骤(2.8);(2.3)设置临界区标志;(2.4)访问操作系统的内核数据结构完成本系统服务的功能;(2.5)重置临界区标志;(2.6)重置系统服务标志;(2.7)跳转到步骤(2.13);(2.8)设置临界区标志;(2.9)访问操作系统的内核数据结构完成本系统服务的功能;(2.10)重置临界区标志;(2.11)按照先到先服务策略调用待处理中断服务例程环形队列中的中断服务例程;(2.12)执行操作系统任务调度;(2.13)结束该操作系统服务操作并返回;3)使用如下的流程实现操作系统的任务调度:(3.1)查找下一个被执行的任务并切换任务上下文;(3.2)重置系统服务标志、临界区标志和非实时中断标志,清空待处理中断服务例程环形队列;4)使用如下的流程编写任意的非实时中断的中断处理程序:(4.1)设置非实时中断标志;(4.2)如果系统服务标志没有被置位,则进入步骤(4.3),否则跳转到步骤(4.4);(4.3)保存操作系统上下文切换相关信息;(4.4)如果临界区标志被置位或者待处理中断服务例程环形队列非空,则进入步骤(4.5),否则跳转到步骤(4.7);(4.5)将本中断处理程序对应的中断服务例程加入待处理中断服务例程环形队列;(4.6)屏蔽本中断并跳转到步骤(4.8);(4.7)直接调用本中断处理程序对应的中断服务例程;(4.8)重置非实时中断标志;(4.9)如果系统服务标志没有被置位,则使用步骤(4.3)保存的上下文信息进行操作系统任务调度;(4.10)结束该中断处理程序并返回;5)将非实时中断的中断处理程序注册到中断向量表,将实时中断的中断服务例程注册到中断向量表。
地址 310027 浙江省杭州市西湖区浙大路38号