一种面向嵌入式Hypervisor的多视窗显示虚拟化操作方法技术

技术编号:6858790 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向嵌入式Hypervisor的多视窗显示虚拟化操作方法,对Hypervisor之上的GuestOS所在域创建受虚拟显示驱动管理的虚拟显示设备和虚拟显示服务;在Hypervisor的硬件抽象层中设置显示接口,显示接口是对物理显示设备视窗操作的一个封装,在显示接口被调用操作之后,完成对物理显示设备控制器的视窗寄存器的操作。通过虚拟硬件显示,使多个GuestOS能够分时共享使用硬件显示,在Hypervisor层通过硬件抽象层对视窗进行统一管理,降低了系统之间的耦合度,系统的显示更加稳定。

【技术实现步骤摘要】

本专利技术属于嵌入式虚拟机
,涉及。
技术介绍
在I型Hypervisor系统中,Hypervisor作为系统软件直接运行在硬件平台之上, 可以直接管理物理设备并支持运行在Hypervisor之上的操作系统GuestOS(客户操作系统),通过Hypervisor提供的接口为GuestOS服务。硬件抽象层是位于操作系统内核与硬件设备之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。IXD虚拟化属于1/0虚拟化,是嵌入式虚拟化的组成部分。对于IXD虚拟化显示, 现在比较流行的虚拟化方案有VMware、Xen、Virtual Logic等,VMware属于全虚拟化方案, 能够运行不经修改的Guest OS,即对原LCD设备驱动可以不加修改的应用于虚拟机环境中,但其结构复杂,对硬件要求非常高,不适合应用于嵌入式。Xen有半虚拟化方案,Guest OS经过修改后能运行于Xen之上,但它主要面向PC以及服务器领域,在嵌入式领域尚未推出成熟的产品。如今嵌入式中对IXD设备的管理更加灵活,如S3C6410平台上IXD控制器有五层视窗,这样可以把各层窗口分别用作不同的显示,如windows用作OS窗口,windowl用作TV 屏幕,window2作为菜单窗口等等。
技术实现思路
本专利技术解决的问题在于提供,通过虚拟硬件显示,使多个GuestOS能够分时共享使用硬件显示,在Hypervisor层通过硬件抽象层对视窗进行统一管理,降低了系统之间的耦合度,系统的显示更加稳定。本专利技术是通过以下技术方案来实现,包括以下步骤1)对Hypervisor之上的GuestOS所在域创建受虚拟显示驱动管理的虚拟显示设备和虚拟显示服务;虚拟显示设备是一结构体,是对物理显示设备的属性的抽象;虚拟显示服务是一组线程,是对物理显示设备操作的抽象;2)在Hypervisor的硬件抽象层中设置显示接口,显示接口是对物理显示设备视窗操作的一个封装,在显示接口被调用操作之后,完成对物理显示设备控制器的视窗寄存器的操作;3)当物理显示设备需要被操作时,GuestOS中的虚拟显示驱动访问虚拟显示设备,将显示信息保存在虚拟显示设备中,虚拟显示驱动并通过发送消息唤醒虚拟显示服务的执行;当虚拟显示服务被唤醒执行操作时,通过访问虚拟显示设备获取设备信息;在获取设备信息之后,虚拟显示服务通过调用硬件抽象层中的显示接口进行对物理显示设备的操作; 4)显示接口被调用后,根据执行情况,返回操作结果给虚拟显示服务,虚拟显示服务通过消息应答的方式返回给虚拟显示驱动。所述的虚拟显示设备保存的对物理显示设备的属性信息或显示信息包括屏幕位置信息、屏幕大小信息、窗口个数、显存地址和像素及显示特性;虚拟显示驱动对虚拟显示设备的管理为访问虚拟显示设备,将显示信息保存在虚拟显示设备当中,以便虚拟显示服务的访问。所述的虚拟显示服务被唤醒后,访问虚拟显示设备获取设备信息后对显示接口进行以下操作基于检测可变参数设置可变参数、初始化显示窗口、关闭显示窗口和设置 Framebuffer0所述的显示接口封装的对物理显示设备视窗的操作包括物理显示设备初始化、 物理显示设备关闭操作、激活物理显示设备参数和设备显存地址。所述的一个GuestOS对物理显示设备的操作,通过显示接口的调用完成物理显示设备上一个视窗层的操作;当不同系统需要被切换显示时,通过显示接口操作物理显示设备的参数,系统所对应的视窗层被切换,系统显示就被切换了。所述的显示接口被调用后,完成对物理显示设备控制器的视窗寄存器的操作,通过修改视窗叠加参数,实现不同视窗的切换。所述的GuestOS为Linux,物理显示设备为支持多视窗显示的IXD。与现有技术相比,本专利技术具有以下有益的技术效果本专利技术提供的面向嵌入式Hypervisor的多视窗显示虚拟化操作方法,在GuestOS 所在域创建受虚拟显示驱动管理的虚拟显示设备和虚拟显示服务,在Hypervisor的硬件抽象层中设置显示接口进行物理操作,可以将一个物理设备映射为多个虚拟设备,从而使得多个Guest OS同时使用物理IXD设备,多个GuestOS能够分时共享使用物理显示设备, 同时便于不同系统的显示切换。本专利技术提供的面向嵌入式Hypervisor的多视窗显示虚拟化操作方法,在硬件抽象层中为每个Guest OS分配一个显示窗口,当进行系统切换显示时进行的工作就是简单的修改显示控制器中的参数,从而改变显示的窗口。相对于多个Guest OS分时使用同一个窗口,此机制的主要特征是不同的系统在各自的视窗独立进行操作,降低了系统之间的耦合度,同时在Hypervisor层通过硬件抽象层对视窗进行统一管理,易于移植,而且系统间的切换更加迅速、流畅,系统的显示更加稳定,系统的性能更加高效。同VMware和Xen相比具有较低的性能损耗、易于移植的特点。附图说明图 1 为 Hypervisor 结构图;图2为支持多视窗显示虚拟化的Hypervisor结构图;图3为虚拟显示驱动通过虚拟显示服务执行系统显示的执行机理示意图;图4为虚拟显示服务获取显示信息后对显示接口的操作示意图;图5为基于硬件多视窗的虚拟显示系统及其执行的示意图。具体实施例方式本专利技术提供的面向嵌入式Hypervisor的多视窗显示虚拟化操作方法,通过虚拟物理显示设备,多个GuestOS能够分时共享使用物理显示设备,同时便于不同系统的显示切换。多视窗显示虚拟化操作主要包括以下两个方面=Hypervisor产生供上层GuestOS驱动的虚拟设备和通过硬件抽象层的显示接口的操作实现虚拟显示设备到不同视窗的映射。 下面结合GuestOS为Linux (2. 6. 28内核),物理显示设备为支持多视窗显示的IXD,对本专利技术做进一步的详细说明,所述是对本专利技术的解释而不是限定。参见图1所示的I型Hypervisor结构图,Hypervisor作为系统软件直接运行在硬件平台之上,可以直接管理物理设备并支持运行在Hypervisor之上的操作系统GuestOS, 通过Hypervisor提供的接口为GuestOS服务。参见图2所示的支持多视窗显示虚拟化的Hypervisor结构图,在GuestOS所在域创建受虚拟显示驱动管理的虚拟显示设备和虚拟显示服务,在Hypervisor的硬件抽象层中设置显示接口。a)虚拟显示驱动GuestOS中的虚拟显示驱动的操作对象是虚拟显示设备,通过发送消息唤醒虚拟显示服务的执行从而实现虚拟显示设备的操作。虚拟显示驱动通过发送消息唤醒虚拟显示服务的执行,进而通过虚拟显示服务的执行实现虚拟显示设备的操作。虚拟显示服务通过访问保存在虚拟显示设备中的显示信息来进行对显示接口的调用,从而完成对硬件的访问。具体的在Linux中,将原有显示设备驱动中对物理显示设备的操作,放到硬件抽象层实现,在Linux中只保留原有显示驱动的框架,实现虚拟显示驱动。虚拟显示驱动对虚拟显示设备的访问,将显示信息保存在虚拟显示设备当中,以便虚拟显示服务的访问。b)虚拟显示设备虚拟显示设备是对物理显示设备的属性的抽象,由一结构体进行实现。GuestOS中的虚拟显示驱动负责对虚拟显本文档来自技高网...

