当前位置: 首页 > 专利查询>浙江大学专利>正文

一种面向混核操作系统的串口虚拟化优化方法技术方案

技术编号:25550498 阅读:30 留言:0更新日期:2020-09-08 18:49
本发明专利技术公开了一种面向混核操作系统的串口虚拟化优化方法,通过在串口虚拟化配置空间新增一个可写标志位,使得实时操作系统在进行打印输出信息时,不需要等到虚拟IO后端驱动程序从配置空间的数据字段取出数据之后才能继续运行,从而避免了实时操作系统串口输出时同非实时操作系统的同步过程;在非实时操作系统从配置空间的数据字段取数据时,实时操作系统依然处于运行状态,因此不会影响实时操作系统其他高优先级任务对底优先级打印输出任务抢占,满足系统的实时性。本发明专利技术串口虚拟化优化方法能够显著降低在混核操作系统环境中实时操作系统执行串口信息输出时延的抖动,避免与非实时操作系统的同步,增强实时操作系统的实时性。

【技术实现步骤摘要】
一种面向混核操作系统的串口虚拟化优化方法
本专利技术属于计算机
,具体涉及一种面向混核操作系统的串口虚拟化优化方法。
技术介绍
随着车载智能网联汽车上的智能计算任务与传统汽车相比具有更高的计算能力需求,但与车辆控制相关的任务又有很高的实时性要求,并且随着车载信息系统的发展,越来越多的人机交互任务也被加入到车载系统中,而各种任务之间具有强偶尔性,传统汽车电子所使用的车载计算体系结构并不能同时满足上述各个任务的要求。因此,混核操作系统不仅可以满足于满足汽车控制系统的实时性要求,还可以满足复杂应用和用户交互的需求。混核操作系统是指非实时操作系统和实时操作系统采用虚拟化的方式进行了混核,其中非实时操作系统一般为linux/android,主要面向于用户交互操作;实时操作系统采用osek,用于满足汽车控制系统的实时性要求,混核操作系统架构如图1所示。混核操作系统中实时操作系统需要向串口打印调试信息,该调试信息可以通过非实时操作系统的相关软件查看,可以采用基于半虚拟化的IO(输入/输出)设备虚拟化。虚拟IO的工作流程如图2所示,虚拟IO由三部分构成:前端驱动程序、后端驱动程序以及用于前后端进行信息传输的共享通道;虚拟IO协议提供了串口设备虚拟化工作方法。针对该设备,有两种传输数据方式,分别是:通过写入配置空间的数据字段和基于共享内存虚拟队列的方式,采用写入配置空间数据字段的方式更适用于嵌入式实时操作系统。虚拟IO串口虚拟化配置空间如下所示:structvirtio_console_config{r>le16cols;le16rows;le32max_nr_ports;le32emerg_wr;};其中,emerg_wr表示设备配置空间的数据字段。在虚拟IO串口虚拟化中,位于实时操作系统的虚拟IO前端驱动通过写配置空间的数据字段传输数据时会触发异常,该异常由hypervisor捕获,然后hypervisor通知位于非实时操作系统的虚拟IO后端驱动程序从设备配置空间的数据字段读取数据,虚拟IO后端驱动程序取出数据并返回hypervisor,最后hypervisor再切换到实时操作系统。当前虚拟化串口存在的问题是实时操作系统向串口虚拟化配置空间的数据字段写入数据后,需要等待非实时操作系统从该数据字段取出数据,最后才由hypervisor恢复实时操作系统的运行,实时操作系统在打印串口信息时需要同非实时操作系统进行同步,导致实时操作系统的性能受到严重的影响。
技术实现思路
鉴于上述,本专利技术提出了一种面向混核操作系统的串口虚拟化优化方法,能够解决由于虚拟IO前端驱动程序和虚拟IO后端驱动传递数据实时性较差,导致实时操作系统的运行受到严重影响的问题,增强实时操作系统基于虚拟IO的串口虚拟化的实时性。一种面向混核操作系统的串口虚拟化优化方法,针对串口虚拟化的设备配置空间,在该设备配置空间中添加一个长度为8bit的标志位,使得当前串口虚拟化的前端驱动程序可通过该标志位判断后端驱动程序是否将串口虚拟化的设备配置空间中数据字段的数据取出;若该标志位为0,表示设备配置空间的数据字段为空,则客户机实时操作系统可向设备配置空间的数据字段写入数据;若该标志位1,表示设备配置空间的数据字段不为空,则客户机可调度优先级更高的任务,而不必一直等待非实时操作系统从设备配置空间的数据字段取出数据。进一步地,所述串口虚拟化优化方法的具体执行过程如下:(1)在串口虚拟化的设备配置空间中添加一个8bit长度的标志位,下面称作可写标志位;(2)客户机实时操作系统判断可写标志位是否为0,若该可写标志位为0,则进入步骤(3);若该可写标志位为1,则进入步骤(6);(3)客户机实时操作系统向设备配置空间的数据字段写入数据;(4)由hypervisor(虚拟机监视器)将可写标志位置为1,并立即恢复客户机实时操作系统的运行,最后通知非实时操作系统从设备配置空间的数据字段取数据;(5)客户机非实时操作系统从设备配置空间的数据字段读取数据,并将可写标志位置为0;(6)本次调用结束。进一步地,所述串口虚拟化优化方法面向的混核操作系统即指非实时操作系统和实时操作系统采用虚拟化的方式进行了混核。进一步地,所述步骤(1)中hypervisor通过初始化,将串口虚拟化的设备配置空间中的标志位置为可写,并将内存空间分别映射到实时操作系统和非实时操作系统。进一步地,当内存空间映射到实时操作系统,hypervisor将其内存页面属性置为只读,若实时操作系统对该页面进行写操作的时候会触发异常。进一步地,当内存空间映射到非实时操作系统,hypervisor将其内存页面属性置为只读,非实时操作系统读取完设备配置空间中的数据字段,并修改设备配置空间中的标志位将其置为可写时,则会触发异常。进一步地,当在实时操作系统创建一个专用于打印输出的任务时,该打印输出任务的优先级应高于系统的空闲任务,但低于其他系统实时性任务;首先在实时操作系统分配一段内存空间,所有任务的打印输出信息先存放在该内存空间,并由前端驱动程序从该内存空间读取数据;然后实时操作系统调度到该打印任务时,该任务先判断设备配置空间的可写标志位,如果该标志位为可写的话,则从内存空间取出数据并写入设备配置空间中的数据字段,且该操作会触发异常;hypervisor捕获该异常,将可写标志位置为不可写,并立即恢复实时操作系统的正常运行,最后hypervisor向非实时操作系统发送中断。进一步地,所述非实时操作系统接收到该中断,通知后端驱动程序处理该事件,后端驱动程序从设备配置空间中的数据字段读取相应数据,并将可写标志位置为可写。本专利技术主要涉及的一个要点就是在串口虚拟化配置空间新增一个可写标志位,使得实时操作系统在进行打印输出信息时,不需要等到虚拟IO后端驱动程序从配置空间的数据字段取出数据之后才能继续运行,从而避免了实时操作系统串口输出时同非实时操作系统的同步过程;在非实时操作系统从配置空间的数据字段取数据时,实时操作系统依然处于运行状态,因此不会影响实时操作系统其他高优先级任务对底优先级打印输出任务抢占,满足系统的实时性。综上所述,本专利技术串口虚拟化优化方法能够显著降低在混核操作系统环境中实时操作系统执行串口信息输出时延的抖动,避免了与非实时操作系统的同步,增强实时操作系统的实时性。附图说明图1为车载虚拟化混核操作系统的架构示意图。图2为虚拟IO的工作流程示意图。图3为本专利技术虚拟IO改进后的工作流程示意图。具体实施方式为了更为具体地描述本专利技术,下面结合附图及具体实施方式对本专利技术的技术方案进行详细说明。本专利技术提供了一种面向混核操作系统的串口虚拟化优化方法,其中混核操作系统是指非实时操作系统和实时操作系统采用虚拟化的方式进行了混核,串口虚拟化优化方法是针对串口虚拟化的设备配置空间,在该串口虚拟化的设备配本文档来自技高网...

