System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向多核处理器的分区操作系统确定性调度方法技术方案_技高网

一种面向多核处理器的分区操作系统确定性调度方法技术方案

技术编号:40644208 阅读:5 留言:0更新日期:2024-03-13 21:24
本发明专利技术属于处理器分区调度技术领域,具体涉及一种面向多核处理器的分区操作系统确定性调度方法,调度过程由分区间调度、分区内调度结合实现;分区间调度为基于静态配置的分区时间调度表的时间片轮转调度,分区内调度为基于优先级抢占的任务调度;分区操作系统架构分为核心操作系统及分区操作系统;核心操作系统提供CPU目标平台的资源管理和分区管理。本发明专利技术设计了由分区间调度、分区内调度结合实现的面向多核处理器的分区操作系统确定性调度方法,有效解决了分区操作系统在多核处理器平台上执行多分区多任务调度的多核调度确定性问题,取得了优异的效果。

【技术实现步骤摘要】

本专利技术属于处理器分区调度,具体涉及一种面向多核处理器的分区操作系统确定性调度方法


技术介绍

1、随着微电子技术与航空航天产业的飞速发展,航天电子系统正在持续不断地向着综合化与模块化的方向快速发展。未来海量低轨卫星平台对星载计算机提出了高性能,高集成度,高可靠性和自主可控的需求。由于单核处理器的性能瓶颈及复杂航天电子系统对高可靠高安全的需求,使用多核分时分区操作系统是一个必然的趋势。

2、多核分时分区操作系统中分区有两层概念,一层是空间分区,另一层是时间分区。空间分区可以将内存划分为互不重叠的内存区域,使得每个分区都有自己独有的存储空间,程序在分区中运行在独有存储空间中,从而减少不同分区内程序之间的相互干扰。时间分区是指系统时间被分为多个时间窗口,每个分区占用至少一个时间窗口。通过时间分区的方法使得不同分区运行时间可预测,提高分区内程序运行的实时性、准确性、可预测性。

3、处理器从单核发展成为多核的过程中,一方面提升了设备处理的性能,但另一方面,多核的使用也使得系统在总线,内存等共享资源上存在竞争,任务在多核上的并发执行等一系列问题使得操作系统存在不确定性的问题,对设备的可靠性,安全性,实时性产生巨大的影响,这导致操作系统的任务执行的确定性在多核上有着巨大的挑战。

4、确定性是一个抽象的概念,多核确定性是指多核并行系统对给定输入的响应必须是可预测的,响应的结果在规定的时间段内产生,并具有一定程度的可重复性。因此,仅当系统满足以下条件,才能认为多核并行系统是确定的:1)行为完整性:指在正常条件下系统能够正确执行,并且在系统发生内部异常时,行为也是可预测的;2)wcet分析:任务的最坏情况执行时间是可预测的;3)资源需求:软件对其运行环境所使用的资源有明确的界限;4)健壮性分区:使用分区架构时,必须保证每个分区的行为和性能不被其他分区影响。

5、本专利技术旨在解决分区操作系统在多核处理器平台上执行多分区多任务调度的多核调度确定性问题。


技术实现思路

1、针对
技术介绍
中提出的问题,本专利技术提出了一种面向多核处理器的分区操作系统确定性调度方法,其包括如下的步骤:

2、调度过程由分区间调度、分区内调度结合实现;

3、所述分区间调度为基于静态配置的分区时间调度表的时间片轮转调度,分区内调度为基于优先级抢占的任务调度;

4、分区操作系统架构分为核心操作系统及分区操作系统;

5、核心操作系统提供cpu目标平台的资源管理和分区管理;

6、核心操作系统将应用隔离到不同的分区,并根据配置表为每一个分区分配执行时间,实现分区间调度;

7、分区操作系统提供单个应用分区内的资源管理和任务调度,实现分区内调度;

8、在系统调度的每个分区内都存在一个分区操作系统;

9、分区操作系统仅在分区所处的时间窗口内运行,当分区窗口发生切换时,分区操作系统也将切换。

10、优选的方案中,分区间调度的具体过程包括:

11、以每个分区为基本对象,由核心操作系统来实现不同分区之间的切换;

12、按基于静态配置的分区时间调度表,给每个分区配置确定的执行时间和内存地址空间,每个分区按照分区时间调度表的时间顺序严格执行,执行结束后立即执行下一个分区;

13、分区时间调度表由核心操作系统维护;

14、核心操作系统中分区时间调度表可以有多个,但同一时刻仅有一个调度表可以得到运行,供所有处理器核心使用;调度表在主时间框架中维护多个时间窗口,这些时间窗口即为系统分配给分区的执行时间;分区时间调度表的核心数据结构中的变量主要有分区当前运行时间片计数,分区可执行时间片计数及分区控制块;这些核心操作系统使用系统时间片为分区运行时间计时,分区开始运行时其当前运行时间片计数清零,核心操作系统在其分区计时处理中累加当前运行时间片计数,并与可执行时间片计数比较,两计数相等时认为当前分区时间窗口执行完毕,进行分区间调度。

15、其中,分区间调度的具体步骤包括:

16、s1、由持有系统时钟的处理器核在核心操作系统保存其分区现场上下文,并将其传递给当前待切换分区的分区操作系统保存;

17、s2、将当前分区时间窗口的运行时间片计数清零,通过挂起核心操作系统中所有处理器核心的当前分区任务的方式停止当前分区运行;

18、s3、通过核间中断同步所有其他处理器核心,使其当前分区现场上下文得到保存,并进入核间中断处理中等待分区切换完成;

19、s4、根据分区时间调度表,切换至下一个时间窗口,获取此窗口对应分区作为待调度分区;

20、s5、激活核心操作系统中所有处理器核心的当前分区任务,使待调度分区进入就绪状态;

21、s6、设置分区切换完成标志,通知其他处理器核心待调度分区已切换完成,可以进行调度;

22、s7、所有核心执行核心操作系统任务调度,使待调度分区对应任务进入运行态,然后执行分区内调度,分区内任务继续执行,分区间调度完成。

23、优选的方案中,分区内调度的具体过程包括:

24、q1、分区内调度以分区内任务为基本对象;本专利技术采用的策略是基于优先级抢占的任务调度,优先级范围为0到255,数字越小优先级越高;分区内包括一个全局就绪队列及每个处理器内核自己的局部就绪队列;若全局就绪队列中有优先级更高的任务需要执行,分区内每个核运行的任务需要进行比较,将全局就绪队列中的任务就会抢占正在运行优先级最低的核;局部就绪队列即为亲和性队列,亲和性队列里的任务需要任务在创建时指定对哪个核具有亲和性,从而使任务添加到相应核上的亲和性队列中,而不是全局的就绪队列中;

25、q2、系统对最高优先级的任务查找使用位图的方法,使得最高优先级任务的查找时间与任务数量无关,时间复杂度为o(1)级别,从而保障系统的实时性和确定性;

26、q3、在系统中加入了优先级别判定表,减少判定优先级别所花费的时间,使优先级调度耗费的时间可预测;

27、q4、分区内调度通过上述位图数据结构和优先级调度算法实现,基于优先级抢占策略,使外部输入条件下多核处理器运行任务情况可预测,使用位图结合优先级调度算法,使多核处理器执行任务调度时间可预测,确保了分区内调度的多核确定性。

28、本专利技术所达到的有益效果为:

29、本专利技术设计了由分区间调度、分区内调度结合实现的面向多核处理器的分区操作系统确定性调度方法,有效解决了分区操作系统在多核处理器平台上执行多分区多任务调度的多核调度确定性问题,取得了优异的效果。

本文档来自技高网...

【技术保护点】

1.一种面向多核处理器的分区操作系统确定性调度方法,其特征在于,其包括如下的步骤:

2.根据权利要求1所述的一种面向多核处理器的分区操作系统确定性调度方法,其特征在于:

3.根据权利要求2所述的一种面向多核处理器的分区操作系统确定性调度方法,其特征在于,分区间调度的具体步骤包括:

4.根据权利要求1所述的一种面向多核处理器的分区操作系统确定性调度方法,其特征在于,分区内调度的具体过程包括:

【技术特征摘要】

1.一种面向多核处理器的分区操作系统确定性调度方法,其特征在于,其包括如下的步骤:

2.根据权利要求1所述的一种面向多核处理器的分区操作系统确定性调度方法,其特征在于:

3.根据权利要求2所...

【专利技术属性】
技术研发人员:赵亮徐明道曹振兴杨海峰高兰志孙学智宫鹏建李雪峰栾丽
申请(专利权)人:山东航天电子技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1