1.本发明涉及任务调度技术领域,具体地,涉及一种基于可信区域的双操作系统混合实时任务调度方法和系统。
背景技术:2.近年来,随着嵌入式系统与信息技术的不断发展,相关领域对嵌入式系统提出了更高的要求。在如车载系统等嵌入式系统中,既要系统提供通用的系统服务满足用户的要求,又要保证关键系统的正常运行,这内在要求通用系统与关键系统之间的分离。目前国内外通常使用虚拟化技术、基于多核cpu的隔离技术和硬件辅助隔离技术等进行系统隔离。这些技术中,以trustzone技术为代表的硬件辅助隔离技术表现较为突出,该技术通过硬件扩展将整个系统资源划分为两个不同的区域,从而保证了两个运行在不同区域的系统之间相互隔离。
3.trustzone的中文含义是可信区域。trustzone技术是arm公司为增加电子设备安全所提出的一种安全架构,它是在尽量不影响原有处理器设计的情况下提高系统的安全性。trustzone硬件架构扩展将安全性植入处理器中,这样为将安全性从普通操作系统(rich os,ros)中分离出来提供了基础,即可以实现一个新的安全操作系统(trusted os,tos),并加入安全监控器(securitymonitor)实现ros和tos之间的切换。tos和ros同时运行在同一个物理cpu上,它们之间的交互限制在消息传递和共享内存传递数据。tos有独立的异常处理、调度、应用程序、线程、驱动程序和内存管理页表。安全监控器负责管理两个系统间的切换,并在两个系统过渡期间存储和恢复两个环境下寄存器的状态,并保证过渡到新环境下系统能够重新执行。
4.arm trustzone技术会在arm处理器的el3模式中运行名为安全监控器的程序,用于实现安全世界与普通世界之间的切换。进入监视器的方式有多种,包括以软件的方式利用smc(secure monitor call)指令进入监视器和通过硬件异常机制进入,例如irq(interrupt request)、fiq(fast interrupt request)、外部数据异常以及外部预取异常等。运行于el3模式下的监视器负责保存当前世界的上下文,并载入另一个世界的上下文。arm trustzone技术的简要模型如图1所示。arm trustzone允许irq和fiq等硬件中断在监视器模式下被处理。arm推荐将irq作为普通世界的中断源,将fiq作为安全世界的中断源。当中断到来时,如果处理器正运行在相应的世界,则不会进入监视器,中断在当前世界得到响应;如果处理器运行在另一个世界,则会由监控器响应中断,并将该终端路由至对应的世界进行处理。
5.专利文献cn103440200a(申请号:cn201310399154.8)公开了一种基于双操作系统的高实时大数据量测试回放方法,解决高实时大数据量测试回放的难题,首先数据生产节点申请数据缓存区,数据消费者节点申请数据缓存区、初始化所有缓存区,找数据文件并获取数据到缓存区中,初始化网络连接,数据消费节点向数据生产节点请求数据,数据生产节点向数据消费节点返回数据,数据消费节点按照任务调度要求从缓存中取数。
6.国防科技大学基于trustzone技术提出的一种双操作系统架构tzdks(trustzone-baseddual-kernelsystem),该系统的整体结构如图2所示。在tzdks中,实时操作系统运行于安全域,通用操作系统运行于普通域。整个系统由位于el3模式的监控器(monitor)负责切换执行区域。为保证系统的性能和安全性,tzdks利用trustzone技术在安全域内添加了安全时钟,实时操作系统由安全时钟驱动,通用操作系统由普通时钟驱动。在普通区域中,通用应用可通过tzapilibrary调用tz驱动与实时操作系统中的任务通信。为保证安全性,每次通信均需经由监控器传递才可实现。系统将中断分为安全中断和普通中断两种,其中安全中断由安全域处理,普通中断由普通域处理,为保证系统的实时响应能力,当系统在安全域运行时,不响应包括普通时钟中断在内的普通中断。
7.为保证实时操作系统的执行时间确定性,rtos内所有任务的优先级均高于gpos。当且仅当实时操作系统内除idle任务外没有其它就绪任务时,系统才会通过idle任务切换至普通域执行。这样做虽然可以保证实时操作系统的实时性,但牺牲了通用操作系统的性能,降低了普通域的处理能力,最坏情况下,可能会影响系统的正常运行。
技术实现要素:8.针对现有技术中的缺陷,本发明的目的是提供一种基于可信区域的双操作系统混合实时任务调度方法和系统。
9.根据本发明提供的基于可信区域的双操作系统混合实时任务调度方法,包括:
10.步骤1:在支持可信区域trustzone技术的硬件平台上构建双操作系统环境,在常规环境中运行国产通用操作系统,负责处理通用计算任务,在隔离环境中运行国产嵌入式实时操作系统,负责处理实时响应任务;
11.步骤2:通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq;
12.步骤3:对两个操作系统中的执行任务的优先级分别采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配;
13.步骤4:将通用操作系统中的非实时任务和软件实时任务作为通用操作系统的容器在实时操作系统中参与调度;
14.步骤5:优先执行实时操作系统中高优先级的实时任务,当系统内没有高于软件实时任务优先级的实时任务需要运行时,将通过软件实时任务使实时操作系统中的低优先级任务与通用操作系统中的软实时任务进行时间片轮转调度。
15.优选的,启动实时操作系统,在启动过程中对实时操作系统的内存、mmu进行初始化,并开始执行隔离环境内的实时响应任务,当调度系统调度到通用操作系统运行时,实时操作系统则切换到常规区域中执行,此时系统将正常启动常规环境内的通用操作系统;
16.系统运行过程中,优先保证隔离环境内实时操作系统的时间确定性,当实时响应任务需要运行时,立刻恢复实时操作系统的运行状态响应实时任务。
17.优选的,通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq,当实时操作系统运行时,设置irq为被屏蔽状态,若此时产生irq,通用操作系统不能对irq进行处理,从而不会中断实时操作系统正在运行的任务,使得实时操作系统中任务的实时性得到保证。
18.优选的,在通用操作系统运行时,设置fiq为开启状态,此时若产生fiq,则中断通用操作系统正在运行的任务,通过监视器切换到实时操作系统,恢复实时操作系统对处理器的控制,对fiq进行处理,进入相应的中断处理程序,从而保证实时操作系统中实时任务的实时性;
19.当有irq和fiq发生时,若系统当前的执行环境与中断类型相对应,则由当前执行环境直接响应中断;若中断类型与当前系统的执行环境不符,则中断将由监视器进行处理,监视器根据中断类型与当前系统所处的执行环境把中断异常路由到正确的执行环境中处理。
20.优选的,针对通用计算任务和实时计算任务,设计出二级调度策略,实现空间和时间的二维混合构建的调度模式;
21.第一级任务调度由实时操作系统的调度系统负责调度,采用优先级调度与时间片轮转调度的调度策略,当区域切换管理任务运行时,通过安全监控模式smc调用指令使系统切换至常规环境中运行;
22.第二级任务调度工作过程中,根据不同应用属性配置相应的调度策略,其中,隔离环境运行的实时操作系统按照优先级调度算法来实现任务的调度,在优先级调度基础上采用时间片轮转机制进行辅助;常规环境采用linux内核的基于优先级的进程调度机制,任务的优先级采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配。
23.根据本发明提供的基于可信区域的双操作系统混合实时任务调度方法,包括:
24.模块m1:在支持可信区域trustzone技术的硬件平台上构建双操作系统环境,在常规环境中运行国产通用操作系统,负责处理通用计算任务,在隔离环境中运行国产嵌入式实时操作系统,负责处理实时响应任务;
25.模块m2:通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq;
26.模块m3:对两个操作系统中的执行任务的优先级分别采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配;
27.模块m4:将通用操作系统中的非实时任务和软件实时任务作为通用操作系统的容器在实时操作系统中参与调度;
28.模块m5:优先执行实时操作系统中高优先级的实时任务,当系统内没有高于软件实时任务优先级的实时任务需要运行时,将通过软件实时任务使实时操作系统中的低优先级任务与通用操作系统中的软实时任务进行时间片轮转调度。
29.优选的,启动实时操作系统,在启动过程中对实时操作系统的内存、mmu进行初始化,并开始执行隔离环境内的实时响应任务,当调度系统调度到通用操作系统运行时,实时操作系统则切换到常规区域中执行,此时系统将正常启动常规环境内的通用操作系统;
30.系统运行过程中,优先保证隔离环境内实时操作系统的时间确定性,当实时响应任务需要运行时,立刻恢复实时操作系统的运行状态响应实时任务。
31.优选的,通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq,当实时操作系统运行时,设置irq为被屏蔽状态,若此时产生irq,通用操作系统不能对irq进行处理,从而不会中断实时操作系统正在运行的任务,使得实时操作系统中任务的实时性得到保证。
32.优选的,在通用操作系统运行时,设置fiq为开启状态,此时若产生fiq,则中断通用操作系统正在运行的任务,通过监视器切换到实时操作系统,恢复实时操作系统对处理器的控制,对fiq进行处理,进入相应的中断处理程序,从而保证实时操作系统中实时任务的实时性;
33.当有irq和fiq发生时,若系统当前的执行环境与中断类型相对应,则由当前执行环境直接响应中断;若中断类型与当前系统的执行环境不符,则中断将由监视器进行处理,监视器根据中断类型与当前系统所处的执行环境把中断异常路由到正确的执行环境中处理。
34.优选的,针对通用计算任务和实时计算任务,设计出二级调度策略,实现空间和时间的二维混合构建的调度模式;
35.第一级任务调度由实时操作系统的调度系统负责调度,采用优先级调度与时间片轮转调度的调度策略,当区域切换管理任务运行时,通过安全监控模式smc调用指令使系统切换至常规环境中运行;
36.第二级任务调度工作过程中,根据不同应用属性配置相应的调度策略,其中,隔离环境运行的实时操作系统按照优先级调度算法来实现任务的调度,在优先级调度基础上采用时间片轮转机制进行辅助;常规环境采用linux内核的基于优先级的进程调度机制,任务的优先级采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配。
37.与现有技术相比,本发明具有如下的有益效果:
38.(1)本发明利用arm trustzone技术实现硬件隔离,使得该架构不受处理器核心数量的约束,结合本发明的系统调度机制,实现了gpos和rtos之间的多级任务混合调度机制,经过可确定性技术分析和设计,能保证多级混合任务的可调度性;
39.(2)本发明的调度策略可在不影响系统实时响应能力的前提下有效降低双操作系统架构对通用操作系统的影响,同时兼顾了系统安全访问能力。
附图说明
40.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
41.图1为arm trustzone模型示意图;
42.图2为tzdks的整体结构示意图;
43.图3为构建的双操作系统环境架构示意图;
44.图4为第一级调度策略下系统的执行流程图。
具体实施方式
45.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
46.实施例:
47.本发明的目的是在保证隔离环境中实时操作系统的时间确定性的前提下,尽可能
降低该架构对常规环境中通用操作系统性能的影响。因此该调度策略应在不影响实时响应任务的情况下提升系统切换到常规环境执行的频率,使常规环境内的通用操作系统可以快速响应并处理中断及软实时任务。由于trustzone技术要求处于el3的监视器(monitor)尽可能简单且能快速执行两个执行环境间的切换,故第一级调度不适宜由监视器承担。在实现多级任务混合调度策略时,可由隔离环境中实时操作系统内部的调度系统同时负责第一级调度策略即执行环境间的调度与第二级调度中实时响应任务的调度。具体的实现思路是在实时操作系统中建立区域切换管理任务作为通用操作系统的容器在实时操作系统内部参与调度。
48.为满足实时任务与通用计算任务之间的隔离及后续二级混合调度算法的要求,首先需要将实时操作系统(国产锐华嵌入式操作系统)移植到隔离环境中。移植后的系统架构如图3所示。
49.该系统架构基于trustzone技术将系统的软硬件资源划分为常规环境和隔离环境两部分。常规环境中运行国产通用操作系统,负责处理通用计算任务,隔离环境中运行锐华嵌入式实时操作系统,负责处理实时响应任务。整个系统由位于el3的监视器(monitor)负责切换执行区域。为保证两个执行环境间的独立性,系统利用trustzone技术及国产硬件平台特有的双时钟架构为两个操作系统分别配置了独立的时钟源,其中普通时钟负责驱动通用操作系统运行,安全时钟负责驱动实时操作系统运行。
50.系统启动后,为保证安全性及实时操作系统的时间确定性,将首先启动实时操作系统,实时操作系统在启动过程中将对系统的内存、mmu等进行初始化,并开始执行隔离环境内的实时响应任务。当调度系统调度到通用操作系统运行时,实时操作系统会切换到常规区域中执行,此时系统将正常启动常规环境内的通用操作系统。
51.系统运行过程中,优先保证隔离环境内实时操作系统的时间确定性,当实时响应任务需要运行时,应立刻恢复实时操作系统的运行状态响应实时任务。为此,需要对整个系统的中断响应机制做出改进。通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq。当实时操作系统运行时,设置irq为被屏蔽状态。若此时产生irq,通用操作系统不能对irq进行处理,从而不会中断实时操作系统正在运行的任务,使得实时操作系统中任务的实时性得到保证。而在通用操作系统运行时,设置fiq为开启状态。此时若产生fiq,则会中断通用操作系统正在运行的任务,通过监视器切换到实时操作系统,恢复实时操作系统对处理器的控制,对fiq进行处理,进入相应的中断处理程序,从而保证实时操作系统中实时任务的实时性。
52.当有irq和fiq发生时,若系统当前的执行环境与中断类型相对应(如发生irq中断时,系统处于常规执行环境),则由当前执行环境直接响应中断。若中断类型与当前系统的执行环境不符(如发生irq中断时,系统处于隔离执行环境),则中断将由监视器进行处理,监视器会根据中断类型与当前系统所处的执行环境把中断异常路由到正确的执行环境中处理。
53.为了在保证隔离环境中实时操作系统的时间确定性的前提下,尽可能降低该架构对常规环境中通用操作系统性能的影响,针对通用计算任务和实时计算任务,设计出二级调度策略,实现空间和时间的二维混合构建的调度模式。
54.第一级任务调度由实时操作系统的调度系统负责调度,采用优先级调度与时间片轮转调度的调度策略。本调度策略中,存在两个分别名为b任务和g任务的区域切换管理任务,它们作为通用操作系统的容器在实时操作系统中参与调度。当区域切换管理任务运行时,会通过安全监控模式调用(secure monitor call,smc)指令使系统切换至常规环境中运行。其中,b任务处于实时操作系统的最低优先级,作为空闲任务运行;g任务用于降低通用操作系统中软实时任务的处理时间和中断响应时间,提高其服务质量。两个区域切换管理任务的主体基本相同,主要区别在于其所在的优先级及调用方式。g任务的优先级处于实时操作系统中的高关键度任务和低关键度任务之间,为避免实时操作系统的时间确定性受到g任务的影响。g任务将作为周期任务执行,具有可配置的周期和执行时间。
55.第一级调度策略中整个系统的执行流程如图4所示:
56.步骤1:对所有任务确定优先级;
57.步骤2:按优先级执行实时操作系统中高于g任务的任务,直到所有优先级高于g任务的任务执行完后,转步骤3;
58.步骤3:通过g任务使实时操作系统中的低优先级任务与通用操作系统中的软实时任务进行时间片轮转调度执行。若实时操作系统中有任务优先级高于g任务需要执行时,转步骤2;当g任务和实时操作系统中的低优先级任务都执行完后,转步骤4;
59.步骤4:执行通用操作系统中的b任务,即一般任务。若实时操作系统中有任务需要执行时,转步骤2;
60.步骤5:所有任务都执行完后,进入实时操作系统环境,等待任务执行。
61.系统运行过程中将优先执行实时操作系统中高关键度的实时任务,当系统内没有高关键度的实时任务需要运行时,将通过g任务使实时操作系统中的低关键度任务与通用操作系统中的通用计算任务进行时间片轮转调度。其中g任务的执行时间为通用计算任务的时间片,其整个周期的剩余时间为实时操作系统中低关键度任务的时间片。由于g任务的周期及执行时间确定且其每个周期的执行时间较短,故实时操作系统内部的调度系统可确保整个系统的时间确定性不受本调度策略的干扰。
62.第二级任务调度工作过程中,为根据不同应用属性配置相应的调度策略。其中,隔离环境运行的实时操作系统按照优先级调度算法来实现任务的调度,在优先级调度基础上采用时间片轮转机制进行辅助;常规环境采用类似linux内核的基于优先级的进程调度机制。任务的优先级采用audsley的最佳优先级分配(optimal priority assignment,opa)算法对任务进行固定优先级分配。
63.优先级调度算法是按照任务优先级的高低来调度,使优先级高的任务优先得到处理的调度策略。内核保证任何时候cpu总是分配给系统所有就绪、运行任务中优先级最高的任务使用,如果一个更高优先级的任务准备就绪,内核会立刻保存当前运行任务的上下文,并切换到高优先级任务的上下文中执行。相同优先级调度过程中,采用时间片轮转调度策略。时间片轮转调度算法是指操作系统为所有任务提供相同的cpu时间,这段时间称为时间片,任务的调度完全按照系统所分配的时间片来进行,而忽略其优先级,任务运行完指定的时间片后自动让出cpu。时间片轮转调度策略是用于扩充优先级调度算法的,它仅用来调度相同优先级的任务,并不会影响系统的优先级调度,其目的是让相同优先级的任务公平地共享处理器资源。具有相同优先级的所有就绪任务中,每个任务只能运行一段确定的时间,
运行的这段时间间隔称为时间片。任务在运行完一个时间片后,即使没有运行结束,也必须释放处理器来让下一个相同优先级的就绪任务运行(这里假设没有更高优先级的任务就绪),该任务的时间片计数器将清零,并根据优先级把该任务放到同优先级任务队列的尾部,等待再次运行。新创建的相同优先级的任务会放在队列尾部,并且任务的时间片计数器初始值为零。由此可见,系统中没有任何一个任务能一直独占cpu资源直到它被阻塞。
64.根据本发明提供的基于可信区域的双操作系统混合实时任务调度方法,包括:模块m1:在支持可信区域trustzone技术的硬件平台上构建双操作系统环境,在常规环境中运行国产通用操作系统,负责处理通用计算任务,在隔离环境中运行国产嵌入式实时操作系统,负责处理实时响应任务;模块m2:通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq;模块m3:对两个操作系统中的执行任务的优先级分别采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配;模块m4:将通用操作系统中的非实时任务和软件实时任务作为通用操作系统的容器在实时操作系统中参与调度;模块m5:优先执行实时操作系统中高优先级的实时任务,当系统内没有高于软件实时任务优先级的实时任务需要运行时,将通过软件实时任务使实时操作系统中的低优先级任务与通用操作系统中的软实时任务进行时间片轮转调度。
65.启动实时操作系统,在启动过程中对实时操作系统的内存、mmu进行初始化,并开始执行隔离环境内的实时响应任务,当调度系统调度到通用操作系统运行时,实时操作系统则切换到常规区域中执行,此时系统将正常启动常规环境内的通用操作系统;系统运行过程中,优先保证隔离环境内实时操作系统的时间确定性,当实时响应任务需要运行时,立刻恢复实时操作系统的运行状态响应实时任务。通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq,当实时操作系统运行时,设置irq为被屏蔽状态,若此时产生irq,通用操作系统不能对irq进行处理,从而不会中断实时操作系统正在运行的任务,使得实时操作系统中任务的实时性得到保证。在通用操作系统运行时,设置fiq为开启状态,此时若产生fiq,则中断通用操作系统正在运行的任务,通过监视器切换到实时操作系统,恢复实时操作系统对处理器的控制,对fiq进行处理,进入相应的中断处理程序,从而保证实时操作系统中实时任务的实时性;当有irq和fiq发生时,若系统当前的执行环境与中断类型相对应,则由当前执行环境直接响应中断;若中断类型与当前系统的执行环境不符,则中断将由监视器进行处理,监视器根据中断类型与当前系统所处的执行环境把中断异常路由到正确的执行环境中处理。针对通用计算任务和实时计算任务,设计出二级调度策略,实现空间和时间的二维混合构建的调度模式;第一级任务调度由实时操作系统的调度系统负责调度,采用优先级调度与时间片轮转调度的调度策略,当区域切换管理任务运行时,通过安全监控模式smc调用指令使系统切换至常规环境中运行;第二级任务调度工作过程中,根据不同应用属性配置相应的调度策略,其中,隔离环境运行的实时操作系统按照优先级调度算法来实现任务的调度,在优先级调度基础上采用时间片轮转机制进行辅助;常规环境采用linux内核的基于优先级的进程调度机制,任务的优先级采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配。
66.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系
统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
67.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
技术特征:1.一种基于可信区域的双操作系统混合实时任务调度方法,其特征在于,包括:步骤1:在支持可信区域trustzone技术的硬件平台上构建双操作系统环境,在常规环境中运行国产通用操作系统,负责处理通用计算任务,在隔离环境中运行国产嵌入式实时操作系统,负责处理实时响应任务;步骤2:通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq;步骤3:对两个操作系统中的执行任务的优先级分别采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配;步骤4:将通用操作系统中的非实时任务和软件实时任务作为通用操作系统的容器在实时操作系统中参与调度;步骤5:优先执行实时操作系统中高优先级的实时任务,当系统内没有高于软件实时任务优先级的实时任务需要运行时,将通过软件实时任务使实时操作系统中的低优先级任务与通用操作系统中的软实时任务进行时间片轮转调度。2.根据权利要求1所述的基于可信区域的双操作系统混合实时任务调度方法,其特征在于,启动实时操作系统,在启动过程中对实时操作系统的内存、mmu进行初始化,并开始执行隔离环境内的实时响应任务,当调度系统调度到通用操作系统运行时,实时操作系统则切换到常规区域中执行,此时系统将正常启动常规环境内的通用操作系统;系统运行过程中,优先保证隔离环境内实时操作系统的时间确定性,当实时响应任务需要运行时,立刻恢复实时操作系统的运行状态响应实时任务。3.根据权利要求1所述的基于可信区域的双操作系统混合实时任务调度方法,其特征在于,通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq,当实时操作系统运行时,设置irq为被屏蔽状态,若此时产生irq,通用操作系统不能对irq进行处理,从而不会中断实时操作系统正在运行的任务,使得实时操作系统中任务的实时性得到保证。4.根据权利要求3所述的基于可信区域的双操作系统混合实时任务调度方法,其特征在于,在通用操作系统运行时,设置fiq为开启状态,此时若产生fiq,则中断通用操作系统正在运行的任务,通过监视器切换到实时操作系统,恢复实时操作系统对处理器的控制,对fiq进行处理,进入相应的中断处理程序,从而保证实时操作系统中实时任务的实时性;当有irq和fiq发生时,若系统当前的执行环境与中断类型相对应,则由当前执行环境直接响应中断;若中断类型与当前系统的执行环境不符,则中断将由监视器进行处理,监视器根据中断类型与当前系统所处的执行环境把中断异常路由到正确的执行环境中处理。5.根据权利要求1所述的基于可信区域的双操作系统混合实时任务调度方法,其特征在于,针对通用计算任务和实时计算任务,设计出二级调度策略,实现空间和时间的二维混合构建的调度模式;第一级任务调度由实时操作系统的调度系统负责调度,采用优先级调度与时间片轮转调度的调度策略,当区域切换管理任务运行时,通过安全监控模式smc调用指令使系统切换至常规环境中运行;第二级任务调度工作过程中,根据不同应用属性配置相应的调度策略,其中,隔离环境运行的实时操作系统按照优先级调度算法来实现任务的调度,在优先级调度基础上采用时
间片轮转机制进行辅助;常规环境采用linux内核的基于优先级的进程调度机制,任务的优先级采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配。6.一种基于可信区域的双操作系统混合实时任务调度系统,其特征在于,包括:模块m1:在支持可信区域trustzone技术的硬件平台上构建双操作系统环境,在常规环境中运行国产通用操作系统,负责处理通用计算任务,在隔离环境中运行国产嵌入式实时操作系统,负责处理实时响应任务;模块m2:通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq;模块m3:对两个操作系统中的执行任务的优先级分别采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配;模块m4:将通用操作系统中的非实时任务和软件实时任务作为通用操作系统的容器在实时操作系统中参与调度;模块m5:优先执行实时操作系统中高优先级的实时任务,当系统内没有高于软件实时任务优先级的实时任务需要运行时,将通过软件实时任务使实时操作系统中的低优先级任务与通用操作系统中的软实时任务进行时间片轮转调度。7.根据权利要求6所述的基于可信区域的双操作系统混合实时任务调度系统,其特征在于,启动实时操作系统,在启动过程中对实时操作系统的内存、mmu进行初始化,并开始执行隔离环境内的实时响应任务,当调度系统调度到通用操作系统运行时,实时操作系统则切换到常规区域中执行,此时系统将正常启动常规环境内的通用操作系统;系统运行过程中,优先保证隔离环境内实时操作系统的时间确定性,当实时响应任务需要运行时,立刻恢复实时操作系统的运行状态响应实时任务。8.根据权利要求6所述的基于可信区域的双操作系统混合实时任务调度系统,其特征在于,通过配置中断控制器将属于隔离环境的实时操作系统的设备产生的中断配置为fiq,将属于常规环境的通用操作系统的设备产生的中断配置为irq,当实时操作系统运行时,设置irq为被屏蔽状态,若此时产生irq,通用操作系统不能对irq进行处理,从而不会中断实时操作系统正在运行的任务,使得实时操作系统中任务的实时性得到保证。9.根据权利要求8所述的基于可信区域的双操作系统混合实时任务调度系统,其特征在于,在通用操作系统运行时,设置fiq为开启状态,此时若产生fiq,则中断通用操作系统正在运行的任务,通过监视器切换到实时操作系统,恢复实时操作系统对处理器的控制,对fiq进行处理,进入相应的中断处理程序,从而保证实时操作系统中实时任务的实时性;当有irq和fiq发生时,若系统当前的执行环境与中断类型相对应,则由当前执行环境直接响应中断;若中断类型与当前系统的执行环境不符,则中断将由监视器进行处理,监视器根据中断类型与当前系统所处的执行环境把中断异常路由到正确的执行环境中处理。10.根据权利要求6所述的基于可信区域的双操作系统混合实时任务调度系统,其特征在于,针对通用计算任务和实时计算任务,设计出二级调度策略,实现空间和时间的二维混合构建的调度模式;第一级任务调度由实时操作系统的调度系统负责调度,采用优先级调度与时间片轮转调度的调度策略,当区域切换管理任务运行时,通过安全监控模式smc调用指令使系统切换至常规环境中运行;
第二级任务调度工作过程中,根据不同应用属性配置相应的调度策略,其中,隔离环境运行的实时操作系统按照优先级调度算法来实现任务的调度,在优先级调度基础上采用时间片轮转机制进行辅助;常规环境采用linux内核的基于优先级的进程调度机制,任务的优先级采用audsley的最佳优先级分配算法opa对任务进行固定优先级分配。
技术总结本发明提供了一种基于可信区域的双操作系统混合实时任务调度方法和系统,包括:步骤1:在支持可信区域TrustZone技术的硬件平台上构建双操作系统环境;步骤2:修改系统的中断响应机制;步骤3:任务优先级分配;步骤4:双操作系统调度策略配置;步骤5:双操作系统任务调度执行。本发明利用ARM TrustZone技术实现硬件隔离,使得该架构不受处理器核心数量的约束,结合本发明的系统调度机制,实现了GPOS和RTOS之间的多级任务混合调度机制,经过可确定性技术分析和设计,能保证多级混合任务的可调度性。性。性。
技术研发人员:许光泞 谢忱 邓畅
受保护的技术使用者:华东计算技术研究所(中国电子科技集团公司第三十二研究所)
技术研发日:2022.07.04
技术公布日:2022/11/1