【技术保护点】
1.一种面向嵌入式Hypervisor的多视窗显示虚拟化操作方法,其特征在于,包括以下步骤:1)对Hypervisor之上的GuestOS所在域创建受虚拟显示驱动管理的虚拟显示设备和虚拟显示服务;虚拟显示设备是一结构体,是对物理显示设备的属性的抽象;虚拟显示服务是一组线程,是对物理显示设备操作的抽象;2)在Hypervisor的硬件抽象层中设置显示接口,显示接口是对物理显示设备视窗操作的一个封装,在显示接口被调用操作之后,完成对物理显示设备控制器的视窗寄存器的操作;3)当物理显示设备需要被操作时,GuestOS中的虚拟显示驱动访问虚拟显示设备,将显示信息保存在虚拟显示设备中,虚拟显示驱动并通过发送消息唤醒虚拟显示服务的执行;当虚拟显示服务被唤醒执行操作时,通过访问虚拟显示设备获取设备信息;在获取设备信息之后,虚拟显示服务通过调用硬件抽象层中的显示接口进行对物理显示设备的操作;4)显示接口被调用后,根据执行情况,返回操作结果给虚拟显示服务,虚拟显示服务通过消息应答的方式返回给虚拟显示驱动。

【技术特征摘要】

【专利技术属性】
技术研发人员:梅魁志张朋丰李铁强李国辉赵季中展华益
申请(专利权)人:西安交通大学
类型:发明
国别省市:87

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

1