CN100392597C - 一种虚拟硬件加速方法及*** - Google Patents
一种虚拟硬件加速方法及*** Download PDFInfo
- Publication number
- CN100392597C CN100392597C CNB2005101034256A CN200510103425A CN100392597C CN 100392597 C CN100392597 C CN 100392597C CN B2005101034256 A CNB2005101034256 A CN B2005101034256A CN 200510103425 A CN200510103425 A CN 200510103425A CN 100392597 C CN100392597 C CN 100392597C
- Authority
- CN
- China
- Prior art keywords
- virtual
- data
- virtual unit
- module
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及计算机***领域,具体的说是一种虚拟硬件加速方法及***。为了解决在现有计算机***中不增加新的硬件加速卡的前提下,加快计算机应用软件模块的处理速度,提供了一种方法及***,其方法为:在***中至少有一个运行应用程序模块的进程,其特征在于,在操作***中建立虚拟设备,将应用程序模块处理方法、处理结果需要被多个进程共享的数据处理过程作为该虚拟设备的数据处理模块,利用虚拟设备的数据处理模块对进程中应用程序模块的数据进行处理,并由虚拟设备的接口进行输入输出。本发明的有益效果在于,数据处理速度有了很大提高,明显的减小了***的负担,不使用硬件,不占用硬件槽,不会带来添加硬件而造成的成本增加。
Description
技术领域
本发明涉及计算机***领域,特别涉及加快计算机处理速度技术,具体的讲是一种虚拟硬件加速方法及***。
背景技术
随着社会科技的发展,计算机的处理速度突飞猛进,当今的计算机领域一些数据处理量很庞大的工作需要相应的硬件加速卡来协助中央处理器进行工作。在电子市场上经常会遇到一些叫做图形加速卡、声霸卡等PC硬件。这些卡可以承担大部分视频或者音频解码工作,减轻CPU的工作负担。这些硬件内置专用视频解码或者音频解码芯片,在硬件级别上实现解码,解码的速度和质量都比使用软件解码有了很大的提高,这就是硬件加速技术。
超线程技术属于Intel版本的多线程技术。这种技术可以让单CPU拥有处理多线程的能力,而物理上只使用一个处理器。超线程技术为每个物理处理器设置了两个入口-AS(Architecture State,架构状态)接口,从而使操作***等软件将其识别为两个逻辑处理器。如中国专利98811883.1,多线程数据处理器揭示了一种处理数字音频视频数据的设备,如何调用多个进程以更加合理的协同工作。这样的多线程处理器对于操作***中的多进程处理又很大帮助,能够更加快速的完成多个进程。虽然多线程技术使计算机的处理速度更上一层楼,但是在计算机硬件速度上的突破而提高应用程序的处理速度已经很困难。
而对于一些应用来说不可能在计算机主板上无限制的插接太多的硬件加速卡,这就出现了虚拟硬件技术。
现在经常会用到类似虚拟光驱和虚拟软盘等虚拟设备。虚拟光驱使用虚拟的设备接口和一定的硬盘空间实现;虚拟软盘使用内存空间实现。这种技术改善了设备读写接口的性能和设备本身的性能,使读写速度有了极大的提高。如中国专利00107490.3,超大容量虚拟光盘文件***构造方法及其***,在该案中揭示了如何管理通过原物理光盘的路径表重新构造一个反映超大容量虚拟光盘存储***的原理。
由于Windows允许同时运行多个任务,所以出现多个进程试图同时访问同一物理设备的情况时,如果多个虚拟机(VM:Virtual Machine)试图访问同一物理设备,由于DOS应用程序能够直接操纵硬件,所以必须对该设备进行虚拟化,一个虚拟化设备的虚拟设备驱动程序(VxD:Virtual Device Driver)负责可靠地检测多个VM试图访问同一设备的情况,并采取仲裁的策略来解决这种冲突。
VxD的工作是向应用程序代码提供一个与硬件接口的环境,为每一个客户虚拟机管理虚设备的状态,透明地仲裁多个应用程序,同时对底层硬件进行访问并管理硬件设备。VxD是一个管理例如硬件设备或者已安装软件等***资源的32位可执行程序,使得几个应用程序可以同时使用这些资源。Windows通过使用VxD允许基于Windows的应用程序实现多任务。VxD在与Windows的连接工作中处理中断,并为需要进行I/O操作的应用程序执行I/O操作,而且不影响其他应用程序的执行。这就是所谓“虚拟化”的概念。
VxD在虚拟机管理器VMM(Virtual Machine Manager)的监控下运行,而VMM实际上是一个特殊的VxD。VMM执行与***资源有关的工作,提供虚拟机环境(能产生、调度、卸载虚拟机)、负责调度多线程占先时间片及管理虚拟内存等工作。VxD与VMM运行在其他任何虚拟机之外,VxD事实上就是实现虚拟机技术的一部分。
VxD可以随VMM一起静态加载,也可以根据需要动态加载或卸载。正是由于VxD与VMM之间的紧密协作,才使得VxD具有了应用程序所不具备的能力,诸如可以不受限制地访问硬件设备、任意查看操作***数据结构(如描述符表、页表等)、访问任何内存区域、捕获软件中断、捕获I/O端口操作和内存访问等,甚至还可以截取硬件中断。
虚拟光驱的实现采用VxD技术。原理如下:
VxD独立访问物理设备的同时,允许一个VM访问虚拟设备,这是最复杂的虚拟化形式。如VCD(Virtual Com Device),VCD缓冲区接收串行数据并通过映射中断透明地传给相应的一个VM,VM在中断处理过程中读取串口数据寄存器,这些数据的实质是VCD缓冲区已经接收的数据。
与物理设备一样,硬件中断很多时候也必须虚拟化,这种情况更为复杂。虚拟化中断实质上就是将硬件产生的中断映射到需要它的每一个VM(不管该VM是否正在运行),替代VxD进行服务。
VxD的控制过程必须能够处理一个特殊的消息:W32_DEVICEIOCONTROL。VMM代替调用DeviceIoControl函数的应用程序向VxD发送此消息。消息参数可确定VxD消息响应函数、输入输出缓冲区指针及缓冲区大小,并绑定在DIOCPARAMETERS结构中。通过这一接口,不仅仅可以读写设备,而且还能在应用程序和VxD之间互传指针,从而达到特殊应用的目的。
虚拟光驱的处理过程如下:
1、动态或者静态加载虚拟光驱驱动程序
2、加载ISO文件
3、打开ISO文件***读取文件头信息
4、读取文件
5、卸载ISO文件
卸载虚拟光驱驱动程序(Windows静态加载不需要卸载)。
动态链接库为现有技术中常用的一种技术,在一个应用***中同时运行着多个进程,程序在调用动态连接库时,首先将动态连接库的函数影射到应用程序进程中,应用程序为函数维护运行现场环境。由于每一个用户进程都有自己的进程空间,即使使用动态连接库,每个进程仍然自己维护自己的运行环境,各个进程之间不可能共享数据。如果需要共享对象数据只有每一个进程分别加载。对象的操作方法被每一个进程独立加载并占有,对象的数据在依靠文件***和操作***保证一致性,维护文件***和操作***一致性也是有独立的核心进程完成的,这对于可靠性和效率都有很大的损失。
比如在邮件过滤***中,中文邮件需要对中文进行预处理。中文词典作为一个公共的部分需要被所有的邮件处理进程共享。传统上进程之间通讯的方法有共享内存、Socket、信号量等,但是这些方法一个共同的特点问题,只共享数据,不能共享数据的操作方法。不能共享数据的操作方法将造成每一个进程必须有一套完整的词典和词典的操作函数。要达到既共享字典的数据,又要共享对词典的操作方法必须采用一种新的技术手段。
发明内容
本发明为了解决以上问题,提出了一种虚拟硬件加速方法,在内存空间中模拟一个硬件设备,利用硬件的加速特性将***中多个进程中应用程序模块的一些处理过程相同的数据交由虚拟出来的硬件进行处理,以达到加速的目的。
本发明还提供了一种虚拟硬件加速***,通过虚拟设备接口将***中多个进程的应用程序模块需要统一处理的数据和控制参数传送给虚拟设备,并利用虚拟设备数据处理能力对数据进行处理。
一种虚拟硬件加速方法,在***中至少有一个运行应用程序模块的进程,在操作***中建立虚拟设备,将需要被多个进程共享的应用程序模块处理方法、处理结果的数据处理过程作为该虚拟设备的数据处理模块,利用虚拟设备的数据处理模块对进程中应用程序模块的数据进行处理,并由虚拟设备的接口进行输入输出。
具体包括如下步骤:
建立一个具有数据处理能力的虚拟设备的步骤;
初始化虚拟设备驱动程序的步骤;
将至少一个进程中应用程序需要处理的数据通过虚拟设备接口传送到虚拟设备的步骤;
虚拟设备对传入的数据进行处理的步骤;
输出处理结果的步骤。
初始化虚拟设备驱动程序的步骤还包括初始化虚拟设备的步骤。
将应用程序需要处理的数据通过虚拟设备的接口传送到虚拟设备的步骤还包括:
打开设备的步骤,用于打开虚拟设备;
输入控制参数的步骤,用于接收某个进程应用程序模块对虚拟设备的控制参数,并向虚拟设备输入该控制参数;
数据输入输出的步骤,用于向虚拟设备输入某个进程应用程序模块待处理的数据,并向该进程应用程序模块返回处理结果;
信息输出的步骤,用于虚拟设备向进程应用程序模块报告数据处理情况;
关闭设备的步骤,用于关闭虚拟设备。
所述虚拟设备对传入的数据进行处理的步骤中还包括数据预处理步骤,对待处理的数据进行结构化预处理。
在所述输出处理结果的步骤后还有一卸载虚拟设备步骤。
一种虚拟硬件加速***,在***中至少有一个运行应用程序模块的进程,包括虚拟设备接口,接收进程中应用程序模块的数据和指令,输出虚拟设备处理应用程序模块数据的结果;虚拟设备,与所述虚拟设备接口相连接,用于处理至少一个进程中应用程序模块的数据。
所述虚拟设备还包括,数据预处理模块,用于对接收的数据进行预处理;数据处理模块,与所述数据预处理模块相连接,用于分析处理接收的数据。
所述虚拟设备还包括初始化模块,与所述虚拟设备相连接,用于初始化虚拟设备。
所述虚拟设备还包括卸载模块,与所述虚拟设备相连接,用于在操作***中卸载虚拟设备。
所述虚拟设备接口还包括:
打开设备模块,与所述虚拟设备相连接,用于打开虚拟设备接口;
控制模块,与所述虚拟设备相连接,用于接收某个进程应用程序模块的控制参数,并向虚拟设备输入该控制参数;
数据输入输出模块,与所述虚拟设备相连接,用于向虚拟设备输入某个进程应用程序模块待处理的数据,并向该进程应用程序模块返回处理结果;
信息输出模块,与所述虚拟设备相连接,用于虚拟设备向进程应用程序模块报告数据处理情况;
关闭设备模块,与所述虚拟设备相连接,用于关闭虚拟设备接口。
本发明的有益效果在于,数据处理速度有了很大提高,由于将每个进程中应用程序进行相同处理的部分集中成一个虚拟设备,而利用硬件技术对数据进行处理,明显的减小了***的负担,不用每个进程中都进行相同的操作和保留相类似的数据结构,并且简化的程序接口设计,直接使用c库函数完成操作,CPU消耗降低。不使用硬件,不占用硬件槽,不会带来添加硬件而造成的成本增加。
附图说明
图1为本发明在计算机***中的***层次图;
图2为本发明方法的一个实施例流程图;
图3为图2邮件处理***中采用本发明方法利用虚拟硬件处理邮件的详细流程图;
图4所示为在加密、解密应用本发明虚拟设备加速方法的流程图;
图5所示为本发明***结构图。
具体实施方式
下面结合附图说明本发明的具体实施方式。
图1为本发明在计算机***中的***层次图,第一层是用户空间(UserSpace),第二层是虚拟文件***(Vfs),第三层是在计算机***最底层的硬件设备层,与其并列位于计算机***底层的是虚拟设备(Veq)。虚拟设备与VxD不同,虚拟设备利用硬件接口的方法与应用程序模块接口,为多个进程共享数据、方法和内存,虚拟设备中没有底层硬件访问。虚拟设备并不是独立的进程,不能够独立运行。当***加载和应用程序调用该接口时,虚拟设备的代码获得执行权。并且跟任何虚拟机都没有关系。虚拟设备不需要与VMM协作就可以具有应用程序所不具备的能力。
图2为本发明方法的一个实施例流程图,在本例中,以电子邮件处理***作为例子来说明本发明是如何实现的。现在的电子邮件处理***都是在接收到邮件时启动邮件分析应用软件,以分析该邮件是否为垃圾邮件或者是否为该用户已经阻挡的邮件,而这种应用软件主要是通过一个字典和相应对字典的处理完成的,但是作为服务器来说同时会接收很多封电子邮件,这样就会在服务器的***中启动多个邮件分析应用软件,启动多个程序就会在***中存在多个程序进程,每一个进程都运行一个完整的邮件分析应用软件(包括字典和相应的字典处理过程),这样就会造成计算机***的负担,无论计算机***在硬件上有多大的提升但是同样影响性能。所以利用本发明的虚拟硬件加速方法建立一个虚拟硬件,当邮件传输代理(MAT)接收邮件,步骤201;将接收的邮件传递给邮件过滤器(Capfilter),步骤202;邮件过滤器分析邮件,步骤203;判断该邮件是否在白名单中,步骤204;如果在白名单中则发给客户,步骤213;否则邮件过滤器判断该邮件是否在黑名单中,步骤205;如果在黑名单中则将该邮件拦截,步骤206;否则需要根据邮件的内容分析邮件,步骤207;邮件过滤器将邮件传递给虚拟文件***(Vfs),虚拟文件***将数据传递给虚拟设备(Veq)步骤208;由虚拟设备分析数据,步骤209;并向虚拟文件***返回分析结果,由虚拟文件***向邮件过滤器传递分析结果,步骤210;邮件过滤器根据数据的返回结果判断该邮件是否为被请求邮件(非垃圾邮件),步骤211;如果是被请求邮件则传递给邮件传输代理发给客户,步骤213;否则对该邮件进行拦截,步骤212;并将拦截结果传递给邮件传输代理通知用户该邮件已经被拦截的信息,步骤214。
图3为图2邮件处理***中采用本发明方法利用虚拟硬件处理邮件的详细流程图。先由虚拟文件***初始化虚拟设备,步骤301,对于邮件处理包括初始化数据字典和知识库,当然对于本发明方法及***应用于其他数据处理过程时初始化的内容是不同的。虚拟设备处于等待状态,当***需要使用虚拟设备时,在虚拟文件***中加载虚拟设备,步骤302。初始化虚拟设备,步骤303。虚拟设备初始化结束的步骤304。在邮件过滤器接收到虚拟设备初始化结束的信息后发出邮件处理指令,步骤305。在虚拟文件***中打开虚拟设备的步骤306。虚拟设备接收到邮件数据后进行数据预处理步骤307,对于邮件处理实施例来说,这里的数据预处理就是对邮件文本进行分词、断句等为下一步语义分析做准备的步骤,在其他数据处理应用本发明时可以由本领域技术人员推知其他数据预处理过程。对进行过数据预处理的数据进行自然语义理解分析的步骤308,在该步骤中利用字典对数据的语义进行分析并向虚拟文件***返回处理结果。在虚拟文件***中向邮件过滤器发送处理结果的步骤309。邮件过滤器根据虚拟文件***返回的数据处理结果处理邮件的步骤310。
本发明利用虚拟设备加速方法加快计算机的处理能力,提高公共数据的利用率,不仅能够应用于windows系列***,还可以应用在Solaris、linux、Windows、FreeBSD、AIX***。
在Linux上应用:
1、建立设备文件。
2、安装虚拟设备驱动程序。
3、初始化设备驱动程序:
i.加载字典文件。
ii.加载知识库文件。
4、邮件过滤器接受邮件,并对邮件进行预处理。
5、邮件过滤器打开虚拟设备,并将数据传给虚拟设备。
6、虚拟设备对数据进行自然语义分析处理,并返回结果。
7、邮件过滤器的根据结果对邮件进行处理。
Solaris应用实例
1、建立设备文件。
2、安装虚拟设备驱动程序。
3、初始化设备驱动程序:
i.加载字典文件。
ii.加载知识库文件。
4、邮件过滤器接受邮件,并对邮件进行预处理。
5、邮件过滤器打开虚拟设备,并将数据传给虚拟设备。
6、虚拟设备对数据进行关键词匹配分析处理,并返回结果。
7、邮件过滤器的根据结果对邮件进行处理。
FreeBSD应用实例
1、建立设备文件。
2、安装虚拟设备驱动程序。
3、初始化设备驱动程序:
iii.加载字典文件。
iv.加载知识库文件。
4、邮件过滤器接受邮件,并对邮件进行预处理。
5、邮件过滤器打开虚拟设备,并将数据传给虚拟设备。
6、虚拟设备对数据进行黑白名单分析处理,并返回结果。
7、邮件过滤器的根据结果对邮件进行处理。
在Windows上应用:
1、安装虚拟硬件加速设备驱动程序。
2、初始化设备驱动程序:
v.加载字典文件。
vi.加载知识库文件。
3、邮件过滤器接受邮件,并对邮件进行预处理。
4、邮件过滤器打开虚拟设备,并将数据传给虚拟设备。
5、虚拟设备对数据进行自然语言分析处理,并返回结果。
6、邮件过滤器的根据结果对邮件进行处理。
邮件过滤器通过虚拟文件***将需要处理的数据传递给虚拟设备,并通过虚拟文件***接收虚拟设备处理后的数据,虚拟设备包括5个基本的接口模块用于与进程中的应用程序交换数据,它们分别是:open、close、read、write、control,当然也可以有多种接口模块,经过本说明书的叙述本领域技术人员可以推想的。
虚拟设备与操作***的接口模块使用由***提供的int open(char*,int*)和int close(int*)用法与原模块相同。
输入输出模块:char*read(int*,char*,int len);返回值类型char,表示返回处理结果数据;输入参数char*是输入待处理数据。
信息输出模块:int write(int*,char*);返回值类型int,0表示失败,1表示成功;参数char*是输出字符串。
控制模块:int control(char*);返回值属性int,0表示失败,1表示成功;参数char*是控制协议字符串。
例如利用虚拟设备加速实现数据加密的接口模块如下:
1、打开设备open(“/dev/nu ll”,0);
2、输入控制参数control(char*);
3、处理数据char*read(int fd,cha r*,int len);
4、写入日志int write(int*,char*);
5、关闭设备int close(int fd)。
当***初始化或者另外一个单独的进程对设备完成初始化后虚拟设备处于等待状态,当***需要虚拟设备提供服务时加载该设备,即open,需要计算数据使用read,卸载使用close。
本发明的方法不限定具体某一种应用程序模块中的数据处理方法,只要满足该应用程序模块中的数据处理过程需要进行初始化(因为初始化数据结构比较占用机时),或者数据处理过程的处理方法、处理结果需要被多个进程共享。具备了上述共性的程序就可以提取出来作为一个虚拟设备进行处理。并且进程中任意程序模块之间只要符合上述共性就可以提出出来作为一个虚拟设备进行处理。
如图4所示为在加密、解密应用中本发明虚拟设备加速方法的流程图。加密、解密程序接收待加密、解密数据信息,步骤401。判断是否为要加密或者需要解密的数据,步骤402。如果该数据为不需要加密或者不需要解密的数据则输出给用户,步骤403。否则由加密、解密程序向虚拟文件***发出进行加密或者解密指令要求的步骤404。虚拟文件***在得到指令后加载虚拟设备的步骤405。虚拟文件***将需要加密、解密的数据传递给虚拟设备的步骤406。虚拟设备初始化加密、解密参数的步骤407。虚拟设备还可以对待加密、解密数据进行数据的预处理步骤(图未示),即,将待加密、解密数据进行结构化处理。虚拟设备对待加密、解密的数据进行加密、解密处理的步骤408。虚拟文件***接收虚拟设备处理结果数据的步骤409,并卸载虚拟设备的步骤410。最后,虚拟文件***向加密、解密程序进程返回相应的加密、解密数据的步骤411。
如图5所示为本发明***结构图,虚拟设备501与数据输入输出接口502相连接,其中数据输入输出接口502负责传递进程中应用程序的控制参数和待虚拟设备处理的数据;虚拟设备初始化模块503与虚拟设备501相连接,当进程中应用程序需要虚拟设备501时发出指令信号通知虚拟设备初始化模块503,启动并初始化虚拟设备501;虚拟设备卸载模块504与虚拟设备501相连接,当虚拟设备501完成进程中应用程序待处理数据则卸载虚拟设备501并且通过数据输入输出接口502向该进程中的应用程序传递处理结果数据;在虚拟设备501中还包括一数据预处理模块505,与数据输入输出接口502相连接,对待处理的数据进行预处理,比如,对于邮件过滤***中为对邮件文本进行分词等操作,对于加密、解密应用中为对加密、解密数据进行结构化处理,以便于加密、解密的快速进行;在虚拟设备501中还包括一数据处理模块506,该数据处理模块506与数据预处理模块505相连接,接收经过数据预处理模块505预处理过的数据,对该数据进行分析和处理,这种数据处理模块的功能由***需求而定,对于邮件过滤***来说就是对邮件文本进行自然语言的分析或者关键词匹配等操作,对于加密、解密应用是对数据进行加密、解密的操作,当然也可以实现加密、解密算法,查询、散列等算法和其他的数据处理。
本发明有益效果在于,数据处理速度有了很大提高,明显的减小了***的负担,不用每个进程中都进行相同的操作和保留相类似的数据结构,并且简化的程序接口设计,直接使用c库函数完成操作,CPU消耗降低。不使用硬件,不占用硬件槽,不会带来添加硬件而造成的成本增加。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。
Claims (11)
1.一种虚拟硬件加速方法,在操作***中至少有一个运行应用程序模块的进程,其特征在于,在操作***中建立虚拟设备,将需要被多个进程共享的应用程序模块处理方法、处理结果的数据处理过程作为该虚拟设备的数据处理模块,利用虚拟设备的数据处理模块对进程中应用程序模块的数据进行处理,并由虚拟设备的接口进行输入输出。
2.根据权利要求1所述的一种虚拟硬件加速方法,其特征在于包括如下步骤:
建立一个具有数据处理能力的虚拟设备的步骤;
初始化虚拟设备驱动程序的步骤;
将至少一个进程中应用程序需要处理的数据通过虚拟设备接口传送到虚拟设备的步骤;
虚拟设备对传入的数据进行处理的步骤;
输出处理结果的步骤。
3.根据权利要求2所述的一种虚拟硬件加速方法,其特征在于,初始化虚拟设备驱动程序的步骤还包括初始化虚拟设备的步骤。
4.根据权利要求3所述的一种虚拟硬件加速方法,其特征在于将应用程序需要处理的数据通过虚拟设备的接口传送到虚拟设备的步骤还包括:
打开设备的步骤,用于打开虚拟设备;
输入控制参数的步骤,用于接收某个进程应用程序模块对虚拟设备的控制参数,并向虚拟设备输入该控制参数;
数据输入输出的步骤,用于向虚拟设备输入某个进程应用程序模块待处理的数据,并向该进程应用程序模块返回处理结果;
信息输出的步骤,用于虚拟设备向进程应用程序模块报告数据处理情况;
关闭设备的步骤,用于关闭虚拟设备。
5.根据权利要求2所述的一种虚拟硬件加速方法,其特征在于所述虚拟设备对传入的数据进行处理的步骤中还包括数据预处理步骤,对待处理的数据进行结构化预处理。
6.根据权利要求2所述的一种虚拟硬件加速方法,其特征在于在所述输出处理结果的步骤后还有一卸载虚拟设备步骤。
7.一种虚拟硬件加速***,在操作***中至少有一个运行应用程序模块的进程,其特征在于包括虚拟设备接口,接收进程中应用程序模块的数据和指令,输出虚拟设备处理应用程序模块数据的结果;虚拟设备,与所述虚拟设备接口相连接,用于处理多个进程中应用程序模块的数据。
8.根据权利要求7所述的一种虚拟硬件加速***,其特征在于所述虚拟设备还包括,数据预处理模块,用于对接收的数据进行预处理;数据处理模块,与所述数据预处理模块相连接,用于分析处理接收的数据。
9.根据权利要求7所述的一种虚拟硬件加速***,其特征在于所述虚拟设备还包括初始化模块,与所述虚拟设备相连接,用于初始化虚拟设备。
10.根据权利要求7所述的一种虚拟硬件加速***,其特征在于所述虚拟设备还包括卸载模块,与所述虚拟设备相连接,用于在操作***中卸载虚拟设备。
11.根据权利要求7所述的一种虚拟硬件加速***,其特征在于所述虚拟设备接口还包括:
打开设备模块,与所述虚拟设备相连接,用于打开虚拟设备接口;
控制模块,与所述虚拟设备相连接,用于接收某个进程应用程序模块的控制参数,并向虚拟设备输入该控制参数;
数据输入输出模块,与所述虚拟设备相连接,用于向虚拟设备输入某个进程应用程序模块待处理的数据,并向该进程应用程序模块返回处理结果;
信息输出模块,与所述虚拟设备相连接,用于虚拟设备向进程应用程序模块报告数据处理情况;
关闭设备模块,与所述虚拟设备相连接,用于关闭虚拟设备接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101034256A CN100392597C (zh) | 2005-09-15 | 2005-09-15 | 一种虚拟硬件加速方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101034256A CN100392597C (zh) | 2005-09-15 | 2005-09-15 | 一种虚拟硬件加速方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1932767A CN1932767A (zh) | 2007-03-21 |
CN100392597C true CN100392597C (zh) | 2008-06-04 |
Family
ID=37878613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101034256A Active CN100392597C (zh) | 2005-09-15 | 2005-09-15 | 一种虚拟硬件加速方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100392597C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8590060B2 (en) * | 2010-10-08 | 2013-11-19 | Tandberg Data Holdings S.A.R.L. | Virtual removable disk device for removable storage media |
CN104063260A (zh) * | 2013-03-21 | 2014-09-24 | 鸿富锦精密工业(深圳)有限公司 | 计算设备硬件功能扩充***及方法 |
CN103428582B (zh) * | 2013-09-02 | 2016-09-28 | 贝壳网际(北京)安全技术有限公司 | 播放视频的方法、装置和客户端 |
CN109471710B (zh) * | 2018-10-25 | 2021-05-25 | 网易(杭州)网络有限公司 | 任务请求的处理方法、装置、处理器、终端及服务器 |
CN115080281B (zh) * | 2022-05-30 | 2024-07-05 | 苏州浪潮智能科技有限公司 | 基于arm服务器的加速卡适配方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216172A (ja) * | 1997-09-12 | 2001-08-10 | Hitachi Ltd | マルチos構成方法 |
US6557036B1 (en) * | 1999-07-20 | 2003-04-29 | Sun Microsystems, Inc. | Methods and apparatus for site wide monitoring of electronic mail systems |
CN1523508A (zh) * | 2003-02-18 | 2004-08-25 | 精品科技股份有限公司 | 具有虚拟空间加密隐藏数据的方法 |
CN1605052A (zh) * | 2001-12-12 | 2005-04-06 | 汤姆森许可贸易公司 | 处理数据 |
JP2005228321A (ja) * | 2004-02-10 | 2005-08-25 | Eitokui Sui Kagi Kofun Yugenkoshi | 節電特性を具えたオペレーションシステム共用アプリケーションプログラムのアーキテクチャ及びその方法 |
-
2005
- 2005-09-15 CN CNB2005101034256A patent/CN100392597C/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001216172A (ja) * | 1997-09-12 | 2001-08-10 | Hitachi Ltd | マルチos構成方法 |
US6557036B1 (en) * | 1999-07-20 | 2003-04-29 | Sun Microsystems, Inc. | Methods and apparatus for site wide monitoring of electronic mail systems |
CN1605052A (zh) * | 2001-12-12 | 2005-04-06 | 汤姆森许可贸易公司 | 处理数据 |
CN1523508A (zh) * | 2003-02-18 | 2004-08-25 | 精品科技股份有限公司 | 具有虚拟空间加密隐藏数据的方法 |
JP2005228321A (ja) * | 2004-02-10 | 2005-08-25 | Eitokui Sui Kagi Kofun Yugenkoshi | 節電特性を具えたオペレーションシステム共用アプリケーションプログラムのアーキテクチャ及びその方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1932767A (zh) | 2007-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Montz et al. | Scout: A communications-oriented operating system | |
JP5697206B2 (ja) | 不正アクセスに対する防御をするシステム、方法およびプログラム | |
US11093270B2 (en) | Fast-booting application image | |
Cozzolino et al. | Fades: Fine-grained edge offloading with unikernels | |
US7788665B2 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
KR102059219B1 (ko) | 컴퓨터 시스템과 관련된 하드웨어 자원의 가상화를 위한 방법, 시스템 및 실행가능한 코드 조각 | |
US7984438B2 (en) | Virtual machine transitioning from emulating mode to enlightened mode | |
CN102724035B (zh) | 一种加密卡的加解密方法 | |
US20060026169A1 (en) | Communication method with reduced response time in a distributed data processing system | |
US7840964B2 (en) | Mechanism to transition control between components in a virtual machine environment | |
CN102207886A (zh) | 虚拟机快速仿真辅助 | |
CN102147763B (zh) | 一种网络日志的记录方法、***及计算机 | |
EP1301854B1 (en) | Method and apparatus for creating efficient native methods that extend a bytecode interpreter | |
CN100392597C (zh) | 一种虚拟硬件加速方法及*** | |
Wilson et al. | Implementing embedded security on dual-virtual-cpu systems | |
US8302082B2 (en) | Methods and apparatus to provide a managed runtime environment in a sequestered partition | |
CN104951688B (zh) | 适用于Xen虚拟化环境下的专用数据加密方法及加密卡 | |
CN111985906A (zh) | 一种远程办公***、方法、装置及存储介质 | |
de Bruijn et al. | Application-tailored I/O with Streamline | |
CN114492821A (zh) | 基于微内核架构的量子计算机操作***及量子计算机 | |
US7546599B2 (en) | Method, apparatus and system for instructing a virtual device from a virtual machine | |
US8316159B2 (en) | Demand-based DMA issuance for execution overlap | |
CN103281365A (zh) | 分布式虚拟化架构 | |
Molyakov | Token scanning as a new scientific approach in the creation of protected systems: A new generation OS MICROTEK | |
CN114579405A (zh) | 数据处理方法、数据处理装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |