法律状态公告日
法律状态信息
法律状态
2017-11-28
授权
授权
2016-04-13
实质审查的生效 IPC(主分类):G06F11/30 申请日:20151208
实质审查的生效
2016-03-16
公开
公开
技术领域
本发明属于嵌入式实时操作系统开发领域,具体涉及一种基于信息 共享处理机制的分区操作系统时间监控方法。
背景技术
随着综合化、模块化系统的发展,嵌入式操作系统从单一平板式结 构的操作系统,发展到复杂的多分区结构的操作系统。在分区操作系统 中,存在两个层次的调度。
在核心中,多个分区按照调度表配置分配的时间顺序运行,在一个 分区时间窗口运行完成后,会切换到下一个分区运行;
在分区中,分区中的进程采用基于优先级的调度算法,分区内虚中 断也会占用分区的运行时间,进程和虚中断无法感知在其运行时间是否 发生了分区切换。时间对嵌入式应用是极其关键的资源,嵌入式系统开 发者通常很关心分区和分区内进程、虚中断的执行时间,需要通过时间 监控数据获取系统的真实运行信息。对于分区操作系统,由于分区内进 程、虚中断无法感知核心中分区的切换,给监控分区内的进程、虚中断 真实运行时间带来了困难。
发明内容
为了解决背景技术中的问题,本发明提供一种使系统开发者可以获 取分区及分区内进程、虚中断的时间监控数据的基于信息共享处理机制 的分区操作系统时间监控方法。
本发明的具体技术方案:
1)在操作系统核心初始化阶段为每个分区分配一个供核心和分区共 同访问的共享数据块;所述共享数据块用于每个分区的分区外运行时间、 分区的本次切入时间;
2)在分区初始化过程中,初始化累积器资源;所述累积器资源包 括用于记录一个分区运行时间同时记录分区的上一次更新时间的分区累 积器,用于记录一个虚中断运行时间的虚中断累积器,用于记录多个进 程运行时间的多个进程累积器;
3)计算分区外运行时间;
3.1)获取分区切出时间
在核心操作系统运行中,当发生分区切换时,对于每一个分区,核 心操作系统记录此分区上一次切出的时间;
3.2)获取分区本次切入时间
当再次切入此分区时,核心操作系统记录切入此分区的本次切入时 间;
3.3)计算分区外运行时间;
根据分区上一次切出的时间和分区的本次切入时间,计算此分区的 分区外运行时间;
4)将此分区外运行时间,分区的本次切入时间记录到此分区对应的 共享数据块上;
5)对分区内运行实体进行时间监控;所述运行实体包括分区本体、 分区内进程以及分区内虚中断
A、分区内进程的时间监控;
在分区操作系统运行中,当进程发生切换时,首先查询步骤4)所述 的共享数据块中记录的分区外运行时间,判断是否发生了分区切换;
若未发生分区切换,则根据进程开始运行时间和进程结束时间,求 差算出分区内进程的本次运行时间;将分区内进程的本次运行时间增加 到进程累积器中;
若发生了分区切换,则对本次运行时间进行修正,将分区内进程的 本次运行时间减去分区外运行时间;将修正后的分区内进程的本次运行 时间增加到进程累积器中;
B、分区内虚中断的时间监控;
在分区操作系统运行中,当切换到虚中断处理时,记录虚中断处理 的开始时间,退出虚中断时,记录结束时间;
若未发生分区切换,根据结束时间和开始时间计算本次虚中断处理 时间;
若发生分区切换,则根据虚中断开始时间和结束时间,求差算出分 区内虚中断本次运行时间;将分区内虚中断本次运行时间增加到虚中断 累积器中;
C、对分区运行时间进行监控;
在分区操作系统运行中,在进程或虚中断发生切换时,检查是否发 生分区切换,如果发生了分区切换,则同时对分区本次运行时间进行计 算;具体如下:
通过分区累计器内的上一次分区的更新时间、步骤3)所述的分区外 运行时间和当前时间进行计算,公式为:
分区本次运行时间=(当前时间)-(上一次分区的更新时间)-(分 区外运行时间)
将分区本次运行时间增加到分区累积器中;
6)重复步骤3)至步骤5),实现对操作系统内所有分区、分区内进 程和分区内虚中断的事件监控。
本发明的优点在于:
1、本发明的方法实现了对分区、分区内进程和虚中断运行时间的时 间监控,帮助嵌入式实时操作系统开发者从运行时间角度获取系统真实 运行信息。
附图说明
图1计算分区外运行时间的示意图。
图2核心和分区通过共享数据块完成时间监控信息传递的示意图。
图3分区内进程、分区内虚中断时间监控流程图。
具体实施方式
本发明提供了一种基于信息共享处理机制的分区操作系统时间监控 方法,该方法的具体步骤是:
1)在操作系统核心初始化阶段为每个分区分配一个供核心和分区共 同访问的共享数据块;所述共享数据块用于每个分区的分区外运行时间、 分区的本次切入时间;
2)在分区初始化过程中,初始化累积器资源;所述累积器资源包 括用于记录一个分区运行时间同时记录分区的上一次更新时间的分区累 积器,用于记录一个虚中断运行时间的虚中断累积器,用于记录多个进 程运行时间的多个进程累积器;
3)计算分区外运行时间;
3.1)获取分区切出时间
在核心操作系统运行中,当发生分区切换时,对于每一个分区,核 心操作系统记录此分区上一次切出的时间;
3.2)获取分区本次切入时间
当再次切入此分区时,核心操作系统记录切入此分区的本次切入时 间;
3.3)计算分区外运行时间;
根据分区上一次切出的时间和分区的本次切入时间,计算此分区的 分区外运行时间;
4)将此分区外运行时间,分区的本次切入时间记录到此分区对应的 共享数据块上;设置为更新状态,让分区内的进程或虚中断可以获知分 区切换的信息。共享数据块上的分区外运行时间会进行累计,当分区内 运行实体(进程或虚中断)读取此数据后,会将共享数据块中记录的数 据清除。
5)对分区内运行实体进行时间监控;所述运行实体包括分区本体、 分区内进程以及分区内虚中断
A、分区内进程的时间监控;
在分区操作系统运行中,当进程发生切换时,首先查询步骤4)所述 的共享数据块中记录的分区外运行时间,判断是否发生了分区切换;
若未发生分区切换,则根据进程开始运行时间和进程结束时间,求 差算出分区内进程的本次运行时间;将分区内进程的本次运行时间增加 到进程累积器中;
若发生了分区切换,则对本次运行时间进行修正,将分区内进程的 本次运行时间减去分区外运行时间;将修正后的分区内进程的本次运行 时间增加到进程累积器中;
B、分区内虚中断的时间监控;
在分区操作系统运行中,当切换到虚中断处理时,记录虚中断处理 的开始时间,退出虚中断时,记录结束时间;
若未发生分区切换,根据结束时间和开始时间计算本次虚中断处理 时间;
若发生分区切换,则根据虚中断开始时间和结束时间,求差算出分 区内虚中断本次运行时间;将分区内虚中断本次运行时间增加到虚中断 累积器中;
C、对分区运行时间进行监控;
在分区操作系统运行中,在进程或虚中断发生切换时,检查是否发 生分区切换,如果发生了分区切换,则同时对分区本次运行时间进行计 算;具体如下:
通过分区累计器内的上一次分区的更新时间、步骤3)所述的分区外 运行时间和当前时间进行计算,公式为:
分区本次运行时间=(当前时间)-(上一次分区的更新时间)-(分 区外运行时间)
将分区本次运行时间增加到分区累积器中。
6)重复步骤3)至步骤5),实现对操作系统内所有分区、分区内进 程和分区内虚中断的事件监控。
机译: 该文件描述了用于执行仓库分区并进一步监视分区仓库的设备和相应方法。该设备包括电路,该电路基于工作空间的面积将工作空间划分为多个区域,以及要在工作空间中部署的许多运输车辆和许多物品架子。基于布置在工作空间外部的第一类型的站的位置来确定工作空间内的每个区域的位置。设备为每个区域确定该区域的一个区域,并接收指示其中一个区域中发生事件的信号。此外,该设备确定指示该区域中的工作空间的操作是否可以继续的发生的事件的关键度,并且基于所确定的关键度在某个时间开始操作。
机译: 信息共享站点,信息共享站点的操作方法以及具有其中存储的信息共享站点的操作程序的存储介质
机译: PDA与通信模块系统时间信息共享的方法