基于DRM切换的多系统图形显示分时复用方法及系统

阅读: 评论:0

著录项
  • CN202211076837.5
  • 20220905
  • CN115421836A
  • 20221202
  • 江苏润和软件股份有限公司
  • 卞乃猛
  • G06F9/451
  • G06F9/451 G06T1/20

  • 江苏省南京市雨花台区软件大道168号
  • 江苏(32)
  • 南京华恒专利代理事务所(普通合伙)
  • 高春涛
摘要
本发明基于DRM切换的多系统图形显示分时复用方法及系统,包括初始化系统资源,获取DRM的Master控制权;接收被支持操作系统的注册申请,将成功注册的操作系统存储至已注册列表并返回操作系统唯一的ID信息;获取操作系统的调用申请,检查操作系统的ID信息,若ID信息在已注册列表内,分配DRM的master控制权至操作系统,使得操作系统通过DRM的master控制权获取显示资源以进行图形显示。本发明实现了多个操作系统的图形系统的融合,能够在同一硬件环境下对显示资源进行分时复用。
权利要求

1.基于DRM切换的多系统图形显示分时复用方法,其特征在于,包括如下步骤:

初始化系统资源,获取DRM的Master控制权;

接收被支持操作系统的注册申请,将成功注册的操作系统存储至已注册列表并返回操作系统唯一的ID信息;

获取操作系统的调用申请,检查操作系统的ID信息,若ID信息在已注册列表内,分配DRM的master控制权至操作系统,使得操作系统通过DRM的master控制权获取显示资源以进行图形显示。

2.根据权利要求1所述的基于DRM切换的多系统图形显示分时复用方法,其特征在于:所述被支持操作系统是指以Linux为内核的操作系统,且采用DRM作为图形系统的底层实现。

3.根据权利要求1所述的基于DRM切换的多系统图形显示分时复用方法,其特征在于,所述接收被支持操作系统的注册申请后,还包括:将第一个成功完成注册的操作系统设置为主显示操作系统,DRM通过Master控制权将包括GPU在内的显示资源分配给主显示操作系统,主显示系统利用显示资源进行图形显示。

4.根据权利要求1所述的基于DRM切换的多系统图形显示分时复用方法,其特征在于:若多个操作系统同时发起调用申请,且对操作系统的ID信息进行检查后,存在至少两个已注册列表内的操作系统,则采用FIFO的调度策略将DRM的Master控制权分配至所述至少两个已注册列表内的操作系统。

5.用于实现权利要求1所述的基于DRM切换的多系统图形显示分时复用方法的系统,其特征在于:包括request handler模块 、已注册系统列表以及dmm_init接口、dmm_os_register接口、dmm_request_maste接口;

所述dmm_os_register接口用于接收被支持操作系统的注册,将注册成功的操作系统存储至已注册列表并返回操作系统唯一的ID信息;

所述dmm_request_master接口用于发起权限申请请求,根据该请求向所述requesthandler模块申请DRM的Master权限;

所述request handler模块根据权限申请请求,检查操作系统的ID信息是否存储在已注册系统列表中,对存储至已注册系统列表中的操作系统分配DRM的Master权限,使得操作系统通过DRM的master控制权获取显示资源以进行图形显示。

说明书
技术领域

本发明涉及图形显示技术领域,具体涉及基于DRM切换的多系统图形显示分时复用方法。

目前,市场上主流的操作系统中,有大量采用Linux作为其内核的操作系统,包括Android、OpenHarmony等这些被广泛应用在各行各业中的操作系统。然而这些操作系统存在各自不同的生态,导致大量的应用无法兼容运行,如Android系统应用无法在OpenHarmony系统上运行,这就迫使应用开发者针对同一个应用为支持不同的操作系统不得不分别进行开发,从而增加成本。究其原因,主要是由于虽然内核相同,但是这些操作系统的框架层差异巨大,操作系统系统难以融合,其中最重要的就是其图形显示系统不同。

另一方面,在这些基于Linux内核的操作系统中,采用直接渲染管理器(DirectRendering Manager,DRM)作为其图形显示的底层框架的操作系统也很多,但是由于它们在DRM之上的实现差异很大,比如Android的图形显示系统是SurfaceFlinger、OpenHarmony的图形显示系统是ROSEN,就导致了这些操作系统的图形显示框架无法同时兼容显示,最终影响了应用的兼容。如图1所示,A系统、B系统均是以Linux作为其内核,且采用DRM作为其图形系统的底层实现,两个系统的图形显示系统也是不同的,当前各操作系统的图形系统独占DRM资源,彼此无法同时运行在一个硬件环境上。

所以,在这些采用Linux作为内核的操作系统间,如果能够在底层实现图形系统的兼容显示,则可以大幅降低操作系统的融合成本,最终减少同一应用在不同操作系统上的重复开发成本。

本发明针对那些基于DRM的操作系统的图形系统无法同时兼容显示的问题,提供基于DRM切换的多系统图形显示分时复用方法及系统,实现了多个操作系统的图形系统的融合,能够在同一硬件环境下对显示资源进行分时复用。

