一种基于信息共享处理机制的分区操作系统时间监控方法

文档序号:9646510阅读:454来源:国知局
一种基于信息共享处理机制的分区操作系统时间监控方法
【技术领域】
[0001]本发明属于嵌入式实时操作系统开发领域,具体涉及一种基于信息共享处理机制的分区操作系统时间监控方法。
【背景技术】
[0002]随着综合化、模块化系统的发展,嵌入式操作系统从单一平板式结构的操作系统,发展到复杂的多分区结构的操作系统。在分区操作系统中,存在两个层次的调度。
[0003]在核心中,多个分区按照调度表配置分配的时间顺序运行,在一个分区时间窗口运行完成后,会切换到下一个分区运行;
[0004]在分区中,分区中的进程采用基于优先级的调度算法,分区内虚中断也会占用分区的运行时间,进程和虚中断无法感知在其运行时间是否发生了分区切换。时间对嵌入式应用是极其关键的资源,嵌入式系统开发者通常很关心分区和分区内进程、虚中断的执行时间,需要通过时间监控数据获取系统的真实运行信息。对于分区操作系统,由于分区内进程、虚中断无法感知核心中分区的切换,给监控分区内的进程、虚中断真实运行时间带来了困难。

【发明内容】

[0005]为了解决【背景技术】中的问题,本发明提供一种使系统开发者可以获取分区及分区内进程、虚中断的时间监控数据的基于信息共享处理机制的分区操作系统时间监控方法。
[0006]本发明的具体技术方案:
[0007]1)在操作系统核心初始化阶段为每个分区分配一个供核心和分区共同访问的共享数据块;所述共享数据块用于每个分区的分区外运行时间、分区的本次切入时间;
[0008]2)在分区初始化过程中,初始化累积器资源;所述累积器资源包括用于记录一个分区运行时间同时记录分区的上一次更新时间的分区累积器,用于记录一个虚中断运行时间的虚中断累积器,用于记录多个进程运行时间的多个进程累积器;
[0009]3)计算分区外运行时间;
[0010]3.1)获取分区切出时间
[0011]在核心操作系统运行中,当发生分区切换时,对于每一个分区,核心操作系统记录此分区上一次切出的时间;
[0012]3.2)获取分区本次切入时间
[0013]当再次切入此分区时,核心操作系统记录切入此分区的本次切入时间;
[0014]3.3)计算分区外运行时间;
[0015]根据分区上一次切出的时间和分区的本次切入时间,计算此分区的分区外运行时间;
[0016]4)将此分区外运行时间,分区的本次切入时间记录到此分区对应的共享数据块上;
[0017]5)对分区内运行实体进行时间监控;所述运行实体包括分区本体、分区内进程以及分区内虚中断
[0018]A、分区内进程的时间监控;
[0019]在分区操作系统运行中,当进程发生切换时,首先查询步骤4)所述的共享数据块中记录的分区外运行时间,判断是否发生了分区切换;
[0020]若未发生分区切换,则根据进程开始运行时间和进程结束时间,求差算出分区内进程的本次运行时间;将分区内进程的本次运行时间增加到进程累积器中;
[0021]若发生了分区切换,则对本次运行时间进行修正,将分区内进程的本次运行时间减去分区外运行时间;将修正后的分区内进程的本次运行时间增加到进程累积器中;
[0022]B、分区内虚中断的时间监控;
[0023]在分区操作系统运行中,当切换到虚中断处理时,记录虚中断处理的开始时间,退出虚中断时,记录结束时间;
[0024]若未发生分区切换,根据结束时间和开始时间计算本次虚中断处理时间;
[0025]若发生分区切换,则根据虚中断开始时间和结束时间,求差算出分区内虚中断本次运行时间;将分区内虚中断本次运行时间增加到虚中断累积器中;
[0026]C、对分区运行时间进行监控;
[0027]在分区操作系统运行中,在进程或虚中断发生切换时,检查是否发生分区切换,如果发生了分区切换,则同时对分区本次运行时间进行计算;具体如下:
[0028]通过分区累计器内的上一次分区的更新时间、步骤3)所述的分区外运行时间和当前时间进行计算,公式为:
[0029]分区本次运行时间=(当前时间)_(上一次分区的更新时间)_(分区外运行时间)
[0030]将分区本次运行时间增加到分区累积器中;
[0031]6)重复步骤3)至步骤5),实现对操作系统内所有分区、分区内进程和分区内虚中断的事件监控。
[0032]本发明的优点在于:
[0033]1、本发明的方法实现了对分区、分区内进程和虚中断运行时间的时间监控,帮助嵌入式实时操作系统开发者从运行时间角度获取系统真实运行信息。
【附图说明】
[0034]图1计算分区外运行时间的示意图。
[0035]图2核心和分区通过共享数据块完成时间监控信息传递的示意图。
[0036]图3分区内进程、分区内虚中断时间监控流程图。
【具体实施方式】
[0037]本发明提供了一种基于信息共享处理机制的分区操作系统时间监控方法,该方法的具体步骤是:
[0038]1)在操作系统核心初始化阶段为每个分区分配一个供核心和分区共同访问的共享数据块;所述共享数据块用于每个分区的分区外运行时间、分区的本次切入时间;
[0039]2)在分区初始化过程中,初始化累积器资源;所述累积器资源包括用于记录一个分区运行时间同时记录分区的上一次更新时间的分区累积器,用于记录一个虚中断运行时间的虚中断累积器,用于记录多个进程运行时间的多个进程累积器;
[0040]3)计算分区外运行时间;
[0041]3.1)获取分区切出时间
[0042]在核心操作系统运行中,当发生分区切换时,对于每一个分区,核心操作系统记录此分区上一次切出的时间;
[0043]3.2)获取分区本次切入时间
[0044]当再次切入此分区时,核心操作系统记录切入此分区的本次切入时间;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1