[go: up one dir, main page]

CN101359312B - Input and output control system - Google Patents

Input and output control system Download PDF

Info

Publication number
CN101359312B
CN101359312B CN2008102131416A CN200810213141A CN101359312B CN 101359312 B CN101359312 B CN 101359312B CN 2008102131416 A CN2008102131416 A CN 2008102131416A CN 200810213141 A CN200810213141 A CN 200810213141A CN 101359312 B CN101359312 B CN 101359312B
Authority
CN
China
Prior art keywords
input
output
information
request
control
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.)
Expired - Fee Related
Application number
CN2008102131416A
Other languages
Chinese (zh)
Other versions
CN101359312A (en
Inventor
藤本拓
铃木敬
太田贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2006341835A external-priority patent/JP2007220086A/en
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of CN101359312A publication Critical patent/CN101359312A/en
Application granted granted Critical
Publication of CN101359312B publication Critical patent/CN101359312B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种考虑到效率性、不依存于上位平台、使用性的输入输出控制系统。在具有多个OS的同时执行功能的主系统上,对在至少2个以上的OS同时运行的计算机上配置的输入设备以及输出设备的输入输出进行控制的输入输出控制装置(100),具有:请求受理部(110),对请求切换占用输入设备或者输出设备的OS的切换请求进行受理;控制信息生成部(120),根据切换请求,生成含有输入目的地信息(230)或者输出可否信息(240)的控制信息(121);和控制信息输出部(130),输出输入目的地信息(230)或者输出可否信息(240)。

Figure 200810213141

The present invention provides an input/output control system that takes into account efficiency, does not depend on the upper platform, and is usable. An input/output control device (100) for controlling input and output of input devices and output devices disposed on a computer in which at least two or more OSs are simultaneously running on a main system having a function of simultaneously executing a plurality of OSs includes: The request accepting part (110) accepts the switching request requesting to switch the OS of the input device or the output device; the control information generating part (120) generates input destination information (230) or output availability information ( 240) of control information (121); and a control information output unit (130) that outputs input destination information (230) or output permission information (240).

Figure 200810213141

Description

输入输出控制系统 Input and output control system

本申请是2007年1月17日提出的、申请号为200710001947.4、名称为“输入输出控制装置、输入输出控制系统以及输入输出控制方法”的发明申请的分案申请。This application is a divisional application of an invention application filed on January 17, 2007, with application number 200710001947.4, and titled "Input-Output Control Device, Input-Output Control System, and Input-Output Control Method".

技术领域technical field

本发明涉及控制基于多个操作系统(以下,称为OS)的输入输出设备的共享利用的输入输出控制装置、输入输出控制系统以及输入输出控制方法。The present invention relates to an input/output control device, an input/output control system, and an input/output control method for controlling shared use of input/output devices based on a plurality of operating systems (hereinafter referred to as OS).

背景技术Background technique

在单一OS运行的计算机中,该OS及在该OS上运行的程序通过适时装入到该OS中的输入输出设备的控制软件(以下,称为设备驱动程序),可以访问该计算机具备的输入输出设备。In a computer running a single OS, the OS and the programs running on the OS can access the input and output devices of the computer through the control software (hereinafter referred to as device driver) of the input and output devices loaded in the OS at a proper time. output device.

这里,该计算机至少具有:在从该计算机的外部向该OS输入信息时利用的输入设备(键盘等);和在该OS向该计算机外部输出信息时利用的输出设备(显示器等)。Here, the computer has at least: an input device (keyboard, etc.) used to input information to the OS from outside the computer; and an output device (display, etc.) used to output information from the OS to the outside of the computer.

设备驱动程序在装入到OS中时对该OS登录自身控制的设备的信息。作为这样的设备信息,例如可以举出该设备用的插入序号。When the device driver is loaded into the OS, it registers the information of the device it controls to the OS. Such equipment information includes, for example, an insertion number for the equipment.

在发生了来自计算机外部的、经由输入设备的信息的输入时,第一,插入控制器对CPU通知插入信号和插入序号。When information is input from outside the computer via the input device, first, the insertion controller notifies the CPU of an insertion signal and an insertion number.

第2,CPU接收该插入信号,中断当前正进行的处理,调用与该插入序号对应的设备驱动程序。Second, the CPU receives the interrupt signal, interrupts the current process, and calls the device driver corresponding to the interrupt number.

第3,设备驱动程序访问对应的设备,向OS转交被输入的信息。Third, the device driver accesses the corresponding device and transfers the input information to the OS.

另外,OS在输出特定信息时,根据该特定信息的内容来特定适合的输出设备。之后,OS调用预先登录的、与该输出设备对应的设备驱动程序,使该特定信息输出。In addition, when the OS outputs specific information, it specifies an appropriate output device according to the content of the specific information. After that, the OS calls a pre-registered device driver corresponding to the output device to output the specific information.

如上所述,在计算机上单独的OS运行时,该OS对于输入输出设备的使用进行管理,只要不发生在该OS上运行的程序同时访问输入输出设备的冲突状态就可以。As described above, when a separate OS is running on a computer, the OS manages the use of the input/output device, as long as there is no conflict in which programs running on the OS simultaneously access the input/output device.

另一方面,近年在计算机上可同时执行多个OS的环境正在扩展。这样的环境,如图12所示,被称为“虚拟机监视器(以下,称为VMM)”的主系统构成被称为“虚拟机(以下,称为VM)”的客户(guest)系统,在VM上通过运行各OS来实现(例如,参照专利文献1、非专利文献1及非专利文献2)。On the other hand, in recent years, environments in which a plurality of OSs can be simultaneously executed on computers are expanding. In such an environment, as shown in FIG. 12, a host system called a "virtual machine monitor (hereinafter referred to as VMM)" constitutes a guest system called a "virtual machine (hereinafter referred to as VM)". , implemented by running each OS on the VM (for example, refer to Patent Document 1, Non-Patent Document 1, and Non-Patent Document 2).

例如,作为该环境的利用例考虑到以下这样的例子,使特化成实时处理的“实时OS(以下,称为RTOS)”以及通用的“通用OS(以下,称为GPOS)”在1个计算机上同时运行的例子;在1个服务器上运行多个OS,在各OS中将该OS用地特化的服务向客户端提供的例子。For example, as an example of utilization of this environment, a "real-time OS (hereinafter, referred to as RTOS)" specialized for real-time processing and a general-purpose "general-purpose OS (hereinafter, referred to as GPOS)" are installed on a single computer. An example of simultaneous operation on the server; an example of running multiple OSs on one server, and providing a service specialized for the OS in each OS to the client.

在这样的环境下,必须在多个OS中共享以输入输出设备为首的、有限的硬件资源。In such an environment, it is necessary to share limited hardware resources including input and output devices among a plurality of OSs.

VMM的作用之一是静态或者动态地将硬件资源分配到各OS。例如,VMM对各OS动态地转交CPU的控制权,静态地逻辑分割主存储后分配到各OS,由此实现多个OS的同时执行。One of the functions of the VMM is to statically or dynamically allocate hardware resources to each OS. For example, the VMM dynamically transfers the control right of the CPU to each OS, statically and logically divides the main memory and distributes it to each OS, thereby realizing simultaneous execution of a plurality of OSs.

另外,在VMM中还有实现在同时执行的多个OS间的数据通信的VMM。代表性的实现方法是提供多个OS可以参照的共享存储器的方法。In addition, among the VMMs, there is also a VMM that realizes data communication among a plurality of OSs that are executed simultaneously. A typical implementation method is a method of providing a shared memory that a plurality of OSs can refer to.

VMM进行共享存储器的管理、或者对OS通知向共享存储器的写入或读入这样的处理。The VMM manages the shared memory and notifies the OS of writing or reading into the shared memory.

不仅在单一的数据通信时,在多个OS间共享硬件资源时也利用这样的OS间通信功能。Such an inter-OS communication function is utilized not only for single data communication, but also for sharing hardware resources among a plurality of OSs.

例如,考虑在只具有一个网络接口的计算机中,多个OS进行与外部的通信的情况。For example, consider a case where a plurality of OSs communicate with the outside in a computer having only one network interface.

此时,难以考虑各OS独自具有网络接口的设备驱动程序的结构。原因是无法事先判断对于在数据接收时发生的硬件插入应该调用哪个OS的驱动程序。In this case, it is difficult to consider a structure in which each OS independently has a device driver for a network interface. The reason is that it is impossible to judge in advance which OS's driver should be called for hardware insertion that occurs at the time of data reception.

因此,需要某OS成为唯一的设备驱动程序的保存者,进行数据收发以及向各OS的数据分配。Therefore, it is necessary for a certain OS to be the sole holder of the device driver, and to perform data transmission and reception and distribution of data to each OS.

在共享这样的硬件资源时,必须具有上述的OS间通信功能。When sharing such hardware resources, it is necessary to have the above-mentioned inter-OS communication function.

[专利文献1]:US2004/0205755[Patent Document 1]: US2004/0205755

[非专利文献1]:“Xen and the Art of virtulization”In Proc.of Symposiumon operating systems Principles(SOSP)2003(http:/www.cl.cam.ac.uk/ReSearch/SRG/netos/papers/2003-xensosp.pdf)[Non-Patent Document 1]: "Xen and the Art of virtulization" In Proc.of Symposium on operating systems Principles (SOSP) 2003 (http:/www.cl.cam.ac.uk/ReSearch/SRG/netos/papers/2003 -xensosp.pdf)

[非专利文献2]:“A 600MIPS 120mW 70μA Lcakage Triple-CPU MobileApplication Processor Chip”In Proc.of IEEE International Solid-State CircuitsConference(IS SCC)2005[Non-Patent Document 2]: "A 600MIPS 120mW 70μA Lcakage Triple-CPU MobileApplication Processor Chip" In Proc.of IEEE International Solid-State Circuits Conference (IS SCC) 2005

发明内容Contents of the invention

考虑在VMM上实现的多个OS环境中,在任意时刻通过特定OS来专用地被占用的设备。Consider a device exclusively occupied by a specific OS at any time in a plurality of OS environments implemented on the VMM.

作为这样的设备的一例能举出人机界面设备(以下,称为HID)。例如,作为HID能举出作为输入设备的键盘、及作为输出设备的显示器等。An example of such a device is a human interface device (hereinafter referred to as HID). For example, a keyboard as an input device, a display as an output device, and the like can be mentioned as HID.

这些设备需要通过用户正利用的OS来专用地占用。These devices need to be exclusively occupied by the OS that the user is utilizing.

例如,在用户正利用特定程序时,基本上,需要对该程序输入由用户通过键盘输入的结果,在显示器上显示该程序的输出结果,所以来自键盘的输入结果必须转交到运行该程序的OS上,同样,来自该OS的输出结果必须显示到显示器上。For example, when the user is using a specific program, it is basically necessary to input the result of the user's keyboard input to the program and display the output result of the program on the display, so the input result from the keyboard must be transferred to the OS running the program. On, likewise, the output from the OS must be displayed on the monitor.

CPU通过该OS来控制未必与用户正利用某OS的意思一致。The fact that the CPU is controlled by the OS does not necessarily mean that the user is using a certain OS.

VMM即使是用户正利用该OS期间,也可以在OS间进行上下文(context)切换,对其它OS分配CPU,或者进行VMM自身的处理。Even while the VMM is being used by the user, it is possible to perform context switching between OSes, allocate CPUs to other OSs, or perform processing of the VMM itself.

VMM因为管理CPU的分配,所以在任意的时刻都可以掌握哪个OS正控制着CPU,但是在任意的时刻不能掌握用户正在利用哪个OS。Since the VMM manages CPU allocation, it can grasp which OS is controlling the CPU at any time, but cannot grasp which OS the user is using at any time.

因此,例如VMM在由键盘输入数据后发生了插入时,不能识别该插入是针对哪个OS的插入。Therefore, for example, when the VMM is inserted after data is input from the keyboard, it cannot recognize which OS the insertion is for.

例如,在共享网络接口时,在接收到的数据中赋予了IP地址或端口序号等用于识别目的地的OS的数据,所以一旦某OS在接收了该数据后分配该数据就可以。For example, when sharing a network interface, data for identifying a destination OS, such as an IP address or a port number, is assigned to received data, so that the data may be distributed once a certain OS receives the data.

可是,对于由键盘输入的数据进行同样的处理是困难的。However, it is difficult to perform the same processing on the data input by the keyboard.

同样,在向显示器输出时也产生问题。Likewise, problems arise when outputting to a display.

全部OS个别保存显示器驱动程序,如果随意地输出则必然产生向该显示器的冲突。All OSes individually store display driver programs, and if they are exported arbitrarily, a conflict with the display will inevitably occur.

即使是汇集了对某OS应该输出的数据时,在此时刻,如果不能识别哪个OS应该输出该数据,则不能向用户显示正确的输出结果。Even when the data to be output for a certain OS is collected, if it is not possible to identify which OS should output the data at this point in time, the correct output result cannot be displayed to the user.

针对以上这样的问题,在专利文献1中所述的多个OS环境没有准备特别的功能。The plurality of OS environments described in Patent Document 1 do not provide special functions for the above-mentioned problems.

这是因为专利文献1假定了RTOS和GPOS同时执行的环境,GPOS始终占用HID。This is because Patent Document 1 assumes an environment where the RTOS and GPOS are executed simultaneously, and the GPOS always occupies the HID.

另一方面,在非专利文献1或者非专利文献2中所述的多个OS环境,如图13所示,准备1个主OS,主OS的GUI(Graphical User Interface)服务器处理对其它全部客户OS的HID的输入输出,由此实现HID的共享。On the other hand, in the multiple OS environments described in Non-Patent Document 1 or Non-Patent Document 2, as shown in FIG. 13 , one main OS is prepared, and the GUI (Graphical User Interface) server of the main OS handles the The input and output of the HID of the OS, thereby realizing the sharing of the HID.

具体来说,仅仅主OS具有针对HID的设备驱动程序(HIDDD),该设备驱动程序只能处理来自主OS的GUI服务器的输入输出。Specifically, only the main OS has a device driver for HID (HIDDD), and the device driver can only handle input and output from the GUI server of the main OS.

主OS的GUI服务器生成主OS以外的各客户OS用窗口(Window),输出从对应的客户OS的GUI服务器通过VMM的OS间通信来接收到的输出结果。The GUI server of the host OS generates a window (Window) for each guest OS other than the host OS, and outputs an output result received from the GUI server of the corresponding guest OS through inter-OS communication of the VMM.

另外,在该窗口被激活时,将来自输入设备的输入结果通过该OS间通信转交给对应的客户OS的GUI服务器。Also, when the window is activated, the input result from the input device is transferred to the GUI server of the corresponding client OS through the inter-OS communication.

可是,在这样的通过GUI服务器的解决方法中存在问题。However, there is a problem in such a solution through a GUI server.

第1个问题是因为全部OS的全部GUI客户端应用程序分别进行输入输出处理,所以经常发生在OS间跨越的上下文切换。The first problem is that since all GUI client applications of all OSes perform input and output processing separately, context switching across OSes often occurs.

在多个OS环境中的OS间跨越的上下文切换,在上下文的保存处理以及恢复处理中花费时间,尤其在重视速度的向显示器的输出处理时,成为很大的瓶颈。Context switching between OSes in a plurality of OS environments takes time for context saving processing and restoring processing, and becomes a large bottleneck especially in output processing to a display where speed is important.

另外,在如便携终端这样的必须进行省电处理的环境下,也成为耗电大的主要原因。In addition, in an environment where power-saving processing is required, such as a portable terminal, it is also a factor that consumes a large amount of power.

第2个问题是很大地依存于各OS的平台及应用程序。The second problem greatly depends on the platform and application program of each OS.

为了实现这样的GUI服务器间的输入输出,主OS的GUI服务器以及客户OS的GUI服务器双方必须对应于该功能。In order to realize such input/output between GUI servers, both the GUI server of the host OS and the GUI server of the guest OS must support this function.

另外,尤其在GUI服务器运行的环境显著不同的情况下,在GUI服务器间进行通信时需要在应用程序级别(1evel)下的数据的转换。In addition, especially when the environments in which the GUI servers operate are significantly different, data conversion at the application level (1evel) is required for communication between the GUI servers.

第3个问题是由于在GUI服务器上委托全部的输入输出处理所以在保密方面存在危险性。The third problem is that there is a risk of secrecy because all input and output processing is entrusted to the GUI server.

因为GUI服务器是“非特权过程(用户权限)”,所以与作为“特权过程(内核权限)”的OS比较,抗窜改(Tamper)性弱。Since the GUI server is a "non-privileged process (user authority)", it has weak tamper resistance (Tamper) compared with an OS which is a "privileged process (kernel authority)".

GUI服务器在被窜改时不能适当地处理OS的输入输出,可能向错误的输入目的地转交输入结果,或者显示不应该显示的OS的输出结果。When the GUI server is tampered with, the input and output of the OS cannot be properly processed, and the input result may be transferred to a wrong input destination, or the output result of the OS that should not be displayed may be displayed.

此外,在占用HID的OS的切换中,为了提高使用性而考虑了几个切换模式,关于各切换模式必须考虑切换方法的提供、及不正当的切换以及HID占用的防止等。In addition, in the switching of the OS that occupies the HID, several switching modes are considered in order to improve usability, and provision of switching methods, prevention of unauthorized switching, and HID occupation must be considered for each switching mode.

作为切换模式例如考虑了以下这样的例子。As the switching pattern, for example, the following examples are considered.

·在特定OS上启动了特定程序的情况・When a specific program is started on a specific OS

·按下了在键盘等上准备的切换按钮的情况・When a switching button prepared on a keyboard etc. is pressed

·在正占用HID的OS上发生了异常的情况・An abnormality has occurred on the OS that is occupying the HID

·出于调试等目的,从外部强制性启动了特定程序的情况・When a specific program is forcibly started from the outside for debugging, etc.

另外,作为在OS的切换时所必须考虑的情况,考虑了以下这样的例子。In addition, the following examples are considered as what must be considered at the time of OS switching.

·通过特定OS及特定某程序来防止不正当的HID占用Prevent improper HID occupation by specific OS and specific program

·防止损失使用性的反复切换· Prevent loss of usability of repeated switching

·防止在利用优先级高的程序时的切换・Prevent switching when using a program with high priority

因此,本发明是鉴于以上的问题而形成的,以提供考虑到效率性、不依存于上位平台、使用性的输入输出控制装置、输入输出控制系统以及输入输出控制方法作为目的。Therefore, the present invention was made in view of the above problems, and an object of the present invention is to provide an input/output control device, an input/output control system, and an input/output control method in consideration of efficiency, independence from a host platform, and usability.

本发明的第1特征是一种输入输出控制装置,在具有多个操作系统的同时执行功能的主系统上,对在至少2个以上的操作系统同时运行的计算机上配置的输入设备以及输出设备的输入输出进行控制,其要旨为,具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求,生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息或者所述输出可否信息,所述输入目的地信息至少含有用于特定来自所述输入设备的输入信息的输入目的地操作系统的信息,所述输出可否信息至少含有针对操作系统的、用于特定可否向所述输出设备输出的信息。The first feature of the present invention is an input/output control device, which controls input devices and output devices configured on computers running at least two or more operating systems simultaneously on a main system having a plurality of operating systems simultaneously executing functions. The main idea is to have: a request accepting unit, which accepts a switching request requesting to switch the operating system occupying the input device or the output device; the control information generating unit, according to the switching request, generates control information including input destination information or output availability information; and a control information output unit that outputs the input destination information or the output availability information, the input destination information including at least Information on an input destination operating system of the input information, wherein the output availability information includes at least information for specifying whether output to the output device is allowed or not for the operating system.

在本发明的第1特征中,所述请求受理部,也可以受理来自第1控制软件的切换请求,该第1控制软件控制由所述计算机预先具备的第1输入设备。In the first aspect of the present invention, the request accepting unit may accept a switching request from first control software that controls a first input device provided in advance in the computer.

在本发明的第1特征中,所述请求受理部,也可以受理来自操作系统的切换请求。In the first aspect of the present invention, the request accepting unit may accept a switching request from an operating system.

在本发明的第1特征中,在给予了规定对于所述切换请求的处理的请求规则时,所述请求受理部,可以根据所述请求规则来受理或者不受理所述切换请求。In the first aspect of the present invention, when a request rule defining processing of the switching request is given, the request accepting unit may accept or not accept the switching request according to the request rule.

在本发明的第1特征中,所述请求规则在所述切换请求的受理中请求秘密信息的输入,所述请求受理部可以仅在所述秘密信息正确时受理所述切换请求。In the first aspect of the present invention, the request rule may request input of secret information when the switching request is accepted, and the request accepting unit may accept the switching request only when the secret information is correct.

在本发明的第1特征中,所述请求规则定义不正当的切换请求,所述请求受理部可以在所述切换请求不正当的情况下,不受理该切换请求。In the first aspect of the present invention, the request rule defines an invalid switching request, and the request accepting unit may not accept the switching request when the switching request is invalid.

在本发明的第1特征中,所述请求规则在所述切换请求的受理中需要通过来自用户的特定动作来判定用户的许可/不许可,所述请求受理部可以根据基于所述特定动作的许可,来受理所述切换请求。In the first aspect of the present invention, the request rule requires a specific action from the user to determine permission/disapproval of the user in the acceptance of the switching request, and the request accepting unit may permission to accept the switching request.

在本发明的第1特征中,在规定时间内没有从用户得到基于所述特定动作的许可/不许可的任何判定时,所述请求受理部可以受理所述切换请求。在本发明的第1特征中,所述请求规则将特定的切换请求作为特权请求,所述请求受理部,也可以在生成基于所述特权请求的控制信息后,直至满足特定条件,不受理对通过所述特权请求被特定的操作系统占用的输入设备或者输出设备的切换请求。In the first aspect of the present invention, the request accepting unit may accept the switching request when no determination of permission/non-permission of the specific action is obtained from the user within a predetermined time. In the first aspect of the present invention, the request rule defines a specific switching request as a privilege request, and the request accepting unit may not accept the request until a specific condition is satisfied after generating the control information based on the privilege request. The request for switching an input device or an output device that is occupied by a specific operating system is requested via the privilege.

在本发明的第1特征中,请求受理部可以受理来自所述主系统的切换请求。In the first aspect of the present invention, the request accepting unit may accept a handover request from the master system.

在本发明的第1特征中,所述操作系统也可以通过所述请求规则,只限于许可所述切换请求的情况下,发行所述切换请求。In the first aspect of the present invention, the operating system may issue the switching request only when the switching request is permitted by the request rule.

在本发明的第1特征中,所述主系统也可以通过所述请求规则,只限于许可所述切换请求的情况下,发行所述切换请求。In the first aspect of the present invention, the master system may issue the switching request only when the switching request is permitted by the request rule.

在本发明的第1特征中,在所述计算机上的第1操作系统或者所述主系统具有检测在所述计算机上运行的操作系统的特定的状态变化的状态变化检测功能时,所述请求受理部也可以受理所述状态变化检测功能根据占用输入设备或者输出设备的第2操作系统的所述状态变化而发行的切换请求。In the first aspect of the present invention, when the first operating system on the computer or the host system has a state change detection function for detecting a specific state change of the operating system running on the computer, the request The accepting unit may accept a switching request issued by the state change detection function in response to the state change of the second operating system occupying the input device or the output device.

本发明第2特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能以及在所述多个操作系统间的通信功能的主系统,其要旨为,所述输入输出控制装置具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求,生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息或者所述输出可否信息,在所述主系统上运行的所述多个操作系统中的特定的1个操作系统,具有:输入设备控制部,根据所述输出的输入目的地信息来特定来自所述输入设备的输入信息的输入目的地操作系统,向该输入目的地操作系统输入所述输入信息;和输出设备控制部,根据所述输出的输出可否信息来特定可向所述输出设备输出的操作系统,将从该操作系统接收的输出信息向所述输出设备输出,所述输入目的地信息至少含有用于特定来自所述输入设备的输入信息的输入目的地操作系统的信息,所述输出可否信息至少含有针对操作系统的、用于特定可否向所述输出设备输出的信息。The second characteristic of the present invention is an input-output control system comprising: at least one input device; at least one output device; an input-output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The main system of the simultaneous execution function and the communication function between the plurality of operating systems, the gist of which is that the input and output control device has: a request accepting unit that requests switching of the input device or the output device The operating system switch request is accepted; the control information generation unit generates control information including input destination information or output availability information based on the switch request; and the control information output unit outputs the input destination information or the output The permission information specifies one of the plurality of operating systems running on the main system, and includes an input device control unit configured to specify an input from the input device based on the outputted input destination information. An operating system of an input destination of the input information, which inputs the input information to the operating system of the input destination; and an output device control unit that specifies an operating system that can be output to the output device based on the output availability information of the output, and outputs the input information to the output device. The output information received from the operating system is output to the output device, the input destination information includes at least information for specifying an input destination operating system of the input information from the input device, and the output availability information includes at least Information for specifying the possibility of output to the output device for the operating system.

在本发明的第2特征中,与所述特定的操作系统不同的第1操作系统具有:虚拟输入设备控制部和虚拟输出设备控制部,所述虚拟输入设备控制部,接收由所述特定的操作系统的所述输入设备控制部输入的输入信息,向在所述第1操作系统上运行的程序输入,所述虚拟输出设备控制部,关于来自在所述第1操作系统上运行的程序的输出信息,根据所述输出可否信息判断所述第1操作系统是否可以对所述输出设备输出所述输出信息,也可以只限于可以对所述输出设备输出所述输出信息的情况下,对所述特定的操作系统的所述输出设备控制部输出所述输出信息。In the second characteristic of the present invention, the first operating system different from the specific operating system includes a virtual input device control unit and a virtual output device control unit, and the virtual input device control unit receives The input information input by the input device control unit of the operating system is input to the program running on the first operating system, and the virtual output device control unit is configured to input information from the program running on the first operating system. output information, judging whether the first operating system can output the output information to the output device according to the output availability information, or only under the condition that the output information can be output to the output device, the The output device control unit of the specific operating system outputs the output information.

本发明第3特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能以及在所述多个操作系统间的通信功能的主系统,其要旨为,所述输入输出控制装置,具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求,生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息以及所述输出可否信息,在所述主系统上运行的所述多个操作系统,各自具有:输入设备控制部,根据参照由所述输入输出控制装置输出的输入目的地信息,决定是否将来自所述输入设备的输入信息向所述操作系统输入;和输出设备控制部,根据由所述输入输出控制装置输出的输出可否信息,决定是否输出来自所述操作系统的输出信息。The third feature of the present invention is an input/output control system comprising: at least one input device; at least one output device; an input/output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The gist of the main system of the simultaneous execution function and the communication function among the plurality of operating systems is that the input and output control device includes a request accepting unit that occupies the input device or the output device for request switching. Accepting a switching request of the operating system; the control information generation unit generates control information including input destination information or output availability information according to the switching request; and a control information output unit outputs the input destination information and the In the output permission information, each of the plurality of operating systems running on the main system includes an input device control unit that determines whether to output data from the input device by referring to the input destination information output by the input and output control device. The input information of the device is input to the operating system; and the output device control unit determines whether to output the output information from the operating system based on the output availability information output by the input and output control means.

本发明第4特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能以及在所述多个操作系统间的通信功能的主系统,其要旨为,所述输入输出控制装置,具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求,生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息以及所述输出可否信息,所述多个操作系统各自具有:可控制所述输入设备的输入设备控制部;和可控制所述输出设备的输出设备控制部,所述主系统具有输入输出控制部,该输入输出控制部,根据所述输入输出控制装置输出的输入目的地信息,使所述操作系统的所述输入设备控制部有效化或者无效化,根据所述输入输出控制装置输出的输出可否信息,使所述操作系统的所述输出控制部有效化或者无效化。The fourth characteristic of the present invention is an input-output control system comprising: at least one input device; at least one output device; an input-output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The gist of the main system of the simultaneous execution function and the communication function among the plurality of operating systems is that the input and output control device includes a request accepting unit that occupies the input device or the output device for request switching. Accepting a switching request of the operating system; the control information generation unit generates control information including input destination information or output availability information according to the switching request; and a control information output unit outputs the input destination information and the output permission information, each of the plurality of operating systems has: an input device control unit capable of controlling the input device; and an output device control unit capable of controlling the output device, the host system has an input output control unit, the input An output control unit that enables or disables the input device control unit of the operating system based on the input destination information output from the input-output control unit, and activates or disables the input device control unit based on the output availability information output by the input-output control unit. The output control unit of the operating system is enabled or disabled.

本发明第5特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能以及在所述多个操作系统间的通信功能的主系统,其要旨为,所述输入输出控制装置具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息以及所述输出可否信息,所述主系统具有插入通知部,该插入通知部,在发生了对于所述输入设备的插入时,将所述插入向所述操作系统通知,所述插入通知部根据所述输入输出控制装置输出的输入目的地信息,特定所述插入的通知目的地。A fifth characteristic of the present invention is an input-output control system comprising: at least one input device; at least one output device; an input-output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The main system of the simultaneous execution function and the communication function between the plurality of operating systems, the gist of which is that the input and output control device has: a request accepting unit that requests switching of the input device or the output device Accepting a switching request of an operating system; a control information generating unit generating control information including input destination information or output permission information based on the switching request; and a control information output unit outputting the input destination information and the output permission or non-existence information. information, the host system has an insertion notification unit that notifies the operating system of the insertion when the input device is inserted, and the insertion notification unit is configured according to the input/output control The input destination information output by the device specifies the interrupted notification destination.

本发明第6特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能以及在所述多个操作系统间的通信功能的主系统,其要旨为,所述输入输出控制装置具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息以及所述输出可否信息,所述主系统具有QoS控制部,该QoS控制部,根据所述输入输出控制装置输出的输入目的地信息或者输出可否信息,进行对于所述操作系统的QoS控制。The sixth characteristic of the present invention is an input-output control system comprising: at least one input device; at least one output device; an input-output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The main system of the simultaneous execution function and the communication function between the plurality of operating systems, the gist of which is that the input and output control device has: a request accepting unit that requests switching of the input device or the output device Accepting a switching request of an operating system; a control information generating unit generating control information including input destination information or output permission information based on the switching request; and a control information output unit outputting the input destination information and the output permission or non-existence information. information, the host system has a QoS control unit that performs QoS control on the operating system based on the input destination information or output permission information output by the input and output control device.

本发明第7特征是一种输入输出控制方法,在具有多个操作系统的同时执行功能的主系统上,对在至少2个以上的操作系统同时运行的计算机上配置的输入设备以及输出设备的输入输出进行控制,其要旨为,具有以下步骤:对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理的步骤;根据所述切换请求生成含有输入目的地信息或者输出可否信息的控制信息的步骤;和输出所述输入目的地信息以及所述输出可否信息的步骤,所述输入目的地信息至少含有用于特定来自所述输入设备的输入信息的输入目的地操作系统的信息,所述输出可否信息至少含有针对操作系统的、用于特定可否向所述输出设备输出的信息。The seventh feature of the present invention is an input/output control method, in which, on a host system having a plurality of operating systems simultaneously executing functions, control of an input device and an output device configured on a computer running at least two or more operating systems simultaneously The gist of controlling input and output is that it has the following steps: accepting a switching request requesting to switch the operating system occupying the input device or the output device; a step of controlling information of the permission information; and a step of outputting the input destination information including at least an input destination operating system for specifying the input information from the input device and the output permission information. information, the output availability information includes at least information for the operating system to specify whether output to the output device is allowed or not.

本发明第8特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能的主系统,其要旨为,所述输入输出控制装置具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求,生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息或者所述输出可否信息,在所述操作系统上运行的程序,通过所述输入目的地信息,只限于在运行所述程序的操作系统是来自所述输入设备的输入目的地操作系统的情况下,发行对所述操作系统请求输入的系统调用,通过所述输出可否信息,只限于运行所述程序的操作系统可以对所述输出设备输出的情况下,发行对所述操作系统请求输出的系统调用,所述输入目的地信息至少含有用于特定来自所述输入设备的输入信息的输入目的地操作系统的信息,所述输出可否信息至少含有针对操作系统的、用于特定可否向所述输出设备输出的信息。The eighth feature of the present invention is an input-output control system comprising: at least one input device; at least one output device; an input-output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The gist of the main system performing functions simultaneously is that the input/output control device includes: a request accepting unit that accepts a request for switching an operating system occupying the input device or the output device; a control information generating unit , generating control information including input destination information or output availability information according to the switching request; and a control information output unit outputting the input destination information or the output availability information, a program running on the operating system , through the input destination information, only when the operating system running the program is the input destination operating system from the input device, issue a system call to the operating system requesting input, through the The output permission information is limited to the case where the operating system running the program can output to the output device, and a system call is issued to the operating system to request output, and the input destination information contains at least Information on an input destination operating system of the input information of the input device, and the output availability information includes at least information for specifying whether output to the output device is allowed or not for the operating system.

本发明第9特征是一种输入输出控制系统,具有:至少一个输入设备;至少一个输出设备;控制所述输入设备以及所述输出设备的输入输出的输入输出控制装置;和含有多个操作系统的同时执行功能的主系统,其要旨为,所述输入输出控制装置具有:请求受理部,对请求切换占用所述输入设备或者所述输出设备的操作系统的切换请求进行受理;控制信息生成部,根据所述切换请求,生成含有输入目的地信息或者输出可否信息的控制信息;和控制信息输出部,输出所述输入目的地信息或者所述输出可否信息,在所述操作系统上运行的程序,对所述操作系统请求发行对于所述输入输出控制装置的切换请求,所述输入目的地信息至少含有用于特定来自所述输入设备的输入信息的输入目的地操作系统的信息,所述输出可否信息至少含有针对操作系统的、用于特定可否向所述输出设备输出的信息。A ninth feature of the present invention is an input-output control system comprising: at least one input device; at least one output device; an input-output control device for controlling the input and output of the input device and the output device; and including a plurality of operating systems The gist of the main system performing functions simultaneously is that the input/output control device includes: a request accepting unit that accepts a request for switching an operating system occupying the input device or the output device; a control information generating unit , generating control information including input destination information or output availability information according to the switching request; and a control information output unit outputting the input destination information or the output availability information, a program running on the operating system requesting the operating system to issue a switching request to the input/output control device, the input destination information includes at least information for specifying an input destination operating system of input information from the input device, and the output The admissibility information includes at least information for the operating system to specify whether output to the output device is allowed or not.

在本发明的第9特征中,所述程序也可以通过所述请求规则,只限于许可所述切换请求的情况下,对所述操作系统请求发行对于所述输入输出控制装置的切换请求。In the ninth aspect of the present invention, the program may request the operating system to issue a switching request to the input/output control device only when the switching request is permitted by the request rule.

如以上说明,根据本发明可以提供考虑到效率性、不依存于上位平台、且使用性的输入输出控制装置、输入输出控制系统以及输入输出控制方法。As described above, according to the present invention, it is possible to provide an input/output control device, an input/output control system, and an input/output control method that take into account efficiency, do not depend on a host platform, and are usable.

附图说明Description of drawings

图1是第1实施方式的输入输出控制系统的结构方框图。FIG. 1 is a block diagram showing the configuration of an input/output control system according to a first embodiment.

图2是表示第1实施方式的输入输出控制方法的流程图。FIG. 2 is a flowchart showing an input/output control method according to the first embodiment.

图3是第2实施方式的输入输出控制系统的结构方框图(其1)。Fig. 3 is a block diagram (Part 1) showing the configuration of an input/output control system according to a second embodiment.

图4是第2实施方式的输入输出控制系统的结构方框图(其2)。Fig. 4 is a block diagram (part 2) showing the configuration of an input/output control system according to a second embodiment.

图5是第3实施方式的输入输出控制系统的结构方框图(其1)。Fig. 5 is a block diagram (Part 1) showing the configuration of an input/output control system according to a third embodiment.

图6是第3实施方式的输入输出控制系统的结构方框图(其2)。Fig. 6 is a block diagram (part 2) showing the configuration of an input/output control system according to a third embodiment.

图7是第3实施方式的输入输出控制系统的结构方框图(其3)。Fig. 7 is a block diagram showing the configuration of an input/output control system according to a third embodiment (Part 3).

图8是第3实施方式的输入输出控制系统的结构方框图(其4)。Fig. 8 is a block diagram (Part 4) showing the configuration of an input/output control system according to a third embodiment.

图9是第3实施方式的输入输出控制系统的结构方框图(其5)。Fig. 9 is a block diagram (part 5) showing the configuration of an input/output control system according to a third embodiment.

图10是第4实施方式的输入输出控制系统的结构方框图。Fig. 10 is a block diagram showing the configuration of an input/output control system according to a fourth embodiment.

图11是第5实施方式的输入输出控制系统的结构方框图。Fig. 11 is a block diagram showing the configuration of an input/output control system according to a fifth embodiment.

图12是现有输入输出控制系统的结构方框图(其1)。Fig. 12 is a structural block diagram (1) of a conventional input/output control system.

图13是现有输入输出控制系统的结构方框图(其2)。Fig. 13 is a block diagram (Part 2) of a conventional input/output control system.

符号说明Symbol Description

100输入输出控制装置100 input and output control devices

110请求受理部110 Request Acceptance Department

120控制信息生成部120 Control Information Generation Department

121控制信息121 control information

130控制信息输出部130 control information output unit

210切换请求210 switch request

211外部输入211 external input

212OS处理212 OS processing

213VMM处理213 VMM processing

214OS状态变化214OS state change

220输入输出设备表220 input and output device table

230输入目的地信息230 input destination information

240输出可否信息240 output whether information

250请求规则250 request rule

310、410、510输入设备310, 410, 510 input device

320、420、520输出设备320, 420, 520 output devices

330、430、530VMM330, 430, 530VMM

331、433调试功能331, 433 debugging function

340、350、440、450、540、550OS340, 350, 440, 450, 540, 550OS

341、441、451、541输入设备控制部341, 441, 451, 541 input device control department

342、442、452、542输出设备控制部342, 442, 452, 542 output device control department

343、444切换按钮控制驱动程序343, 444 switch button control driver

351A、443、453虚拟输入输出控制装置351A, 443, 453 virtual input and output control devices

351虚拟输入设备控制部351 Virtual Input Device Control Section

352虚拟输出设备控制部352 Virtual Output Device Control Section

360、370、460、470程序360, 370, 460, 470 programs

431输入输出控制部431 Input and output control unit

432插入通知部432 Insertion Notification Division

434QOS控制部434 QOS Control Department

560、570GUI服务器560, 570GUI server

580、590GUI客户端580, 590 GUI client

具体实施方式Detailed ways

以下参照附图对本发明的实施方式进行说明。在以下附图的记载中,相同或者类似的部分标注着相同或者类似的符号。而,应该注意附图仅仅是示意性的图。Embodiments of the present invention will be described below with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar symbols. However, it should be noted that the drawings are schematic diagrams only.

[第1实施方式][the first embodiment]

(输入输出控制系统)(Input and output control system)

图1是第1实施方式的输入输出控制装置100的系统结构。输入输出控制装置100例如在多个OS运行在VMM上、该多个OS中的特定OS在任意时刻占用特定设备并进行利用这样的情况下,进行占用该特定设备的OS的判定及切换等处理。FIG. 1 is a system configuration of an input/output control device 100 according to the first embodiment. For example, when a plurality of OSs are running on the VMM, and a specific OS among the plurality of OSs occupies and uses a specific device at any time, the input/output control device 100 performs processing such as determination and switching of the OS occupying the specific device. .

作为这样的特定设备,例如举出在键盘等输入设备或者显示器等输出设备中具有代表性的HID。As such a specific device, for example, HID is a typical input device such as a keyboard or an output device such as a display.

例如,用户利用在其它OS中运行的程序时,在按下了在计算机上预先准备的切换按钮的情况下,输入输出控制装置100检测其旨意,生成控制信息,该控制信息用于使运行该程序的OS占用输入输出设备。For example, when the user presses a switch button prepared in advance on the computer while using a program running on another OS, the input/output control device 100 detects the result and generates control information for running the program. The OS of the program occupies the input and output devices.

具体来说,输入输出控制装置100输出特定来自输入设备的输入信息的输入目的地OS的输入目的地信息230、以及特定向输出设备可以输出输出信息的OS的输出可否信息240。Specifically, the input/output control device 100 outputs input destination information 230 specifying an input destination OS of input information from an input device, and output availability information 240 specifying an OS capable of outputting output information to an output device.

如图1所示,输入输出控制装置100具有:请求受理部110、控制信息生成部120、和控制信息输出部130。以下,对各部的处理进行叙述。As shown in FIG. 1 , the input/output control device 100 includes a request accepting unit 110 , a control information generating unit 120 , and a control information output unit 130 . Hereinafter, the processing of each unit will be described.

请求受理部110,在请求切换占用输入输出设备的OS的切换请求210从特定的请求源发行时,进行以下的处理。The request accepting unit 110 performs the following processing when a switch request 210 requesting to switch the OS of the occupied input/output device is issued from a specific request source.

1.切换请求210的检测1. Detection of handover request 210

请求受理部110检测从特定的请求源发行的切换请求210。The request accepting unit 110 detects a switching request 210 issued from a specific request source.

作为发行这样的切换请求210的主要原因例如举出外部输入211、OS处理212、VMM处理213及OS状态变化214。The reasons for issuing such a switching request 210 include, for example, an external input 211 , an OS process 212 , a VMM process 213 , and an OS state change 214 .

例如,用户按下了在计算机上预先准备的切换按钮时,作为硬件插入产生以“外部输入211”为主要原因的切换请求211。For example, when the user presses a switch button prepared in advance on the computer, a switch request 211 with "external input 211" as the main cause is generated as hardware insertion.

在发生了硬件插入时,按照从专利文献1的[0138]开始的“Interrupt andEvent Handling”的章节等中记载的现有VMM的动作,开始基于控制该切换按钮的设备驱动程序的控制,所以通过该设备驱动程序发行该切换请求210。When hardware insertion occurs, according to the operation of the existing VMM described in the chapters of "Interrupt and Event Handling" starting from [0138] of Patent Document 1, the control based on the device driver that controls the switching button is started, so by The device driver issues the switch request 210 .

另外,例如在此时刻没有占用输入输出设备的OS、或在该OS上运行的程序请求占用输入输出设备时,该OS发行以“OS处理212”为主要原因的切换请求210。Also, for example, if there is no OS occupying the input/output device at this time, or a program running on the OS requests to occupy the input/output device, the OS issues a switching request 210 with "OS processing 212" as the main reason.

VMM通过检测OS间的事件等OS的下位层的处理,根据需要切换占用输入输出设备的OS,所以发行以“VMM处理213”为主要原因的切换请求210。The VMM switches the OS occupying the input/output device as necessary by detecting inter-OS events and other OS lower layer processes, so it issues a switching request 210 with "VMM processing 213" as the main reason.

例如,在执行从专利文献1的从[0159]开始的“Debugging”的章节中记载的VMM的OS调试功能时,VMM发行该切换请求210。For example, the VMM issues the switching request 210 when executing the OS debugging function of the VMM described in the chapter "Debugging" starting from [0159] of Patent Document 1.

在占用输入输出设备的OS中,在发生了特定的状态变化时,发生以“OS状态变化214”为主要原因的切换请求210。When a specific state change occurs in the OS occupying the input/output device, a switching request 210 is generated with an "OS state change 214" as the main cause.

尤其,在该OS、或其它OS或VMM等具有状态变化检测功能时,该状态变化检测功能发行该切换请求210。In particular, when the OS or other OS or VMM has a state change detection function, the state change detection function issues the switching request 210 .

作为这样的状态变化的一例,考虑了OS的再启动或OS的意外停机。As an example of such a state change, restart of the OS or unplanned shutdown of the OS can be considered.

另外,在从专利文献1的[0122]开始的“Hot Reboot of Secondary OperatingSystem”的章中记载着状态变化检测功能的一例。In addition, an example of the state change detection function is described in the chapter "Hot Reboot of Secondary Operating System" starting from [0122] of Patent Document 1.

具体来说,关于怎样向请求受理部110通知由各程序、各OS、设备驱动程序或VMM等发行的切换请求210,依存于设备驱动程序及输入输出控制装置100等的配置方法。Specifically, how to notify the request accepting unit 110 of the switching request 210 issued by each program, each OS, device driver, or VMM depends on the arrangement method of the device driver and the input/output control device 100 .

关于详细的内容在第2~第4实施方式中进行记述,但是切换请求210至少含有可以特定请求源的信息、和请求内容(例如是哪个OS占用输入输出设备的请求,或者是占用哪个输入输出设备的请求等)。The details are described in the second to fourth embodiments, but the switching request 210 includes at least information that can identify the request source and the content of the request (for example, which OS occupies the input/output device, or which input/output device requests, etc.).

2.切换请求210的受理/非受理2. Acceptance/non-acceptance of switching request 210

请求受理部110不能受理检测到的全部切换请求210。The request accepting unit 110 cannot accept all the detected switching requests 210 .

是因为存在如下可能性:例如,在恶意的程序连续发行切换请求210,请求受理部110受理了全部该切换请求时,多次发行发生画面的切换,或者在特定OS上长时间占用输入输出设备,由此使用性显著下降。This is because, for example, when a malicious program continuously issues switching requests 210 and the request accepting unit 110 accepts all of the switching requests, there is a possibility that switching of the screen occurs after multiple issuances, or the input/output device is occupied for a long time on a specific OS. , which significantly reduces usability.

请求受理部110在给予了用于判定是否应该受理检测到的切换请求210的请求规则250时,根据该请求规则250进行对于该切换请求210的受理判定。When given a request rule 250 for judging whether or not a detected handover request 210 should be accepted, the request accepting unit 110 makes an acceptance judgment for the handover request 210 based on the request rule 250 .

在表1中表示该请求规则250的一例。Table 1 shows an example of the request rule 250 .

在表1的例子中,可靠性低的一般OS以及可靠性高的安全OS运行,在一般OS中仅运行一般程序,在安全OS中运行一般程序以及特权程序。In the example shown in Table 1, a low-reliability general OS and a high-reliability security OS are run, only general programs are run in the general OS, and general programs and privileged programs are run in the security OS.

安全OS与一般OS的区别是,安全OS中确保了非常强固的保密,一般OS在该OS、或在该OS上运行的程序中可能存在不合适或恶意。The difference between the secure OS and the normal OS is that very strong security is ensured in the secure OS, whereas there may be inappropriateness or maliciousness in the OS or programs running on the normal OS.

[表1][Table 1]

Figure G2008102131416D00141
Figure G2008102131416D00141

请求受理部110时常无条件地受理来自VMM的切换请求210。The request accepting unit 110 always accepts the switching request 210 from the VMM unconditionally.

这是因为来自VMM的切换请求210是由于如上所述的调试功能的启动等而发行的紧迫请求。This is because the switching request 210 from the VMM is an urgent request issued due to activation of the debugging function as described above.

另外,是因为VMM与安全OS同样被假定为不含有程序错误及脆弱性。In addition, it is because the VMM is assumed to be free from program errors and vulnerabilities similarly to the safe OS.

同样,请求受理部110对于通过安全OS的特权程序发行的切换请求210也以无条件受理。Similarly, the request accepting unit 110 unconditionally accepts the switching request 210 issued by the privileged program of the secure OS.

作为特权程序,例如假定在系统的状态变化时启动的程序。具体来说,作为特权程序的一例举出:将硬件的故障通知给用户的程序、将电池量的下降通知给用户的程序、以及将病毒的检测通知给用户的程序等。As the privileged program, for example, a program assumed to be started when the state of the system changes. Specifically, examples of privileged programs include a program that notifies a user of a hardware failure, a program that notifies a user of a decrease in battery power, and a program that notifies a user of a virus detection.

安全OS自身保障安全性,被设计为极力避开由不需要的切换导致的使用性下降,所以请求受理部110对于来自通知这些重要信息这样的程序的切换请求210以无条件受理。The secure OS itself guarantees security and is designed to avoid usability degradation caused by unnecessary switching as much as possible. Therefore, the request accepting unit 110 unconditionally accepts the switching request 210 from a program that notifies such important information.

请求受理部110对于由安全OS的一般程序发行的切换请求210,只限于用户许可的情况下受理。The request accepting unit 110 accepts the switching request 210 issued by the general program of the secure OS only when the user permits it.

例如,考虑在安全OS侧的邮件接受者接收了邮件时为了向用户通知其旨意而发行切换请求210的情况。For example, consider a case in which the switching request 210 is issued to notify the user of the fact when the mail recipient on the secure OS side receives the mail.

此时,用户正利用一般OS的特定程序,而通过切换OS也许避开妨碍该特定程序的利用。At this time, the user is using a specific program of the general OS, and it is possible to avoid interfering with the use of the specific program by switching the OS.

因此,请求受理部110一旦保留接收到的切换请求210,就对一般OS进行让用户判断可否切换OS的通知。Therefore, once the request accepting unit 110 holds the received switching request 210 , it notifies the general OS for the user to determine whether or not to switch the OS.

具体来说,请求受理部110启动询问向用户的许诺的、存在于该OS上的用户许诺程序,该用户许诺程序询问对于用户的上述判断。Specifically, the request accepting unit 110 activates a user acceptance program existing on the OS that inquires about an acceptance to the user, and the user acceptance program inquires about the above-mentioned determination of the user.

在与这样的特定OS的通信中利用在从专利文献1的[149]开始的“Inter-operating System Communication S-Virtual buS”中记载的OS间通信功能等。The inter-OS communication function described in "Inter-operating System Communication S-Virtual buS" starting from [149] of Patent Document 1 is used for communication with such a specific OS.

如果在用户许诺了OS的切换时,请求受理部110受理保留着的切换请求210。When the user approves OS switching, the request accepting unit 110 accepts the remaining switching request 210 .

另外,在用户没有许诺OS的切换时,请求受理部110不受理保留着的切换请求210。In addition, when the user does not approve the OS switching, the request accepting unit 110 does not accept the remaining switching request 210 .

这里,考虑了用户对于是否许诺了OS的切换没有作出反应的情况。Here, a case is considered in which the user does not respond to whether or not OS switching is permitted.

例如,考虑了在一般OS上运行的用户许诺程序由于不适合的状况而没有正常运行的情况等。For example, a case where a user-approved program running on a general OS does not normally run due to an unsuitable situation is considered.

为了对应于这样的情况,请求受理部110可以为这样的构成:在一定时间内保留着切换请求210的情况下受理该切换请求210。由此,可以防止成为依旧存储着保留的切换请求210的状况。In order to cope with such a situation, the request accepting unit 110 may be configured to accept the switching request 210 when the switching request 210 remains for a certain period of time. Thereby, it is possible to prevent a situation where the reserved switching request 210 is still stored.

请求受理部110对于由一般OS的一般程序发行的切换请求210,基本上进行与安全OS的一般程序同等的判断。The request accepting unit 110 basically performs the same determination as the general program of the secure OS with respect to the switching request 210 issued by the general program of the general OS.

即,请求受理部110在由用户许诺了OS的切换时受理该切换请求210。That is, the request accepting unit 110 accepts the switching request 210 when the user approves the OS switching.

但是,请求受理部110,即使在将切换请求210保留了一定时间的情况下,也不受理该切换请求210。However, the request accepting unit 110 does not accept the switching request 210 even if it holds the switching request 210 for a certain period of time.

安全OS上的用户许诺程序,因为没有由于不适合的状况等而意外停机的情况,所以用户只要正利用计算机,基本来说,切换请求210就不会成为保留状态。Since the user-approved program on the secure OS does not unexpectedly shut down due to unsuitable conditions, etc., as long as the user is using the computer, the switching request 210 is basically not held.

另外,作为在一般OS上运行的一般程序,还可假定如用户从任意网页下载的程序。In addition, as a general program running on a general OS, a program such as a user downloading from an arbitrary web page can also be assumed.

此时,还考虑了该程序具有不适合或恶意、发行不正当的切换请求210的情况。At this time, it is considered that the program is inappropriate or malicious, or that the switching request 210 is issued illegally.

例如,假定该程序连续发行切换请求210的情况,或者在不需要占用输入输出设备时也发行切换请求210的情况。For example, assume a case where the program continuously issues the switching request 210, or a case where the switching request 210 is also issued when the input/output device does not need to be occupied.

用户可以通过用户许诺程序来拒绝OS的切换,但是每次判断是否许诺OS的切换导致使用性的下降。The user can refuse the switching of the OS through the user approval program, but each judgment whether to allow the switching of the OS results in a decrease in usability.

为了防止以上这样的不正当切换请求210,用户等预先设定被视为不正当的切换请求210的条件,请求受理部110可以自动不受理与该条件吻合的切换请求210。In order to prevent unauthorized switching requests 210 as described above, the user etc. preliminarily sets the conditions for the switching requests 210 to be regarded as unauthorized, and the request accepting unit 110 may automatically not accept the switching requests 210 matching the conditions.

例如,请求受理部110也可以不受理来自如在一定时间内发行一定次数以上的切换请求210那样的程序的切换请求210。For example, the request accepting unit 110 may not accept the switching request 210 from a program that issues the switching request 210 more than a certain number of times within a certain period of time.

另外,用户在程序安装时可以设定是否必须不受理由该程序发行的切换请求210,因此可以自动生成不受理切换请求210的条件。In addition, when the program is installed, the user can set whether or not to reject the switching request 210 issued by the program, so that the conditions for not accepting the switching request 210 can be automatically generated.

此时,根据程序安装中的用户的指定,一般OS可以利用OS间通信功能等来改写请求规则250,使其不受理来自该程序的切换请求210。At this time, the general OS may rewrite the request rule 250 so that the switch request 210 from the program is not accepted by using the inter-OS communication function or the like according to the designation by the user during the program installation.

通过切换按钮发行的切换请求210是基于用户的意思的切换请求210,所以请求受理部110基本上受理该切换请求210。Since the switch request 210 issued by the switch button is based on the user's intention, the request accepting unit 110 basically accepts the switch request 210 .

但是,也有由第3者通过任意启动安全OS上的程序来启动涉及到系统根本的特权程序的可能性。However, there is also a possibility that a third party starts a privileged program related to the root of the system by arbitrarily starting a program on the secure OS.

因此,向安全OS的切换时促使来自用户的密码(秘密信息)的输入。由此,只有该计算机的正规用户才可以进行向安全OS的切换。Therefore, when switching to a secure OS, input of a password (secret information) from the user is prompted. Thus, only authorized users of the computer can switch to the secure OS.

此外,关于促使密码输入的程序的调用方法及处理方法,与用户许诺程序相同。In addition, the calling method and processing method of the program prompting password input are the same as those of the user authorization program.

另外,请求规则250与如上所述地由请求源规定的规则不同,也有规定被请求的输入输出设备的情况。In addition, the request rule 250 may specify the requested input/output device differently from the rule specified by the request source as described above.

例如,通常由程序同时利用作为标准输入的键盘以及作为标准输出的显示器。For example, it is common for programs to utilize both the keyboard as standard input and the monitor as standard output.

因此,例如,请求规则250在请求仅占用键盘时可以不受理该切换请求210。Thus, for example, the request rule 250 may not accept the switch request 210 when only the keyboard is requested.

由此,可以回避如下的死锁(dead lock)状态:特定程序在正占用键盘的状态下请求占用显示器,同时,其它程序在正占用显示器的状态下请求占用键盘。Thereby, it is possible to avoid a dead lock state in which a specific program requests to occupy the display while occupying the keyboard, and at the same time, other programs request to occupy the keyboard while occupying the display.

另外,请求规则250可以将由VMM以及安全OS的特权程序发行的切换请求210作为特权请求来处理。In addition, the request rule 250 may handle the switching request 210 issued by the VMM and the privileged program of the secure OS as a privileged request.

所谓特权请求就是被规定为,在根据该特权请求在特定OS中占用了输入输出设备时,到满足特定条件之前无条件地不受理其它OS占用该输入输出设备的切换请求210的切换请求。The so-called privilege request is defined as a switching request that unconditionally does not accept the switching request 210 that another OS occupies the input/output device until a specific condition is satisfied when the input/output device is occupied by the specific OS according to the privilege request.

例如,作为安全OS的特权程序的病毒检测软件,在正占用输入输出设备时,该特权程序为了在明示地开放该输入输出设备之前占用该输入输出设备而无条件地不受理由一般程序发行的切换请求210。For example, when virus detection software, which is a privileged program of a secure OS, is occupying an input/output device, the privileged program is unconditionally not subject to switching by a general program in order to occupy the input/output device before explicitly opening the input/output device. Request 210.

此外,明示的开放通知以OS间通信功能等这样的与切换请求210的通知同样的结构来实现。In addition, the explicit open notification is realized by the same configuration as the notification of the switching request 210 such as an inter-OS communication function.

另外,上述的VMM、OS或程序可以通过预先参照请求规则250来判断是否可以发行切换请求210。其结果,可以限制无效的切换请求210的发行。In addition, the above-mentioned VMM, OS, or program can judge whether the switching request 210 can be issued by referring to the request rule 250 in advance. As a result, issuance of invalid switching requests 210 can be restricted.

在发行切换请求210发行时,发生输入输出控制装置100运行的OS或向VMM的OS间的切换。When the issue switching request 210 is issued, switching between the OS that the input/output control device 100 operates or the OS of the VMM occurs.

因此,这样通过在切换请求210发行前预先判断是否受理,可以削减无效的OS间的切换,可以减少开销。Therefore, by judging in advance whether or not to accept the switching request 210 before issuing it, it is possible to reduce useless switching between OSes and reduce overhead.

但是,因为考虑到上述的一般程序即使知道为不受理也发行切换请求210的情况,所以也有请求受理部110根据切换请求210的发行源需要再次检查请求规则250的情况。However, since the above-mentioned general program may issue the switch request 210 even if it is known to be unacceptable, the request accepting unit 110 may need to recheck the request rule 250 depending on the source of the switch request 210 .

3.切换请求210的通知3. Notification of switching request 210

请求受理部110将已受理的切换请求210通知给控制信息生成部120。The request accepting unit 110 notifies the control information generating unit 120 of the accepted switching request 210 .

控制信息生成部120根据请求受理部110已受理的切换请求210来生成控制信息121。The control information generating unit 120 generates the control information 121 based on the switching request 210 accepted by the request accepting unit 110 .

这里,控制信息121为规定目前占用输入输出设备的OS是哪个OS的状态信息。Here, the control information 121 is state information specifying which OS is currently occupying the input/output device.

控制信息生成部120作为输入至少具有输入输出设备表220。The control information generation unit 120 has at least an input/output device table 220 as an input.

例如如表2所示,控制信息121规定通过输入输出设备表220指定的全部设备在当前时刻由哪个OS占用。For example, as shown in Table 2, the control information 121 specifies which OS occupies all the devices specified by the input/output device table 220 at the current time.

切换请求210至少指定更新控制信息的输入输出设备、和占用该输入输出设备的OS,所以控制信息生成部120根据该切换请求210可以生成该控制信息121。The switching request 210 specifies at least an I/O device for updating control information and an OS occupying the I/O device, so the control information generator 120 can generate the control information 121 according to the switching request 210 .

这里如上所述,屏蔽(mask)状态表示无条件地不受理通过特权请求的发行来变更控制信息121这样的切换请求210的状态。Here, as described above, the mask state indicates a state in which the switching request 210 of changing the control information 121 by issuance of a privilege request is unconditionally rejected.

[表2][Table 2]

  控制信息的种类Types of control information   输入输出设备Input and output devices   占用OSoccupancy OS   屏蔽状态Shield status   输入目的地信息Enter destination information   键盘keyboard   安全OSSecurity OS   屏蔽Shield   输入目的地信息Enter destination information   鼠标mouse   安全OSSecurity OS   屏蔽Shield   输出可否信息Output whether or not information   显示器display   安全OSSecurity OS   屏蔽Shield 输出可否信息output admissibility information 场声器Field speaker 一般OSGeneral OS

控制信息输出部130输出生成的控制信息121。The control information output unit 130 outputs the generated control information 121 .

具体来说,控制信息输出部130向适当的部件(component)输出用于特定输入目的地OS的输入目的地信息230,以及针对OS的、决定输出可否的输出可否信息240。Specifically, the control information output unit 130 outputs the import destination information 230 for specifying the import destination OS, and the export permission information 240 for determining the export permission for the OS to an appropriate component.

作为输出目的地可以假定为设备驱动程序、VMM或窗口管理器(WindowManager)等的GUI服务器用程序等。As an output destination, a device driver, a program for a GUI server such as a VMM or a window manager (WindowManager), or the like can be assumed.

此外,对于控制信息输出部130的动作在后面进行叙述。In addition, the operation of the control information output unit 130 will be described later.

(输入输出控制方法)(Input and output control method)

采用图2对第1实施方式的输入输出控制方法进行说明。具体来说,对在具有多个OS的同时执行功能的主系统上,在至少2个以上的OS同时运行的计算机中控制该计算机具有的输入设备或者输出设备的输入输出的方法进行说明。The input/output control method of the first embodiment will be described using FIG. 2 . Specifically, a method of controlling input and output of an input device or an output device included in a computer in which at least two or more OSs are simultaneously running on a main system having a plurality of OSs that execute functions simultaneously will be described.

如图2所示,在步骤S101中,输入输出控制装置100受理切换请求210,该切换请求210,请求切换占用输入设备或者输出设备的OS。As shown in FIG. 2 , in step S101 , the input/output control device 100 accepts a switching request 210 requesting switching of an OS occupying an input device or an output device.

这里,输入输出控制装置100可以受理来自控制计算机预先具备的第1输入设备的第1控制软件(设备驱动程序)的切换请求210,还可以受理来自OS的切换请求210,或者可以受理来自主系统的切换请求210。Here, the input/output control device 100 may accept the switching request 210 from the first control software (device driver) of the first input device provided in advance in the control computer, may also accept the switching request 210 from the OS, or may accept the switching request 210 from the main system. The switching request 210 of .

另外,在步骤S101中,在给予了规定对于切换请求210的处理的请求规则250时,输入输出控制装置100根据该请求规则250来决定关于切换请求210的受理或者不受理。In addition, in step S101 , when the request rule 250 defining the processing of the switching request 210 is given, the input/output control device 100 decides whether to accept or not to accept the switching request 210 according to the request rule 250 .

此外,请求规则250在受理切换请求210时请求秘密信息(密码)的输入的情况下,在步骤S101中,输入输出控制装置100仅在秘密信息正确时受理该切换请求210。Also, when the request rule 250 requests input of secret information (password) when accepting the switching request 210, the input/output control device 100 accepts the switching request 210 only when the secret information is correct in step S101.

或者,在请求规则250定义不正当的切换请求时,在步骤S101中,输入输出控制装置100在检测到的切换请求210为不正当时不受理该切换请求210。Alternatively, when the request rule 250 defines an invalid switching request, in step S101 , the input/output control device 100 does not accept the switching request 210 when the detected switching request 210 is invalid.

这里,所谓“不正当的切换请求”,例如可以举出一定时间内的连续的切换请求210,或者由切换请求210的发行没有被允许的OS发行的切换请求210等。Here, the "unauthorized switching request" includes, for example, continuous switching requests 210 within a certain period of time, or switching requests 210 issued by an OS for which issuance of the switching requests 210 is not permitted, and the like.

另外还有,请求规则250,在受理切换请求210时,需要基于来自用户的特定的动作的用户的许可/不许可的判定的情况下,在步骤S101中,输入输出控制装置100根据基于特定的动作的许可来受理该切换请求210。In addition, when the request rule 250 accepts the switching request 210, when it is necessary to determine the user's permission/disapproval based on a specific action from the user, in step S101, the input/output control device 100 The switching request 210 is accepted with permission of the action.

另外,在一定时间内从用户没有得到对基于特定动作的许可/不许可的任何判定的情况下,在步骤S101中,输入输出控制装置100受理该切换请求210。In addition, when the user has not received any determination of permission/non-permission based on a specific action within a certain period of time, in step S101 , the input/output control device 100 accepts the switching request 210 .

另外,在请求规则250将特定的切换请求210设为“特权请求”时,在步骤S101中,输入输出控制装置100在生成基于该特权请求的控制信息后到满足特定条件之前,根据该特权请求将对于在特定OS中占用的输入设备或者输出设备的切换请求210设为不受理。In addition, when the request rule 250 sets the specific switching request 210 as a "privilege request", in step S101, the input/output control device 100 generates the control information based on the privilege request and before satisfying a specific condition, according to the privilege request. The switching request 210 for an input device or an output device occupied by a specific OS is not accepted.

这里,所谓“特定条件”例如举出已结束发行了特权请求的程序的处理的情况等。Here, the term "specific condition" includes, for example, the case where the processing of the program that issued the privilege request has been completed.

另外,在计算机上的第一OS或者主系统具有检测在该计算机上运行的OS的特定的状态变化的状态变化检测功能时,在步骤S101中,输入输出控制装置100可以根据占用输入设备或者输出设备的第二OS的状态变化,受理通过该状态变化检测功能发行的切换请求210。In addition, when the first OS or the main system on the computer has a state change detection function for detecting a specific state change of the OS running on the computer, in step S101, the input/output control device 100 may input or output The state change of the second OS of the device accepts a switching request 210 issued by the state change detection function.

这里,所谓“状态变化”,如上所述例如是向由于意外停机或结束等而导致的不能正常运行第二OS的状态的变化。Here, the "state change" is, for example, a change to a state in which the second OS cannot be normally operated due to unexpected shutdown or termination as described above.

在步骤S102中,输入输出控制装置100根据切换请求210,生成至少含有来自输入设备的、特定输入目的地OS的信息的输入目的地信息230、或者至少含有针对OS的、特定可否向输出设备输出的信息的输出可否信息240。In step S102, the input/output control device 100 generates input destination information 230 including at least information specifying the input destination OS from the input device, or at least information specifying whether or not to output to the output device for the OS, based on the switching request 210. The output availability information 240 of the information.

在步骤S103中,输入输出控制装置100向适当的部件输出输入目的地信息230以及输出可否信息240。输出目的地是设备驱动程序、VMM或窗口管理器等的GUI服务器程序。In step S103, the input/output control device 100 outputs the input destination information 230 and the output availability information 240 to appropriate components. The output destination is a GUI server program such as a device driver, VMM, or window manager.

(作用以及效果)(function and effect)

根据本实施方式,针对由于各种原因而产生的切换请求210,逐个去生成控制信息121由此可以逐个切换占用输入输出设备的OS。According to this embodiment, for switching requests 210 generated due to various reasons, control information 121 is generated one by one, so that OSs occupying input and output devices can be switched one by one.

其结果,关于在任意定时进行的输入输出,可以向适当的OS输入来自输入设备的输入信息,向输出设备仅仅输出输出信息中的、来自适当的OS的输出信息。As a result, with regard to input and output performed at arbitrary timing, input information from the input device can be input to an appropriate OS, and only output information from the appropriate OS can be output to the output device.

另外,OS的切换后,因为不处理来自占用OS以外的输入输出,所以可以减少OS间的上下文切换,并提高性能。In addition, since the input and output from other than the occupying OS are not processed after the switching of the OS, context switching between OSes can be reduced and performance can be improved.

此外,因为仅仅进行输入输出设备与OS之间的接口的切换,所以还有不依存于上位应用程序这样的优点。In addition, since only the interface between the input/output device and the OS is switched, there is an advantage that it does not depend on the upper-level application program.

另外,根据本实施方式,输入输出控制装置100的请求受理部110受理来自控制计算机预先具备的第1输入设备的第1控制软件(设备驱动程序)的切换请求210,因此可以通过来自在该计算机中具有的输入设备的输入来生成控制信息121。In addition, according to the present embodiment, the request accepting unit 110 of the input/output control device 100 accepts the switching request 210 from the first control software (device driver) of the first input device provided in advance in the control computer, so The control information 121 is generated by inputting an input device provided in the computer.

其结果,在最单一的例子中,在具有特殊的切换按钮的计算机中,通过用户按下该切换按钮,可以进行OS的切换。这里,可以将键盘的特定的按钮作为该切换按钮来分配并使用。As a result, in the simplest example, in a computer having a special switch button, the OS can be switched by pressing the switch button by the user. Here, a specific button of the keyboard can be allocated and used as the switching button.

另外,根据本实施方式,输入输出控制装置100的请求受理部110受理来自OS的切换请求210,因此可以根据该OS的特定的处理来生成控制信息121。In addition, according to the present embodiment, since the request accepting unit 110 of the input/output control device 100 accepts the switching request 210 from the OS, it is possible to generate the control information 121 according to the specific processing of the OS.

其结果,例如在该OS上运行了特定的GUI应用程序时,可以将HID的控制移动到该特定的GUI应用程序中。As a result, for example, when a specific GUI application program is running on the OS, control of the HID can be transferred to the specific GUI application program.

另外,根据本实施方式,输入输出控制装置100的请求受理部110在给予了规定对于切换请求210的处理的请求规则250时,根据该请求规则250来判断是否受理该切换请求210,因此可以防止由于对以各种原因产生的切换请求210全部受理而导致的使用性的下降或保密上的危险性这样的威胁。In addition, according to the present embodiment, when the request accepting unit 110 of the input/output control device 100 is given the request rule 250 specifying the processing for the switching request 210, it judges whether to accept the switching request 210 according to the request rule 250, so that it is possible to prevent Threats such as degradation of usability or risk of confidentiality due to acceptance of all switching requests 210 generated for various reasons.

另外,根据本实施方式,在输入输出控制装置100中,请求规则250在切换请求210的受理中请求输入秘密信息(密码),请求受理部110仅在该秘密信息正确时受理该切换请求,因此可以通过密码等来限制向特定OS的切换。In addition, according to the present embodiment, in the input/output control device 100, the request rule 250 requests the input of secret information (password) during the acceptance of the switching request 210, and the request accepting unit 110 accepts the switching request only when the secret information is correct. Switching to a specific OS can be restricted by a password or the like.

例如,在准备有可进行计算机的基本设定的安全OS这样的情况下,由该计算机的用户通过预先设定的密码,可以限制由第3者引起的向该安全OS的切换。For example, when a secure OS is prepared for basic computer settings, switching to the secure OS by a third party can be restricted by a password set in advance by the user of the computer.

另外,根据本实施方式,在输入输出控制装置100中,请求规则250定义不正当的切换请求,请求受理部110在切换请求210为不正当时不受理该切换请求210,因此可以限制不正当的切换请求210。In addition, according to the present embodiment, in the input/output control device 100, the request rule 250 defines an illegal switching request, and the request accepting unit 110 does not accept the switching request 210 when the switching request 210 is illegal, so that the illegal switching can be restricted. Request 210.

尤其,可以限制基于不正当OS的误动作或恶意的动作的不正当的切换请求210,防止特定OS的设备的占用,及由反复的OS的切换而导致的使用性下降。In particular, unauthorized switching requests 210 due to erroneous or malicious operations of an unauthorized OS can be restricted, and occupation of a device with a specific OS and degradation of usability due to repeated OS switching can be prevented.

另外,根据本实施方式,在输入输出控制装置100中,请求规则250在切换请求210的受理中,需要基于来自用户的特定动作的用户的许可/不许可的判定,请求受理部110根据基于该特定动作的许可来受理该切换请求210,因此根据用户的许可/不许可的判定,可以进行OS的切换。In addition, according to the present embodiment, in the input/output control device 100, the request rule 250 needs to determine the permission/non-permission of the user based on the user's specific action in the acceptance of the switching request 210, and the request accepting unit 110 performs a decision based on the switching request 210. The switching request 210 is accepted by the permission of the specific operation, so that the switching of the OS can be performed based on the user's permission/non-permission determination.

其结果,用户在利用特定应用程序时可以防止由于OS突然切换而导致的使用性下降。As a result, when a user utilizes a specific application program, it is possible to prevent deterioration of usability due to sudden OS switching.

这里,在从用户没有得到许可/不许可的任何判定时,在询问该许可/不许可的程序部分有可能发生某些异常。Here, when no determination of permission/non-permission is obtained from the user, some abnormality may occur in the part of the program that asks for the permission/non-permission.

例如,GUI应用程序有可能意外停机,或者以设备占用为目的而故意不询问用户。For example, it is possible for a GUI application to shut down unexpectedly, or to intentionally not ask the user for the purpose of device hogging.

因此,根据本实施方式,在输入输出控制装置100中,因为在一定时间内从用户没有得到基于特定动作的许可/不许可的任何判定时,请求受理部110受理切换请求210,即,因为在该许可/不许可的应答中设置超时(time-out),所以可以防止上述这样的问题的发生。Therefore, according to the present embodiment, in the input/output control device 100, the request accepting unit 110 accepts the switching request 210 because the user has not received any determination of permission/non-permission of a specific action within a certain period of time, that is, because Since a time-out (time-out) is set in the permission/non-permission response, occurrence of the above-mentioned problem can be prevented.

另外,根据本实施方式,在输入输出控制装置100中,请求规则250将特定的切换请求210作为特权请求,请求受理部110在生成基于该特权请求的控制信息121后到满足特定条件之前,根据该特权请求将对于在特定OS中占用的输入设备或者输出设备的切换请求210设为不受理,因此,将特定的切换请求210看做特权请求,根据该特权请求可以最优先分配输入输出设备。In addition, according to the present embodiment, in the input/output control device 100, the request rule 250 defines the specific switching request 210 as a privilege request, and the request accepting unit 110 executes the request according to This privilege request does not accept the switch request 210 for the input device or output device occupied by the specific OS. Therefore, the specific switch request 210 is regarded as a privilege request, and the input/output device can be allocated with the highest priority according to the privilege request.

这样的特权请求例如在考虑到对于终端的保密检查或调试检查等强制启动的情况的程序启动时发生。此外,该特权请求比在之后发生的一般切换请求210还优先,在结束处理之前,不会解除输入输出设备的占用。Such a privilege request occurs, for example, at the time of program startup in consideration of forced startup such as a security check on a terminal or a debugging check. In addition, this privilege request has priority over the general switching request 210 that occurs later, and the occupation of the input/output device is not released until the processing is completed.

另外,根据本实施方式,输入输出控制装置100的请求受理部110受理来自主系统的切换请求210,因此可以受理由VMM等主系统发行的切换请求210。In addition, according to the present embodiment, since the request accepting unit 110 of the input/output control device 100 accepts the switching request 210 from the main system, it is possible to accept the switching request 210 issued by the main system such as VMM.

其结果,由于VMM控制的各OS的下位层的处理,可以生成控制信息121。As a result, the control information 121 can be generated by the processing of the lower layer of each OS controlled by the VMM.

另外,根据本实施方式,在输入输出控制装置100中,在计算机上的第一OS或者主系统具有检测在该计算机上运行的OS的特定的状态变化的状态变化检测功能时,请求受理部110受理该状态变化检测功能根据占用输入设备或者输出设备的第二OS的状态变化发行的切换请求210,因此在OS或VMM检测到特定OS的状态变化时,可以根据该状态变化来生成控制信息121。In addition, according to the present embodiment, in the input/output control device 100, when the first OS or the main system on the computer has a state change detection function for detecting a specific state change of the OS running on the computer, the request accepting unit 110 The state change detection function accepts the switching request 210 issued by the state change of the second OS occupying the input device or output device, so when the OS or VMM detects a state change of a specific OS, it can generate control information 121 based on the state change .

作为这样的状态变化,考虑OS的结束及OS的意外停机,状态变化检测机构自身详细记载在专利文献1中。其结果,可以防止在不进行正常动作的OS中占用输入输出设备的情况。As such a state change, the end of the OS and the unplanned shutdown of the OS are considered, and the state change detection mechanism itself is described in detail in Patent Document 1. As a result, it is possible to prevent the occupation of the input/output device by the OS that is not operating normally.

另外,根据本实施方式,OS在发行切换请求210之前读请求规则250,只限于该切换请求210被输入输出控制装置100的请求受理部110受理的情况下,发行该切换请求210,因此可以削减与该切换请求210有关的OS间的切换的处理成本、以及输入输出控制装置100运行的OS或VMM等主系统的处理成本。In addition, according to this embodiment, the OS reads the request rule 250 before issuing the switching request 210, and issues the switching request 210 only when the switching request 210 is accepted by the request accepting unit 110 of the input/output control device 100. The processing cost of inter-OS switching related to the switching request 210 and the processing cost of the main system such as OS and VMM executed by the input/output control device 100 .

另外,根据本实施方式,主系统在发行切换请求210之前,读请求规则250,只限于该切换请求210被输入输出控制装置100的请求受理部110受理的情况下,发行该切换请求210,因此可以削减与该切换请求210有关的OS间的切换的处理成本、以及输入输出控制装置100运行的OS或VMM等主系统的处理成本。In addition, according to this embodiment, before issuing the switching request 210, the host system reads the request rule 250, and issues the switching request 210 only when the switching request 210 is accepted by the request accepting unit 110 of the input/output control device 100. The processing cost of switching between OSes related to the switching request 210 and the processing cost of a main system such as an OS or a VMM operated by the input/output control device 100 can be reduced.

另外,根据本实施方式,在没有占用输入输出设备的OS上运行的程序对OS请求发行切换请求210之前,读请求规则250,只限于该切换请求210被输入输出控制装置100的请求受理部110受理的情况下,发行该切换请求210,因此可以削减与该切换请求210有关的该OS上的程序与该OS之间的上下文切换的处理成本、以及输入输出控制装置100运行的OS或VMM等主系统的处理成本。In addition, according to this embodiment, before the program running on the OS that does not occupy the input/output device requests the OS to issue the switching request 210, the read request rule 250 is limited to the switching request 210 that is input to the request accepting unit 110 of the output control device 100. In the case of acceptance, the switch request 210 is issued, so the processing cost of the program on the OS related to the switch request 210 and context switching between the OS and the OS or VMM that the input/output control device 100 runs can be reduced. The processing cost of the main system.

[第2实施方式][the second embodiment]

(输入输出控制系统)(Input and output control system)

图3是含有第2实施方式的输入输出控制装置100的多个OS环境的系统结构。FIG. 3 is a system configuration of a plurality of OS environments including the input/output control device 100 according to the second embodiment.

第2实施方式的输入输出控制系统具有:OS340、OS350、在该OS340上运行的程序360、在该OS350上运行的程序370、输入设备310、输出设备320和VMM330。The input/output control system of the second embodiment includes OS340, OS350, a program 360 running on the OS340, a program 370 running on the OS350, an input device 310, an output device 320, and a VMM330.

另外,OS340具有:输入输出控制装置100、可控制输出设备320的输出设备控制部342和可控制输入设备310的输入设备控制部341。Moreover, OS340 has the input-output control apparatus 100, the output device control part 342 which can control the output device 320, and the input device control part 341 which can control the input device 310. FIG.

另外,OS350具有:虚拟输入设备控制部351、和虚拟输出设备控制部352。In addition, the OS 350 has a virtual input device control unit 351 and a virtual output device control unit 352 .

这里,OS340例如是如在第1实施方式中叙述的安全OS,OS350是一般OS。Here, OS 340 is, for example, the secure OS described in the first embodiment, and OS 350 is a general OS.

输入设备控制部341以及输出设备控制部342具有作为对设备进行控制的设备驱动程序的功能,实施用于与输入输出控制装置100联合动作的扩展。The input device control unit 341 and the output device control unit 342 have functions as device drivers for controlling devices, and implement extensions for cooperating with the input/output control device 100 .

另外,虚拟输入设备控制部351以及虚拟输出设备控制部352,对OS350及程序370,如作为设备驱动程序那样地工作。In addition, the virtual input device control unit 351 and the virtual output device control unit 352 operate as device drivers for the OS 350 and the program 370 .

实际上,虚拟输入设备控制部351是输入设备控制部341与OS350的接口,对输入设备310与OS350的数据的交换进行中继。Actually, the virtual input device control unit 351 is an interface between the input device control unit 341 and the OS 350 , and relays data exchange between the input device 310 and the OS 350 .

另外,虚拟输出设备控制部352是输出设备控制部342与OS350的接口,对输出设备320与OS350的数据的交换进行中继。In addition, the virtual output device control unit 352 is an interface between the output device control unit 342 and the OS 350 , and relays data exchange between the output device 320 and the OS 350 .

即,虚拟输入设备控制部351将由输入设备控制部341转交的、来自输入设备310的输入信息向OS350输入。That is, the virtual input device control unit 351 inputs input information from the input device 310 transferred from the input device control unit 341 to the OS 350 .

另外,虚拟输出设备控制部352将来自OS350的输出信息转交给输出设备控制部342。Also, the virtual output device control unit 352 transfers output information from the OS 350 to the output device control unit 342 .

实际上,利用由VMM330提供的OS间通信功能来进行跨越了这些OS间的数据的交换。In fact, the inter-OS communication function provided by the VMM 330 is used to exchange data across these OSs.

在第2实施方式中,首先对于输入设备控制部341以及输出设备控制部342利用输入目的地信息230以及输出可否信息240来如何动作进行叙述。In the second embodiment, first, how the input device control unit 341 and the output device control unit 342 operate using the input destination information 230 and the output availability information 240 will be described.

输入输出控制装置100向输入设备控制部341输出输入目的地信息230,向输出设备控制部342输出输出可否信息240。The input/output control device 100 outputs the input destination information 230 to the input device control unit 341 , and outputs the output availability information 240 to the output device control unit 342 .

输入设备控制部341通过从外部向输入设备310输入输入信息来驱动。The input device control unit 341 is driven by inputting input information to the input device 310 from the outside.

发生关于输入的硬件插入后、到动作的控制向输入设备控制部341移动之前的过程,依存于VMM330的动作,其例子详细记载在从专利文献1的[0138]开始的“Interrupt and Event Handling”上。The process after the insertion of hardware related to input and before the control of the operation is transferred to the input device control unit 341 depends on the operation of the VMM330. An example of this is described in detail in "Interrupt and Event Handling" starting from [0138] of Patent Document 1. superior.

输入设备控制部341根据输入目的地信息230可以特定当前哪个OS正占用输入设备310,因此向该OS输入输入信息。The input device control unit 341 can specify which OS is currently occupying the input device 310 based on the input destination information 230 , and thus input input information to the OS.

例如,在OS340正占用输入设备310时,输入设备控制部341进行与通常的设备驱动程序同样的动作,在OS350正占用输入设备310时,输入设备控制部341向虚拟输入设备控制部351输入输入信息。For example, when the OS340 is occupying the input device 310, the input device control unit 341 performs the same operation as a normal device driver, and when the OS350 is occupying the input device 310, the input device control unit 341 inputs an input to the virtual input device control unit 351. information.

输出设备控制部342可以通过输出可否信息240来特定当前哪个OS正占用输出设备320。The output device control unit 342 can specify which OS is currently occupying the output device 320 by outputting the availability information 240 .

在OS340正占用输出设备320时,输出设备控制部342进行与通常的设备驱动程序同样的动作。When the OS 340 is occupying the output device 320 , the output device control unit 342 performs the same operation as a normal device driver.

另外,在OS350正占用输出设备320时,输出设备控制部342将其旨意通知给OS350的虚拟输出设备控制部352,从虚拟输出设备控制部352接收OS350的输出信息后向输出设备320输出。In addition, when the OS 350 is occupying the output device 320 , the output device control unit 342 notifies the virtual output device control unit 352 of the OS 350 of the fact, receives the output information of the OS 350 from the virtual output device control unit 352 and outputs it to the output device 320 .

另外,输入输出控制装置100可以将输入目的地信息230或者输出可否信息240分别向虚拟输入设备控制部351或者虚拟输出设备控制部352输出。In addition, the input/output control device 100 may output the input destination information 230 or the output availability information 240 to the virtual input device control unit 351 or the virtual output device control unit 352 , respectively.

此时,只限于OS350正占用输入设备310的情况下,虚拟输入设备控制部351从输入设备控制部340接收输入信息,只限于OS350正占用输出设备320的情况下,虚拟输出设备控制部352向输出设备控制部342输出输出信息。At this time, only when the OS 350 is occupying the input device 310, the virtual input device control unit 351 receives input information from the input device control unit 340, and only when the OS 350 is occupying the output device 320, the virtual output device control unit 352 sends The output device control unit 342 outputs output information.

其结果,可以防止在输入设备控制部341与虚拟输入设备控制部351之间、或者输出设备控制部342与虚拟输出设备控制部352之间,发生无效的OS间通信。As a result, invalid inter-OS communication can be prevented from occurring between the input device control unit 341 and the virtual input device control unit 351 or between the output device control unit 342 and the virtual output device control unit 352 .

接着,在第2实施方式的输入输出控制系统结构中,根据图4对如何发行请求切换输入输出设备的占用OS的切换请求210进行说明。Next, in the configuration of the input/output control system of the second embodiment, how to issue the switching request 210 requesting to switch the occupied OS of the input/output device will be described with reference to FIG. 4 .

在图4中OS350还具有虚拟输入输出控制装置351A。按照在第1实施方式中所叙述的,切换请求210大分为:以外部输入211为主要原因的切换请求、以OS处理212为主要原因的切换请求、以VMM处理213为主要原因的切换请求、和以OS状态变化214为主要原因的切换请求。In FIG. 4, OS350 also has a virtual input/output control device 351A. As described in the first embodiment, the switch request 210 is largely divided into: a switch request mainly caused by the external input 211, a switch request mainly caused by the OS process 212, a switch request mainly caused by the VMM process 213, and handover requests with OS state change 214 as the main reason.

例如,用户按下计算机预先具有的切换按钮,由此发行以外部输入211为主要原因的切换请求210,进行占用OS的切换。For example, when the user presses a switch button that the computer has in advance, a switch request 210 is issued due to an external input 211 to switch the occupied OS.

此时,控制该切换按钮的切换按钮控制驱动程序343检测到按下了切换按钮,向输入输出控制装置100通知其旨意就可以。In this case, the switch button control driver 343 which controls the switch button detects that the switch button has been pressed and notifies the input/output control device 100 of the fact.

在该切换按钮与输入设备相同时,切换按钮控制驱动程序343,如果被输入的信息与切换请求210有关,则发行该切换请求210,如果不是这样,则作为输入设备控制部341来运行。When the switch button is the same as the input device, the switch button control driver 343 issues the switch request 210 if the input information is related to the switch request 210 , and operates as the input device control unit 341 otherwise.

关于以OS处理212为主要原因的切换请求210,例如考虑在OS中通过利用GUI的程序360或者370来发行的情况。As for the switching request 210 mainly caused by the OS processing 212 , consider a case where the OS is issued by the program 360 or 370 using the GUI, for example.

在程序360发行该切换请求210时,由于是同一OS内,所以通过对输入输出控制装置100发行系统呼叫,来发行该切换请求210。When the program 360 issues the switching request 210 , the switching request 210 is issued by issuing a system call to the input/output control device 100 because it is within the same OS.

例如,在假定了UNIX(注册商标)系OS时,预先将输入输出控制装置100作为设备文件(/dev/ioctrl等),对OS340进行抽象化,程序360发行对于该设备文件的ioctrl系统呼叫。For example, when a UNIX (registered trademark) OS is assumed, the input/output control device 100 is preliminarily abstracted as a device file (/dev/ioctrl, etc.), the OS 340 is abstracted, and the program 360 issues an ioctrl system call to the device file.

ioctrl系统呼叫可以对各设备文件发送独自的请求,所以可以生成如在实施方式1中叙述的切换请求210并发行。The ioctrl system call can send an individual request to each device file, so the switching request 210 as described in Embodiment 1 can be generated and issued.

程序370因为存在于与输入输出控制装置100不同的OS中,所以不能直接发行系统呼叫。Since the program 370 exists in an OS different from that of the input/output control device 100, it cannot issue a system call directly.

因此,对OS350设置中继切换请求210的虚拟输入输出控制装置351A,虚拟输入输出控制装置351A通过利用OS间通信功能,向输入输出控制装置100通知该切换请求210。Therefore, the virtual input/output control device 351A that relays the switching request 210 is provided to the OS 350 , and the virtual input/output control device 351A notifies the input/output control device 100 of the switching request 210 by using the inter-OS communication function.

关于程序370和虚拟输入输出控制装置351的通信,可以用与程序360和输入输出控制装置100同样的手段来实现。The communication between the program 370 and the virtual input/output control device 351 can be realized by the same means as that of the program 360 and the input/output control device 100 .

在发行以VMM处理213为主要原因的切换请求210时,由VMM330利用signal等单一的通信手段。When issuing the switching request 210 mainly caused by the VMM process 213 , the VMM 330 uses a single communication means such as signal.

或者,可以利用在从专利文献1的[0095]开始的“Handling VirtualizedProcessor Exceptions”的章中记载的从VMM向OS发行的虚拟异常。Alternatively, the virtual exceptions issued from the VMM to the OS described in the chapter "Handling Virtualized Processor Exceptions" starting from [0095] of Patent Document 1 can be used.

VMM330因为仅存在于一个系统中,所以即使固定地定义这样的signal等也不要紧。Since VMM330 exists only in one system, it does not matter even if such signals etc. are fixedly defined.

输入输出控制装置100只要确认该signal的发行源是VMM330就可以。The input/output control device 100 only needs to confirm that the source of the signal is the VMM330.

关于以OS状态变化为主要原因的切换请求210,假设在特定OS或者VMM中有状态变化检测功能的情况。此情况下,用上述的某个手段可以实现切换请求210的通知。Regarding the switching request 210 whose main reason is an OS state change, it is assumed that there is a state change detection function in a specific OS or VMM. In this case, the notification of the switching request 210 can be realized by any of the above-mentioned means.

(作用以及效果)(function and effect)

根据本实施方式,特定OS340具有控制输入设备310以及输出设备320的单元(输入设备控制部341以及输出设备控制部342),由此全部的OS340、350可以共享输入设备310以及输出设备320。According to the present embodiment, the specific OS 340 has means for controlling the input device 310 and the output device 320 (the input device control unit 341 and the output device control unit 342), so that all the OSs 340 and 350 can share the input device 310 and the output device 320.

另外,根据本实施方式,只要特定的OS340安全运行就可以防止由于其它的OS350的误动作或存在恶意的动作等而导致不正当地占用输入设备310或者输出设备320的情况。In addition, according to the present embodiment, as long as a specific OS 340 operates safely, it is possible to prevent improper occupation of the input device 310 or the output device 320 due to misoperation or malicious operation of other OS 350 .

另外,根据本实施方式,通过各OS具有的虚拟输入设备控制部351或者虚拟输出设备控制部352,只限于该OS正占用输入设备310或者输出设备320的情况下,发生基于与输入设备控制部341或者输出设备控制部342的通信的OS间的通信,可以抑制无效的OS间通信。In addition, according to the present embodiment, by the virtual input device control unit 351 or the virtual output device control unit 352 of each OS, only when the OS is occupying the input device 310 or the output device 320 , a 341 or the inter-OS communication of the communication of the output device control unit 342 can suppress useless inter-OS communication.

另外,根据本实施方式,在没有占用输入输出设备的OS上运行的程序可以请求该OS发行切换请求210。Also, according to the present embodiment, a program running on an OS that does not occupy an input/output device can request the OS to issue the switching request 210 .

例如,某程序在显示器上输出图像或文字等输出信息时,才对OS请求发行切换请求210。For example, when a certain program outputs output information such as images or characters on a display, the switching request 210 is issued to the OS.

接受该请求后,该OS对输入输出控制装置100发行该切换请求210。Upon receiving the request, the OS issues the switching request 210 to the input/output control device 100 .

其结果,即使是该程序运行时,其它OS可以占用输入输出设备,直到发生输入输出事件。As a result, even while the program is running, other OS can occupy the I/O device until an I/O event occurs.

(第3实施方式)(third embodiment)

在第3实施方式中对于各OS具有输入输出设备控制部的情况进行叙述。In the third embodiment, a case where each OS has an input/output device control unit will be described.

第3实施方式的输入输出控制系统,如图5所示,具有:OS440、OS450、在该OS440上运行的程序460、在该OS450上运行的程序470、输入设备410、输出设备420和VMM430。The input/output control system of the third embodiment has, as shown in FIG.

OS440具有输入设备控制部441和输出设备控制部442,OS450具有输入设备控制部451和输出设备控制部452。OS 440 has an input device control unit 441 and an output device control unit 442 , and OS 450 has an input device control unit 451 and an output device control unit 452 .

另外,VMM430具有输入输出控制装置100。In addition, the VMM 430 has the input/output control device 100 .

在第3实施方式中,全部的OS440、450具有分别控制输入输出设备的输入设备控制部441或者输出设备控制部442。In the third embodiment, all OSs 440 and 450 have an input device control unit 441 or an output device control unit 442 that controls input and output devices, respectively.

通过采取这样的结构,与在第2实施方式中叙述的系统相比,输入输出的性能提高。具体来说,可以预料输入输出的速度提高及资源使用削减。By adopting such a configuration, compared with the system described in the second embodiment, the performance of input and output is improved. Specifically, an increase in the speed of input and output and a reduction in resource usage can be expected.

原因是各设备驱动程序不需要在意自己所属的OS以外的其它OS,可以直接控制输入输出设备,可以省去涉及到OS间的切换的处理。The reason is that each device driver does not need to care about other OSs other than the OS to which it belongs, and can directly control the input and output devices, which can omit the processing related to switching between OSes.

在这样的系统结构中,必需解决属于多个OS的输入设备控制部或者输出设备控制部同时参照单一输入输出设备的、所谓硬件冲突状态。In such a system configuration, it is necessary to resolve a so-called hardware conflict state in which input device control units or output device control units belonging to multiple OSs simultaneously refer to a single input/output device.

因此,输入输出控制装置100在生成了控制信息121时,对全部的输入设备控制部441、451或者输出设备控制部442、452,输出输入目的地信息230或者输出可否信息240。Therefore, when the input/output control device 100 generates the control information 121 , it outputs the input destination information 230 or the output availability information 240 to all the input device control units 441 and 451 or the output device control units 442 and 452 .

例如,考虑了这样的方法:对于全部的OS440、450可读取、VMM430可读写的主存储装置输出输入目的地信息230或者输出可否信息240。For example, a method of outputting the input destination information 230 or outputting the availability information 240 to all main storage devices that are readable by the OS 440 and 450 and readable by the VMM 430 is conceivable.

各输入设备控制部441、451或者输出设备控制部442、452,通过输入目的地信息230或者输出可否信息240来特定自己所属的OS440、450是否正占用输入设备410或者输出设备420,只限于正占用的情况下,控制该输入设备410或者输出设备420。Each input device control unit 441, 451 or output device control unit 442, 452 specifies whether the OS 440, 450 to which it belongs is occupying the input device 410 or the output device 420 through the input destination information 230 or the output permission information 240. In case of occupancy, the input device 410 or the output device 420 is controlled.

输入设备控制部441与第2实施方式相同,对应来自输入设备410的硬件插入的发生来驱动。The input device control unit 441 is driven in response to occurrence of hardware insertion from the input device 410 as in the second embodiment.

在专利文献1或者非专利文献1中所述的VMM,如本系统结构那样,在1个IRQ(Interrupt ReQuest)线(line)中对应着在多个OS上操作的输入设备控制部时,顺次驱动这些输入设备控制部,可以判断调用的输入设备控制部是否参照输入设备410。In the VMM described in Patent Document 1 or Non-Patent Document 1, if one IRQ (Interrupt ReQuest) line (line) corresponds to an input device control unit operating on a plurality of OSs like this system structure, the sequence When these input device control units are driven, it can be judged whether or not the called input device control unit refers to the input device 410 .

使用此构造,被驱动的输入设备控制部441根据输入目的地信息230,如果OS440正占用输入设备410,则驱动作为对应的设备驱动程序的处理。此外,输入设备控制部451也进行同样的操作。With this configuration, the driven input device control section 441 drives processing as a corresponding device driver if the OS 440 is occupying the input device 410 based on the input destination information 230 . In addition, the input device control unit 451 also performs the same operation.

输出设备控制部442根据输出可否信息240,如果OS440正占用输出设备420,则向输出设备420输出OS440的输出信息。此外,输出设备控制部452也进行同样的操作。The output device control unit 442 outputs the output information of the OS 440 to the output device 420 when the OS 440 is occupying the output device 420 based on the output availability information 240 . In addition, the output device control unit 452 also performs the same operation.

作为各OS具有输入设备控制部或者输出设备控制部时的其它结构,还考虑了图6所示的结构。图6所示的结构,与上述图5所示的结构几乎相同,但是VMM430新具有输入输出控制部431。As another configuration in which each OS has an input device control unit or an output device control unit, the configuration shown in FIG. 6 is also conceivable. The configuration shown in FIG. 6 is almost the same as the configuration shown in FIG. 5 described above, but the VMM 430 newly includes an input/output control unit 431 .

输入输出控制部431具有signal或虚拟异常等这样的与各OS的通信手段,根据这些通信功能使各OS的输入设备控制部441、451或者输出设备控制部442、452有效化或者无效化。The input/output control unit 431 has communication means with each OS such as signal or virtual exception, and enables or disables the input device control units 441 and 451 or the output device control units 442 and 452 of each OS based on these communication functions.

例如,在OS440或者450是Linux时,Linux在内核动作中可以动态进行设备驱动程序的安装或者卸载。For example, when OS 440 or 450 is Linux, Linux can dynamically install or uninstall the device driver during the kernel operation.

因此例如,通过输入输出控制装置100,在OS440占用输入设备410时,输入输出控制部431向OS440通知使OS440的输入设备控制部441有效化。Therefore, for example, when the OS 440 occupies the input device 410 by the input/output control device 100 , the input/output control unit 431 notifies the OS 440 to enable the input device control unit 441 of the OS 440 .

OS440接收该通知后,将输入设备控制部441装入内核代码中。OS 440 , upon receiving the notification, loads the input device control unit 441 into the kernel code.

对其它OS450的输入设备控制部451或者输出设备控制部451、452也进行同样的处理。The same processing is performed on the input device control unit 451 or the output device control units 451 and 452 of the other OS 450 .

另外还有,作为其它结构例还考虑图7所示的结构。在图7所示的结构中,VMM430新具有插入通知部432。In addition, the structure shown in FIG. 7 is also considered as another structural example. In the configuration shown in FIG. 7 , VMM 430 newly includes an insertion notification unit 432 .

插入通知部432是扩展了在专利文献1或者非专利文献1等中记载的VMM一般具有的插入处理程序(handler)而成的。The interrupt notification unit 432 is obtained by extending the interrupt handler generally included in the VMM described in Patent Document 1 or Non-Patent Document 1 or the like.

一般的插入处理程序在发生了硬件插入时,根据其插入序号来判断与哪个OS对应的设备驱动程序存在,对该OS通知插入。A general plug-in processing program, when hardware plug-in occurs, judges the existence of a device driver corresponding to which OS based on the plug-in serial number, and notifies the OS of the plug-in.

与IRQ序号对应的设备有多个、控制该设备的设备驱动程序分散在多个OS间时,该插入处理程序依次对OS进行插入通知。When there are multiple devices corresponding to the IRQ numbers and the device drivers controlling the devices are distributed among multiple OSes, the interrupt processing program sequentially notifies the OS of the interrupt.

插入通知部432在发生来自输入设备410的插入请求时,通过利用输入输出控制装置100中的输入目的地信息230来特定通知插入的OS。The interrupt notification unit 432 uses the input destination information 230 in the input/output control device 100 to specify an OS for notification of the interrupt when a interrupt request is generated from the input device 410 .

即,插入通知部432在插入发生时特定占用输入设备410的OS,对该OS通知插入。That is, the interrupt notification unit 432 specifies the OS occupying the input device 410 when the interrupt occurs, and notifies the OS of the interrupt.

接着,在第3实施方式的系统结构中,根据图8对如何发行请求切换占用输入输出设备的OS的切换请求210进行说明。Next, in the system configuration of the third embodiment, how to issue the switching request 210 requesting to switch the OS of the occupied input/output device will be described with reference to FIG. 8 .

在图8中,OS440、450新具有虚拟输入输出控制装置443、453,OS440还具有作为切换按钮用的设备驱动程序的切换按钮控制驱动程序444。In FIG. 8 , OS440 and 450 newly include virtual input/output control devices 443 and 453 , and OS440 further includes a switching button control driver 444 as a device driver for switching buttons.

程序460、470对虚拟输入输出控制装置443、453分别发行切换请求210的处理,与在第2实施方式中程序370对虚拟输入输出控制装置351发行切换请求210的处理相同。The processing of the programs 460 and 470 to issue the switching request 210 to the virtual input/output control devices 443 and 453 is the same as the processing of the program 370 to issue the switching request 210 to the virtual input/output control device 351 in the second embodiment.

另外,切换按钮控制驱动程序444对虚拟输入输出控制装置443发行切换请求210的处理,与在第2实施方式中切换按钮控制驱动程序343对输入输出控制装置100发行切换请求210的处理相同。Note that the switching button control driver 444 issues the switching request 210 to the virtual I/O control device 443 in the same manner as the switching button control driver 343 issues the switching request 210 to the I/O control device 100 in the second embodiment.

进一步,VMM的调试功能433以及输入输出控制装置100存在于由VMM430控制的同一存储器空间内,所以在发行切换请求210时不需要特别的功能。Furthermore, since the debug function 433 of the VMM and the input/output control device 100 exist in the same memory space controlled by the VMM 430 , no special function is required for issuing the switching request 210 .

在虚拟输入输出控制装置443、453对输入输出控制装置100发行切换请求210时,VMM430使用作为对OS440提供的接口的“hyper call”。When the virtual input/output control devices 443 and 453 issue the switching request 210 to the input/output control device 100 , the VMM 430 uses "hyper call" which is an interface provided to the OS 440 .

对于“hyper call”以同名在非专利文献1的3.1节中有说明,以“trap call”这样的名字在专利文献1的[0062]中有说明。The "hyper call" is described in Section 3.1 of Non-Patent Document 1 with the same name, and it is described in [0062] of Patent Document 1 with the name "trap call".

这些VMM-OS接口在现有技术中采用与系统呼叫同样的使用方法。即,该VMM-OS接口,在依赖于VMM时发行以VM上的OS的权限无法处理的特权命令。These VMM-OS interfaces are used in the same way as system calls in the prior art. That is, the VMM-OS interface issues a privileged command that cannot be handled by the authority of the OS on the VM when it depends on the VMM.

本实施方式中的hyper call使用了这些现有技术所具有的接口功能。The hyper call in this embodiment uses the interface functions of these existing technologies.

关于在hyper call中实际通知的信息,如同在第1实施方式中所述的那样。The information actually notified in the hyper call is as described in the first embodiment.

如果输入输出控制装置100针对接收到的hyper call受理该切换请求210,则进行如在第1实施方式中所述的处理,如果因为某种理由成为不受理时则向该OS返回错误。If the input/output control device 100 accepts the switching request 210 for the received hypercall, it performs the processing described in the first embodiment, and returns an error to the OS if it is rejected for some reason.

接着,根据图9对VMM430具有与输入输出控制装置100联动动作的QOS控制部434时的动作例进行叙述。Next, an operation example when the VMM 430 has the QOS control unit 434 that operates in conjunction with the input/output control device 100 will be described based on FIG. 9 .

QOS控制部434是扩展了例如在从专利文献1的[0093]开始的scheduler的章中记载的CPU调度程序而成的,根据各OS处理的优先级来决定针对各OS分配的硬件资源。The QOS control unit 434 is an extension of the CPU scheduler described in, for example, chapters of scheduler starting from [0093] of Patent Document 1, and determines hardware resources allocated to each OS based on the priority of each OS process.

例如,CPU调度程序为了根据各OS处理的优先级来分配CPU控制而存在。For example, the CPU scheduler exists to allocate CPU control according to the priority of each OS process.

本实施方式的QOS控制部434根据输入输出控制装置100输出的输入目的地信息230以及输出可否信息240来对占用输入设备410或者输出设备420的OS设定高优先级,优先分配CPU等的硬件资源。The QOS control unit 434 of this embodiment sets a high priority for the OS occupying the input device 410 or the output device 420 based on the input destination information 230 and the output availability information 240 output by the input and output control device 100, and assigns hardware such as a CPU with priority. resource.

其结果,例如占用HID,用户实际利用的OS的处理被优先处理,使使用性提高。As a result, for example, the HID is occupied, and the processing of the OS actually used by the user is prioritized, thereby improving usability.

(作用以及效果)(function and effect)

根据本实施方式,各OS440、450分别具有可控制输入输出设备的单元(输入设备控制部441、451以及输出设备控制部442、452),由此仅在判定为可以由输入输出控制装置100输入的情况下,输入设备控制部441、451向该OS440、450输入来自输入设备410的输入信息,仅在判定为可以由输入输出控制装置100输出的情况下,输出设备控制部442、452向输出设备420输出来自该OS440、450的输出信息,可以防止该控制对象输入输出设备的冲突状态。According to the present embodiment, each OS 440, 450 has a unit (input device control unit 441, 451 and output device control unit 442, 452) capable of controlling the input/output device, so In the case of , the input device control units 441 and 451 input the input information from the input device 410 to the OS 440 and 450, and only when it is determined that the input and output control device 100 can output the information, the output device control units 442 and 452 output The device 420 outputs the output information from the OS 440, 450, and can prevent the conflict state of the input and output devices of the control object.

另外,各OS440、450可以直接控制输入输出设备,使输入输出时的速度提高。In addition, each OS 440 and 450 can directly control the input and output devices, so that the speed of input and output can be increased.

另外,VMM430具有输入输出控制部431,该输入输出控制部431根据由输入输出控制装置100输出的输入目的地信息230使OS440、450的输入设备控制部441、451有效化或者无效化,根据由输入输出控制装置100输出的输出可否信息240使OS440、450的输出设备控制部442、452有效化或者无效化。In addition, the VMM 430 has an input-output control unit 431 that enables or disables the input device control units 441 and 451 of the OS 440 and 450 based on the input destination information 230 output from the input-output control device 100 . The output availability information 240 output by the input/output control device 100 enables or disables the output device control units 442 and 452 of the OS440 and 450 .

其结果,在各OS440、450分别具有可以控制特定的输入设备410的输入设备控制部441、451或者可以控制输出设备420的输出设备控制部442、452时,也通过只有判定为可以由输入输出控制装置100输入输出的OS占用输入设备410或者输出设备429,来可以防止输入设备410或者输出设备420的冲突状态。As a result, when each OS 440, 450 has an input device control unit 441, 451 capable of controlling a specific input device 410 or an output device control unit 442, 452 capable of controlling an output device 420, only by determining that the input and output can be The OS that controls the input and output of the apparatus 100 occupies the input device 410 or the output device 429 to prevent conflicting states of the input device 410 or the output device 420 .

另外,各OS440、450可以直接控制输入输出设备,使输入输出时的速度提高。In addition, each OS 440 and 450 can directly control the input and output devices, so that the speed of input and output can be increased.

进一步,占用输入设备410或者输出设备420只在主系统许可时才可以,所以可以防止由于OS的误动作等而导致的输入设备410或者输出设备420的不正当占用。Furthermore, occupation of the input device 410 or the output device 420 is possible only when the main system permits it, so that illegal occupation of the input device 410 or the output device 420 due to OS malfunction or the like can be prevented.

另外,VMM430具有插入通知部432,该插入通知部,在发生了对于输入设备410的插入时向OS440、450通知该插入,插入通知部432根据输入输出控制装置100输出的输入目的地信息,特定该插入的通知目的地。In addition, VMM 430 has insertion notification unit 432 that notifies OS 440 and 450 of the insertion when input device 410 is inserted. The notification destination for this insertion.

因此,在发生来自输入设备410的插入时,主系统利用输入输出控制装置100可以选择通知该插入的OS。Therefore, when an insertion occurs from the input device 410 , the host system can select an OS that notifies the insertion using the input/output control device 100 .

其结果,各OS440、450可以直接控制输入设备410,使输入时的速度提高。As a result, each OS 440, 450 can directly control the input device 410, and the speed at the time of input can be improved.

另外,因为将来自输入设备410的输入信息可靠地输入到占用该输入设备410的OS,所以可以防止由OS的误动作等引起的输入设备410的不正当利用。In addition, since the input information from the input device 410 is reliably input to the OS occupying the input device 410, it is possible to prevent unauthorized use of the input device 410 due to malfunction of the OS or the like.

另外,VMM430具有QOS控制部434,该QOS控制部,根据输入输出控制装置100输出的输入目的地信息230或者输出可否信息240来进行对于OS的QOS控制。In addition, the VMM 430 has a QOS control unit 434 that performs QOS control on the OS based on the input destination information 230 or the output availability information 240 output by the input/output control device 100 .

因此,主系统可以通过由输入输出控制装置100输出的输入目的地信息230或者输出可否信息240来进行对于各OS的QOS控制。例如,对占用HID的OS的处理分配高的CPU优先级。Therefore, the host system can perform QOS control for each OS based on the input destination information 230 or the output availability information 240 output by the input/output control device 100 . For example, a high CPU priority is assigned to the processing of the OS occupying the HID.

其结果,对用户实际操作的程序分配了高的CPU优先级,使使用性提高。As a result, a high CPU priority is assigned to a program actually operated by the user, thereby improving usability.

(第4实施方式)(fourth embodiment)

图10是第4实施方式的含有输入输出控制装置100的多个OS环境的系统结构。FIG. 10 is a system configuration of a plurality of OS environments including the input/output control device 100 according to the fourth embodiment.

第4实施方式的输入输出控制系统具有:OS540、OS550、在该OS540上运行的GUI服务器560、在该OS550上运行的GUI服务器570、在该GUI服务器560上运行的GUI客户端580、在该GUI服务器570上运行的GUI客户端590、输入设备510、输出设备520和VMM530。The input/output control system of the fourth embodiment includes: OS540, OS550, GUI server 560 running on the OS540, GUI server 570 running on the OS550, GUI client 580 running on the GUI server 560, GUI client 590 , input device 510 , output device 520 and VMM 530 running on GUI server 570 .

另外,OS540具有:输入输出控制装置100、可以控制输出设备520的输出设备控制部542和可以控制输入设备510的输入设备控制部541。Moreover, OS540 has the input-output control apparatus 100, the output-device control part 542 which can control the output device 520, and the input-device control part 541 which can control the input device 510. FIG.

这里因为第4实施方式的系统结构与在第2实施方式中所述的系统结构相同,所以主要说明两者的不同点。Here, since the system configuration of the fourth embodiment is the same as that described in the second embodiment, differences between the two will be mainly described.

在第4实施方式的系统中,在各OS540、550上存在GUI服务器560、570和GUI客户端580、590。In the system of the fourth embodiment, GUI servers 560 , 570 and GUI clients 580 , 590 exist on the respective OS 540 , 550 .

GUI服务器560、570相当于窗口管理器,汇总处理该OS540、550上的全部GUI程序的输入输出。The GUI servers 560 and 570 correspond to window managers, and collectively process the input and output of all GUI programs on the OS 540 and 550 .

GUI客户端580、590是向GUI服务器560、570委托输入输出的任意的GUI程序。GUI clients 580 and 590 are arbitrary GUI programs that entrust input and output to GUI servers 560 and 570 .

GUI服务器560根据从GUI客户端580接收的输入输出处理请求来处理该输入输出。The GUI server 560 processes the input and output according to the input and output processing request received from the GUI client 580 .

即,GUI服务器560向GUI客户端580输入来自输入设备510的输入信息,向输出设备520输出来自GUI客户端580的输出信息。That is, the GUI server 560 inputs input information from the input device 510 to the GUI client 580 , and outputs output information from the GUI client 580 to the output device 520 .

进一步,GUI服务器560将GUI服务器570作为GUI客户端来进行与对于GUI客户端580的处理同样的处理。Furthermore, the GUI server 560 performs the same processing as the GUI client 580 using the GUI server 570 as a GUI client.

通过VMM530具有的OS间通信功能来实现GUI服务器560与GUI服务器570间的通信。Communication between the GUI server 560 and the GUI server 570 is realized by the inter-OS communication function of the VMM 530 .

GUI服务器570根据从GUI客户端590接收的输入输出请求,处理该输入输出。The GUI server 570 processes the input and output according to the input and output request received from the GUI client 590 .

即,GUI服务器570对GUI客户端590输入经由GUI服务器560从输入设备510接收到的输入信息,经由GUI服务器560向输出设备520输出来自GUI客户端590的输出信息。That is, GUI server 570 inputs input information received from input device 510 via GUI server 560 to GUI client 590 , and outputs output information from GUI client 590 to output device 520 via GUI server 560 .

GUI服务器560还以输入输出控制装置100中的输入目的地信息230或者输出可否信息240为基础来动作。The GUI server 560 also operates based on the input destination information 230 or the output availability information 240 in the input/output control device 100 .

即,OS540根据这些信息占用输入设备510或者输出设备520时,GUI服务器560处理GUI客户端580的输入输出。That is, when the OS 540 occupies the input device 510 or the output device 520 according to these information, the GUI server 560 processes the input and output of the GUI client 580 .

另外,在OS550占用输入设备510或者输出设备520时,GUI服务器560向GUI服务器570通知其旨意。Also, when the OS 550 occupies the input device 510 or the output device 520 , the GUI server 560 notifies the GUI server 570 of the fact.

通过该通知,只限于判明OS550占用输入设备510或者输出设备520的情况下,GUI服务器570向OS550委托输入输出处理。Through this notification, the GUI server 570 requests the OS 550 for input/output processing only when it is recognized that the OS 550 occupies the input device 510 or the output device 520 .

相反,在OS550不占用该设备时,不向OS550委托GUI客户端590的输入输出。Conversely, when the OS 550 does not occupy the device, the OS 550 is not entrusted with the input and output of the GUI client 590 .

例如,通过system call来实现GUI服务器560与输入输出控制装置100之间的通信。For example, the communication between the GUI server 560 and the input-output control device 100 is realized through a system call.

(第5实施方式)(fifth embodiment)

图11是第5实施方式的含有输入输出控制装置100的多个OS环境的系统结构。FIG. 11 is a system configuration of a plurality of OS environments including the input/output control device 100 according to the fifth embodiment.

第5实施方式的输入输出控制系统是与在第2实施方式中所示的输入输出控制系统几乎相同的结构。The input/output control system of the fifth embodiment has almost the same configuration as the input/output control system shown in the second embodiment.

即,OS650、及在该OS650上运行的程序670通过虚拟输入设备控制软件651接收来自控制对象的输入设备610的输入信息,通过虚拟输出设备控制软件652,向输出设备控制软件642输出输出信息。That is, the OS 650 and the program 670 running on the OS 650 receive input information from the input device 610 to be controlled through the virtual input device control software 651, and output output information to the output device control software 642 through the virtual output device control software 652.

本实施方式与第2实施方式不同的部分是程序660以及程序670。以下对本实施方式的程序660以及程序670的动作进行说明。The difference between this embodiment and the second embodiment is the program 660 and the program 670 . The operation of the program 660 and the program 670 of this embodiment will be described below.

此外,以下将程序660作为对象来进行说明,而预先声明通过将程序660与输入设备控制软件641的关系、或者程序660与输出设备控制软件642的关系置换为程序670与虚拟输入设备控制软件651的关系、或者程序670与虚拟输出设备控制软件652的关系也可以适用于程序670。In addition, the program 660 will be described below as an object, and the relationship between the program 660 and the input device control software 641 or the relationship between the program 660 and the output device control software 642 is replaced by the program 670 and the virtual input device control software 651. The relationship of the program 670, or the relationship of the program 670 and the virtual output device control software 652 may also apply to the program 670.

作为一般性通用OS的Linux或Windows(注册商标)等,具有用于接收来自程序的请求、执行仅以OS权限可执行的特权处理的接口。程序对该接口发行系统调用。Linux, Windows (registered trademark), etc., which are general-purpose OSs, have interfaces for receiving requests from programs and executing privileged processes executable only with OS authority. The program issues a system call to this interface.

程序660为了经由输入设备控制软件641或输出设备控制软件642接收输入信息、输出输出信息,需要各自专用的系统调用。In order to receive input information and output output information via the input device control software 641 or the output device control software 642, the program 660 requires a system call dedicated to each.

例如,在Linux中用于接收输入信息的系统调用相当于read系统调用,用于输出输出信息的系统调用相当于write系统调用。For example, the system call used to receive input information in Linux is equivalent to the read system call, and the system call used to output output information is equivalent to the write system call.

这些系统调用的处理因为需要在发行了系统调用的程序与OS之间的上下文切换,所以产生很大的处理成本。The processing of these system calls requires a context switch between the program that issued the system call and the OS, and therefore requires a large processing cost.

在本实施方式中,程序660通过进行特别的处理来减少系统调用的发行次数,可以削减整个系统的开销。In this embodiment, the program 660 performs special processing to reduce the number of system calls issued, thereby reducing the overhead of the entire system.

本实施方式中的输入输出控制装置100将控制信息121输出到程序660可参照的区域。例如,输入输出控制装置100向如上所述的在OS间通信时使用的共享存储器输出控制信息121。The input/output control device 100 in this embodiment outputs the control information 121 to an area that the program 660 can refer to. For example, the input/output control device 100 outputs the control information 121 to the shared memory used for inter-OS communication as described above.

其结果,程序660可以读控制信息121,根据控制信息121的内容可以决定是否发行系统调用。As a result, the program 660 can read the control information 121, and can determine whether to issue a system call based on the contents of the control information 121.

即,根据控制信息121,只限于OS640正占用作为控制对象的输入设备610或者输出设备620的情况下,程序660发行对应的系统调用。That is, based on the control information 121, the program 660 issues a corresponding system call only when the OS 640 is occupying the input device 610 or the output device 620 to be controlled.

其结果,在即使发行了系统调用也因为没有占用权而不能执行对于输入输出设备的输入输出时,可以抑制系统调用的发行,可以削减开销。As a result, when the I/O to the I/O device cannot be performed because there is no occupation right even if the system call is issued, the issuance of the system call can be suppressed, and overhead can be reduced.

作为可削减这样的系统调用的发行的设备,例如举出音频设备。An example of a device capable of reducing the issuance of such a system call is an audio device.

通常,向音频设备的输出,根据程序应该实时地发生。Normally, the output to the audio device should occur in real time according to the program.

也就是说,在通常使用时,难以考虑到在某时刻由于OS没有占用音频设备而不能输出音乐数据时存储该音乐数据、在该OS占用了该音频设备时输出。That is, in normal use, it is difficult to consider storing the music data when the music data cannot be output because the OS does not occupy the audio device at a certain time, and outputting the audio device when the OS occupies the audio device.

因此,输出音乐信息的程序660在OS640没有占用音频设备时,无视应该输出的音乐信息,不需要发行无效的系统调用。Therefore, the program 660 that outputs music information ignores the music information that should be output when the OS 640 does not occupy the audio device, and does not need to issue an invalid system call.

另一方面,作为不能削减这样的系统调用的发行的设备,举出显示器。On the other hand, as a device that cannot reduce the issuance of such a system call, a display is mentioned.

向各OS具有的显示器的输出信息,在该OS占用显示器的情况下或者不占用显示器的情况下,都必需向该OS的帧(frame)缓冲存储器进行存储·更新。The output information to the display of each OS needs to be stored and updated in the frame buffer memory of the OS when the OS occupies the display or does not occupy the display.

通过这样,即使在切换了显示器的占用权时,用户也可以从显示器正确掌握在此时刻的OS的状况。In this way, even when the right to occupy the display is switched, the user can accurately grasp the status of the OS at that time from the display.

为了达到上述目的,该OS必需时常更新自帧缓冲存储器,不拘于控制信息121的内容,必需从程序660中继续接收输出信息。In order to achieve the above-mentioned purpose, the OS must constantly update the self-frame buffer, regardless of the content of the control information 121, it must continue to receive output information from the program 660.

如上所述,为了参照控制信息121来变更动作,实施对程序660的改造就可以。As described above, in order to change the operation with reference to the control information 121, the program 660 may be modified.

即,程序660只要具有以下步骤就可以:关于发生输入输出的部分的代码参照控制信息121的步骤;和根据控制信息121的内容决定是否发行系统调用的步骤。That is, the program 660 only needs to include the steps of: referring to the control information 121 for the code of the part where input and output occurs;

可是,对应于系统变更程序660的内容对于程序员来说负担很大,另外失去了不变更程序660而可以运行这样的VMM的优点。However, changing the content of the program 660 according to the system is a heavy burden on the programmer, and the advantage of being able to run such a VMM without changing the program 660 is lost.

此外,程序员判断要不要根据如上所述的设备差异进行改造,是非常困难的。In addition, it is very difficult for programmers to judge whether to make modifications based on the above-mentioned device differences.

在安装本实施方式后的现实的方法,不是直接改造程序660,而是改造程序660在输入输出时调用的API661。The actual method after installing this embodiment is not to modify the program 660 directly, but to modify the API 661 called by the program 660 during input and output.

一般来说,程序员没有将系统调用直接编入代码中,而是调用系统准备的API,由此生成程序以使间接地发行系统调用。Generally, a programmer does not directly incorporate a system call into a code, but calls an API prepared by the system, thereby generating a program to indirectly issue a system call.

利用API,与如直接调用系统调用的代码相比,使程序设计变得容易,还有便利性也提高。Utilizing the API facilitates program design and improves convenience compared to codes that directly call system calls.

另外,在每一设备上准备这样的API。因此,仅对调用需要判断要不要发行系统调用的设备用的API实施改造,该API具备以下步骤就可以:参照控制信息121的步骤;根据参照结果决定是否进行系统调用的发行的步骤;和根据该决定发行系统调用的步骤。In addition, such an API is prepared on each device. Therefore, only the API for invoking a device that needs to determine whether to issue a system call is modified, and the API only needs to have the following steps: a step of referring to the control information 121; a step of determining whether to issue a system call based on the result of the reference; and The decision to issue a step in the system call.

由此,本实施方式的无论如何的变更,程序660的制作者都不需要,却可以抑制系统呼叫的发行次数,因此使整个系统的性能提高。As a result, the creator of the program 660 does not need any changes in the present embodiment, but the number of system calls issued can be suppressed, thereby improving the performance of the entire system.

(作用以及效果)(function and effect)

根据本实施方式,在OS640上运行的程序660参照控制信息121,判断在此时刻该OS640是否正占用输入设备610或者输出设备620,只限于正占用的情况下,对该OS发行关于输入输出的系统调用,由此可以削减无效系统调用的发行所需要的处理成本。According to the present embodiment, the program 660 running on the OS 640 refers to the control information 121 to determine whether the OS 640 is occupying the input device 610 or the output device 620 at the moment, and only when the OS 640 is occupying it, issues information about input and output to the OS. system calls, thereby reducing processing costs required for issuance of invalid system calls.

以上,采用上述实施方式对本发明进行了详细地说明,而对于本领域技术人员来说,本发明并不限定于本说明书中说明的实施方式是显然的。本发明可以在不脱离由权利要求范围的记载所规定的本发明的要点以及范围的前提下修正以及变更实施方式来实施。因此,本说明书的记载以举例说明为目的,对本发明不具有任何限制的意思。As mentioned above, although this invention was demonstrated in detail using the said embodiment, it is clear for those skilled in the art that this invention is not limited to embodiment demonstrated in this specification. The present invention can be carried out by correcting and changing the embodiments without departing from the gist and scope of the present invention defined by the claims. Therefore, the description in this specification is for the purpose of illustration and does not have any limiting meaning to the present invention.

Claims (1)

1. input/output control system, have the input-output control unit of input and output of at least one input equipment, at least one output device, the described input equipment of control and described output device and the main system of carrying out function when containing a plurality of operating system, it is characterized in that
Described input-output control unit has: portion is accepted in request, and the handoff request of request being switched the operating system that takies described input equipment or described output device is accepted;
The control information generating unit according to described handoff request, generates and to contain the control information that input destination information or output could information; With
The control information efferent, exporting described input destination information or described output could information,
The program of on described operating system, moving,
According to described input destination information, be only limited to operating system in the described program of operation and be under the situation from the input destination operating system of described input equipment, distribution is to the system call of described operating system request input,
Could information according to described output, be only limited to the operating system of the described program of operation can situation to described output device output under, distribution is to the system call of described operating system request output,
Described input destination information contains the information of determining from the input destination operating system of the input information of described input equipment that is useful at least,
Described output could information contain at least at operating system, being used for determining could be to the information of described output device output.
CN2008102131416A 2006-01-17 2007-01-17 Input and output control system Expired - Fee Related CN101359312B (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2006009190 2006-01-17
JP2006-009190 2006-01-17
JP2006009190 2006-01-17
JP2006-341835 2006-12-19
JP2006341835 2006-12-19
JP2006341835A JP2007220086A (en) 2006-01-17 2006-12-19 I / O control device, I / O control system, and I / O control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100019474A Division CN100458701C (en) 2006-01-17 2007-01-17 Input/output control apparatus, input/output control system, and input/output control method

Publications (2)

Publication Number Publication Date
CN101359312A CN101359312A (en) 2009-02-04
CN101359312B true CN101359312B (en) 2010-06-09

Family

ID=38703862

Family Applications (4)

Application Number Title Priority Date Filing Date
CN2008102131416A Expired - Fee Related CN101359312B (en) 2006-01-17 2007-01-17 Input and output control system
CN2008102131435A Expired - Fee Related CN101369258B (en) 2006-01-17 2007-01-17 Input and output control system
CN2008102131420A Expired - Fee Related CN101359313B (en) 2006-01-17 2007-01-17 Input and output control system
CNB2007100019474A Expired - Fee Related CN100458701C (en) 2006-01-17 2007-01-17 Input/output control apparatus, input/output control system, and input/output control method

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2008102131435A Expired - Fee Related CN101369258B (en) 2006-01-17 2007-01-17 Input and output control system
CN2008102131420A Expired - Fee Related CN101359313B (en) 2006-01-17 2007-01-17 Input and output control system
CNB2007100019474A Expired - Fee Related CN100458701C (en) 2006-01-17 2007-01-17 Input/output control apparatus, input/output control system, and input/output control method

Country Status (1)

Country Link
CN (4) CN101359312B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101624868B1 (en) * 2008-08-06 2016-06-07 삼성전자주식회사 Method for controlling of virtualization apparatus and virtualization apparatus
CN102854974B (en) * 2011-06-30 2015-09-16 北京奇虎科技有限公司 Virtual input device is driving implementation method and the system thereof of layer
CN102796988B (en) * 2012-08-24 2014-09-03 广州金升阳科技有限公司 A method for preparing highly oriented CuInS2 epitaxial thin films by sputtering
CN104765291B (en) * 2015-02-10 2019-06-04 海尔优家智能科技(北京)有限公司 A method, device and gateway for controlling intelligent equipment
US10642706B2 (en) 2016-07-20 2020-05-05 International Business Machines Corporation Detection and recovery of lost host enabled facilities

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264078A (en) * 1999-02-19 2000-08-23 株式会社日立制作所 Computer for executing multiple operation systems
CN1392490A (en) * 2001-06-20 2003-01-22 华硕电脑股份有限公司 Computer system with switchable operating system
KR20050111512A (en) * 2004-05-21 2005-11-25 삼성전자주식회사 Computer system and method for performing switch-over of operating system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792761B2 (en) * 1985-07-31 1995-10-09 株式会社日立製作所 Input / output control method for virtual computer system
CN1064360A (en) * 1992-01-17 1992-09-09 中国人民解放军江西省军区 Intellgent control system for computer peripherals
JP3659062B2 (en) * 1999-05-21 2005-06-15 株式会社日立製作所 Computer system
US20040078682A1 (en) * 2002-09-19 2004-04-22 Jaw-Shiang Huang Operating system based method and computer program for monitoring and notifying computer hardware status
CN1658185A (en) * 2004-02-18 2005-08-24 国际商业机器公司 Computer system with mutual independence symbiont multiple eperation system and its switching method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264078A (en) * 1999-02-19 2000-08-23 株式会社日立制作所 Computer for executing multiple operation systems
CN1392490A (en) * 2001-06-20 2003-01-22 华硕电脑股份有限公司 Computer system with switchable operating system
KR20050111512A (en) * 2004-05-21 2005-11-25 삼성전자주식회사 Computer system and method for performing switch-over of operating system

Also Published As

Publication number Publication date
CN101359313A (en) 2009-02-04
CN101369258A (en) 2009-02-18
CN101369258B (en) 2010-12-01
CN101359312A (en) 2009-02-04
CN100458701C (en) 2009-02-04
CN101359313B (en) 2010-04-14
CN101004693A (en) 2007-07-25

Similar Documents

Publication Publication Date Title
US7702828B2 (en) Input/output control apparatus, input/output control system, and input/output control method
US11200080B1 (en) Late load technique for deploying a virtualization layer underneath a running operating system
US11847206B2 (en) Technologies for untrusted code execution with processor sandbox support
US10235515B2 (en) Method and apparatus for on-demand isolated I/O channels for secure applications
US8201170B2 (en) Operating systems are executed on common program and interrupt service routine of low priority OS is modified to response to interrupts from common program only
CN108475217B (en) System and method for auditing virtual machines
US6199181B1 (en) Method and system for maintaining restricted operating environments for application programs or operating systems
US7788669B2 (en) System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory
EP1861778B1 (en) Data processing system
US10360386B2 (en) Hardware enforcement of providing separate operating system environments for mobile devices
US9633231B2 (en) Hardware-protective data processing systems and methods using an application executing in a secure domain
CN104318182A (en) Intelligent terminal isolation system and intelligent terminal isolation method both based on processor safety extension
CN101401069A (en) Safe OS Switching
JP2010514028A (en) A system that enables multiple execution environments to share a single data process
CN101359312B (en) Input and output control system
Huang et al. vkernel: Enhancing container isolation via private code and data
JP2006522971A (en) operating system
Gebhardt et al. Challenges for inter virtual machine communication
CN105701400A (en) Virtual machine platform safety control method and device
CN118036092A (en) A software integrity protection method and system based on hardware-assisted virtualization

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100609

Termination date: 20130117

CF01 Termination of patent right due to non-payment of annual fee