【技术保护点】
1.一种面向混核操作系统的串口虚拟化优化方法,其特征在于:针对串口虚拟化的设备配置空间,在该设备配置空间中添加一个长度为8bit的标志位,使得当前串口虚拟化的前端驱动程序可通过该标志位判断后端驱动程序是否将串口虚拟化的设备配置空间中数据字段的数据取出;若该标志位为0,表示设备配置空间的数据字段为空,则客户机实时操作系统可向设备配置空间的数据字段写入数据;若该标志位1,表示设备配置空间的数据字段不为空,则客户机可调度优先级更高的任务,而不必一直等待非实时操作系统从设备配置空间的数据字段取出数据。/n

【技术特征摘要】
1.一种面向混核操作系统的串口虚拟化优化方法,其特征在于:针对串口虚拟化的设备配置空间,在该设备配置空间中添加一个长度为8bit的标志位,使得当前串口虚拟化的前端驱动程序可通过该标志位判断后端驱动程序是否将串口虚拟化的设备配置空间中数据字段的数据取出;若该标志位为0,表示设备配置空间的数据字段为空,则客户机实时操作系统可向设备配置空间的数据字段写入数据;若该标志位1,表示设备配置空间的数据字段不为空,则客户机可调度优先级更高的任务,而不必一直等待非实时操作系统从设备配置空间的数据字段取出数据。


2.根据权利要求1所述的串口虚拟化优化方法,其特征在于:该串口虚拟化优化方法的具体执行过程如下:
(1)在串口虚拟化的设备配置空间中添加一个8bit长度的可写标志位;
(2)客户机实时操作系统判断可写标志位是否为0,若该可写标志位为0,则进入步骤(3);若该可写标志位为1,则进入步骤(6);
(3)客户机实时操作系统向设备配置空间的数据字段写入数据;
(4)由hypervisor将可写标志位置为1,并立即恢复客户机实时操作系统的运行,最后通知非实时操作系统从设备配置空间的数据字段取数据;
(5)客户机非实时操作系统从设备配置空间的数据字段读取数据,并将可写标志位置为0;
(6)本次调用结束。


3.根据权利要求1所述的串口虚拟化优化方法,其特征在于:该串口虚拟化优化方法面向的混核操作系统即指非实时操作系统和实时操作系统采用虚拟化的方式进行了混核。


4.根据权利要求2所述的串口虚拟化优化方法,其特征在于:所述步骤(1)中hy...

【专利技术属性】
技术研发人员:杨国青程书意李红徐贵洲焦进星弓羽箭
申请(专利权)人:浙江大学北京翼辉信息技术有限公司
类型:发明
国别省市:浙江;33

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

1