技术方案:本发明所述基于DRM切换的多系统图形显示分时复用方法,包括如下步骤:初始化系统资源,获取DRM的Master控制权;接收被支持操作系统的注册申请,将成功注册的操作系统存储至已注册列表并返回操作系统唯一的ID信息;获取操作系统的调用申请,检查操作系统的ID信息,若ID信息在已注册列表内,分配DRM的master控制权至操作系统,使得操作系统通过DRM的master控制权获取显示资源以进行图形显示。

进一步完善上述技术方案,所述被支持操作系统是指以Linux为内核的操作系统,且采用DRM作为图形系统的底层实现。

进一步地,所述接收被支持操作系统的注册申请后,还包括:将第一个成功完成注册的操作系统设置为主显示操作系统,DRM通过Master控制权将包括GPU在内的显示资源分配给主显示操作系统,主显示系统利用显示资源进行图形显示。

进一步地,若多个操作系统同时发起调用申请,且对操作系统的ID信息进行检查后,存在至少两个已注册列表内的操作系统,则采用FIFO的调度策略将DRM的Master控制权分配至所述至少两个已注册列表内的操作系统。

进一步地,用于实现上述基于DRM切换的多系统图形显示分时复用方法的系统,包括request handler模块 、已注册系统列表以及dmm_init接口、dmm_os_register接口、dmm_request_maste接口;所述dmm_os_register接口用于接收被支持操作系统的注册,将注册成功的操作系统存储至已注册列表并返回操作系统唯一的ID信息;所述dmm_request_master接口用于发起权限申请请求,根据该请求向所述request handler模块申请DRM的Master权限;所述request handler模块根据调用请求,检查操作系统的ID信息是否存储在已注册系统列表中,对存储至已注册系统列表中的操作系统分配DRM的Master权限,使得操作系统通过DRM的master控制权获取显示资源以进行图形显示。

有益效果:与现有技术相比,本发明的优点在于:本方案可以大幅降低多系统融合的难度,同时有极强的通用性和扩展性,只要是采用Linux内核并使用DRM作为其底层图形系统实现的操作系统都可以采用该方案。

基于该方案实现多系统融合后,同一个应用的GUI能力可以在该融合系统上运行,而不需要重新开发;大幅减少重复投入,最终减少应用开发成本。

图1是现有技术中A、B两个系统的图形系统独占DRM资源的架构图;

图2是本发明中A、B两个系统的图形系统分时兼容运行的架构图;

图3是本发明中A、B两个系统的图形系统分时兼容运行的接口方案架构图。

下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

假设有2个操作系统,它们都以Linux作为其内核,且都是用DRM作为其图形系统的底层实现;两个系统分别是A系统和B系统,它们的图形显示系统是不同的。

本发明通过设计并实现DRM Master Manager这样一个管理器,实现对A系统、B系统的图形系统的分时兼容运行于同一个硬件环境上,方案的架构图如图2所示。

DRM Master Manager(后面简称为DMM)的实现逻辑和调用流程如下:

1. DMM初始化

DMM初始化系统资源,如打开并初始化GPU、设置显示相关的配置等。DMM将获得DRM的Master控制权,从而实现对GPU等显示资源的控制权。

2. 系统注册

A系统、B系统,乃至于其它基于Linux+DRM的其他操作系统,需要先在DMM中注册,使得DMM能够感知有新的系统已经在该硬件上同时运行了。

3. 设置主显示系统

DMM会将第一个成功完成注册的操作系统设置为主显示系统,将GPU等显示资源分配给该操作系统。该材质系统的图形显示系统将获得显示的机会,其应用得以利用GPU等显示资源实现GUI的渲染显示。

4. 切换系统

当有多个系统在DMM实现注册后,这些系统可以通过DMM提供的接口,向DMM发起申请以获取显示的机会,DMM采用FIFO的调度策略将显示资源分配给相应的系统,最终实现多个系统的分时复用。

DMM至少要实现3个接口,具体如下

1. dmm_init

该接口是DMM的入口函数,用于DMM模块的初始化。它可以在Linux内核启动结束,并且完成DRM内核模块的加载后调用。dmm_init应该对DRM做检查和初始化工作,设置系统全局信息。

2. dmm_os_register

该接口提供给被支持的操作系统,如A系统或者B系统,这些系统在其图形显示系统初始化是调用dmm_os_register,将其自身注册到DMM中。该接口返回一个ID信息,ID信息是唯一的,用于标记其自身。该ID应该作为参数传递给后续接口,如dmm_request_master,用于表明自己的身份。

3. dmm_request_master

该接口提供给被支持的操作系统,如A系统或者B系统,这些系统通过该接口获取到DRM的资源和Master控制权,以此获取显示的机会,在同一时间内只有一个系统能够获得获取成功。DMM内部的request_handler则扮演仲裁者的身份,由其判断应该将DRM Master控制权分配给哪个系统,其判断策略以FIFO方式进行。

如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。

本文发布于:2023-04-15 01:02:39,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/86961.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图