Information processing apparatus, information processing method, and computer program product
First Claim
Patent Images
1. An information processing apparatus, comprising:
- a processor that includes a plurality of cores, the processor configured to function as;
an inter-core interrupt generating unit that generates an interrupt in a designated core;
a virtual machine monitor (VMM); and
a plurality of operating systems (OSs),wherein the VMM is configured to function as;
a reception unit that receives an interrupt;
a first setting unit that assigns a task to a priority operating system (OS), each of the plurality of cores having the plurality of Oss including the priority OS; and
a switching unit that switches a second OS, which is executing in a first core, to a first OS to which an interrupt for the first OS is input, when the reception unit receives an interrupt for the first core among the plurality of cores in which the first OS is the priority OS and the second OS is not the priority OS; and
each of the plurality of the OSs is configured to function as;
a second setting unit that assigns a real time task to a core among the plurality of cores, in which an OS executing the real time task is set as the priority OS, the real time task having a process priority level higher than that of a non-real time task;
a selection unit that selects the real time task when an OS executed in the first core is the priority OS and the real time task is in an executable state, and selects the non-real time task when an OS executed in the first core is the priority OS, the non-real time task is in an executable state, and the real time task is not in the executable state;
a processing unit that processes the real time task selected by the selection unit or the non-real time task selected by the selection unit; and
a communication unit that, when an inter-OS communication request for requesting for communication between OSs is received from the real time task, inputs an inter-core interrupt request, in which a core with a communication destination OS being set as the priority OS is designated, to the inter-core interrupt generating unit and, when the inter-OS communication request is received from the non-real time task, inputs an inter-core interrupt request in which a core with the communication destination OS being not set as the priority OS is designated, to the inter-core interrupt generating unit.
1 Assignment
0 Petitions
Accused Products
Abstract
An information processing apparatus according to an embodiment includes a reception unit and switching unit. The reception unit receives an interrupt. The switching unit that switches a second operating system (OS) which is executing in a core to a first OS to which the interrupt for the first OS is input, when the reception unit receives an interrupt for the core in which the first OS is a priority OS and the second OS is not the priority OS.
-
Citations
11 Claims
-
1. An information processing apparatus, comprising:
a processor that includes a plurality of cores, the processor configured to function as; an inter-core interrupt generating unit that generates an interrupt in a designated core; a virtual machine monitor (VMM); and a plurality of operating systems (OSs), wherein the VMM is configured to function as; a reception unit that receives an interrupt; a first setting unit that assigns a task to a priority operating system (OS), each of the plurality of cores having the plurality of Oss including the priority OS; and a switching unit that switches a second OS, which is executing in a first core, to a first OS to which an interrupt for the first OS is input, when the reception unit receives an interrupt for the first core among the plurality of cores in which the first OS is the priority OS and the second OS is not the priority OS; and each of the plurality of the OSs is configured to function as; a second setting unit that assigns a real time task to a core among the plurality of cores, in which an OS executing the real time task is set as the priority OS, the real time task having a process priority level higher than that of a non-real time task; a selection unit that selects the real time task when an OS executed in the first core is the priority OS and the real time task is in an executable state, and selects the non-real time task when an OS executed in the first core is the priority OS, the non-real time task is in an executable state, and the real time task is not in the executable state; a processing unit that processes the real time task selected by the selection unit or the non-real time task selected by the selection unit; and a communication unit that, when an inter-OS communication request for requesting for communication between OSs is received from the real time task, inputs an inter-core interrupt request, in which a core with a communication destination OS being set as the priority OS is designated, to the inter-core interrupt generating unit and, when the inter-OS communication request is received from the non-real time task, inputs an inter-core interrupt request in which a core with the communication destination OS being not set as the priority OS is designated, to the inter-core interrupt generating unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. An information processing method of an information processing apparatus including a processor that includes a plurality of cores, the information processing method comprising:
-
generating an interrupt in a designated core among the plurality of cores, wherein the processor is configured to function as; a virtual machine monitor (VMM); and a plurality of operating systems (OSs), wherein the VMM is configured to perform the following functions; receiving an interrupt; assigning a priority operating system (OS) to each of the plurality of cores; and switching a second OS which is executing in a first core, to a first OS to which an interrupt for the first OS is input, when an interrupt for the first core among the plurality of cores in which the first OS is the priority OS and the second OS is not the priority OS, is received; and wherein each of the plurality of the OSs is configured to perform the following functions; assigning a real time task to a core among the plurality of cores, in which an OS executing the real time task is set as the priority OS, the real time task having a process priority level higher than that of a non-real time task; selecting the real time task when an OS executed in the first core is the priority OS and the real time task is in an executable state, and selecting the non-real time task when an OS executed in the first core is the priority OS, the non-real time task is in an executable state, and the real time task is not in the executable state; processing the real time task or the non-real time task; and when an inter-OS communication request for requesting for communication between OSs is received from the real time task, inputting an inter-core interrupt request, in which a core with a communication destination OS being set as the priority OS is designated, to the inter-core interrupt generating unit and, when the inter-OS communication request is received from the non-real time task, inputting an inter-core interrupt request in which a core with the communication destination OS being not set as the priority OS is designated, to the inter-core interrupt generating unit.
-
-
11. A computer program product having a non-transitory computer-readable medium that stores therein a computer program causing an information processing apparatus including a processor that includes a plurality of cores to function as:
-
an inter-core interrupt generating unit that generates an interrupt in a designated core; a virtual machine monitor (VMM); and a plurality of operating systems (OSs), wherein the VMM is configured to function as; a reception unit that receives an interrupt; a first setting unit that assigns a task to a priority operating system (OS), each of the plurality of cores having the plurality of OSs including the priority OS; and a switching unit that switches a OS, which is executing in a first core, to a first OS to which an interrupt for the first OS is input, when the reception unit receives an interrupt for the first core among the plurality of cores in which the first OS is the priority OS and the second OS is not the priority OS; and each of the plurality of the OSs is configured to function as; a second setting unit that assigns a real time task to a core among the plurality of cores, in which an OS executing the real time task is set as the priority OS, the real time task having a process priority level higher than that of a non-real time task; a selection unit that selects the real time task when an OS executed in the first core is the priority OS and the real time task is in an executable state, and selects the non-real time task when an OS executed in the first core is the priority OS, the non-real time task is in an executable state, and the real time task is not in the executable state; a processing unit that processes the real time task selected by the selection unit or the non-real time task selected by the selection unit; and a communication unit that, when an inter-OS communication request for requesting for communication between OSs is received from the real time task, inputs an inter-core interrupt request, in which a core with a communication destination OS being set as the priority OS is designated, to the inter-core interrupt generating unit and, when the inter-OS communication request is received from the non-real time task, inputs an inter-core interrupt request in which a core with the communication destination OS being not set as the priority OS is designated, to the inter-core interrupt generating unit.
-
Specification