DE112019000308T5 - Computer program product and computing unit - Google Patents
Computer program product and computing unit Download PDFInfo
- Publication number
- DE112019000308T5 DE112019000308T5 DE112019000308.9T DE112019000308T DE112019000308T5 DE 112019000308 T5 DE112019000308 T5 DE 112019000308T5 DE 112019000308 T DE112019000308 T DE 112019000308T DE 112019000308 T5 DE112019000308 T5 DE 112019000308T5
- Authority
- DE
- Germany
- Prior art keywords
- application
- operating system
- app
- hypervisor
- cpu
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Hypervisor, der in einem Computerprogrammprodukt aufgezeichnet ist, ist ein Hypervisor, der eine virtuelle Umgebung bereitstellt, die mehrere Betriebssysteme durchführen kann, die eine Anwendung realisieren können, und von mehreren CPUs betrieben wird, versehen mit: einer Überwachungseinheit zum Überwachen des Arbeitszustands der mehreren Betriebssysteme, einer Bewegungsverwaltungseinheit, die auf der Basis des Arbeitszustands anstelle einer ersten Anwendung, die im ersten Betriebssystem durchgeführt wird, eine zweite Anwendung mit einer ähnlichen Funktion wie die erste Anwendung im zweiten Betriebssystem betreibt, wobei die Bewegungsverwaltungseinheit auf der Basis des Typs der CPU, die das zweite Betriebssystem durchführt, eine Programmdatei zum Realisieren der zweiten Anwendung auswählt.Hypervisor recorded in a computer program product is a hypervisor that provides a virtual environment that can run multiple operating systems that can realize an application, and is operated by multiple CPUs, provided with: a monitoring unit for monitoring the working status of the multiple operating systems , a motion management unit that operates a second application with a similar function to the first application in the second operating system instead of a first application being executed in the first operating system based on the working state, the motion management unit operating on the basis of the type of CPU that executes the second operating system, selects a program file for implementing the second application.
Description
Technisches GebietTechnical area
Die vorliegende Erfindung betrifft ein Computerprogrammprodukt, das einen Hypervisor aufzeichnet, und eine Recheneinheit.The present invention relates to a computer program product which records a hypervisor, and to a computing unit.
HintergrundtechnikBackground technology
In den letzten Jahren sind Bordgeräte, die in Fahrzeugen montiert sind und die Berechnung vornehmen, mehr von Bedeutung. Für die Berechnungsverarbeitung in den Bordgeräten ist eine hohe Verfügbarkeit erfordert, und wenn irgendein Problem in einem bestimmten Gerät oder einem Abschnitt des Geräts auftritt, wird aufgefordert, dass ein anderes Gerät oder ein anderer Abschnitt des Geräts eine ähnliche Verarbeitung vornimmt, also eine sogenannte Migration ist gefordert. Demgegenüber nimmt die Datenmenge zu, die von den Bordgeräten verarbeitet wird, und es ist gefordert, die Rechenleistung zu erhöhen. Herkömmlicherweise wurde die Erhöhung der Rechenleistung durch Beschleunigung der Betriebsfrequenz des Prozessors erreicht. In den letzten Jahren besteht jedoch die Neigung, dass aufgrund der Probleme der Verlangsamung der Miniaturisierungsgeschwindigkeit des Herstellungsprozesses und der Erhöhung der mit der Miniaturisierung verbundenen Wärmemenge eine Konfiguration aus kombinierten CPUs von verschiedenen Typen ausgewählt wird. Das Patentdokument 1 offenbart ein Fahrzeugsteuersystem, umfassend:
- eine erste elektronische Steuereinheit und eine zweite elektronische Steuereinheit, welche eine Gemeinschaftsverarbeitung zum Steuern einer fahrzeugmontierten Vorrichtung, die in einem Fahrzeug montiert ist, durchführen, wobei: die erste elektronische Steuereinheit und die zweite elektronische Steuereinheit jeweils Anwendungsprogramme zum Durchführen der Gemeinschaftsverarbeitung aufweisen; die erste elektronische Steuereinheit ein erstes OS-Programm aufweist; die zweite elektronische Steuereinheit ein zweites OS-Programm aufweist; das erste OS-Programm und das zweite OS-Programm in Kooperation miteinander unter einer vorbestimmten Rollenzuteilung arbeiten und als Basissoftware für die jeweiligen Anwendungsprogramme zur Gemeinschaftsverarbeitung dienen, die in Kooperation miteinander durchgeführt werden sollen; das in der zweiten elektronischen Steuereinheit installierte zweite OS-Programm eine zugeteilte Rolle aufweist, die aus unterschiedlichen Rollen ausgewählt ist; das in der ersten elektronischen Steuereinheit installierte erste OS-Programm derart ausgestaltet ist, dass die dem ersten OS-Programm zugeteilte Rolle änderbar ist, sodass das erste OS-Programm eine Operation zusammenwirkend mit dem zweiten OS-Programm durchführen kann, selbst wenn irgendeine der verschiedenen Rollen dem zweiten OS-Programm zugeteilt ist; und die erste elektronische Steuereinheit umfasst: eine Erwerbungseinheit, welche Informationen über die dem zweiten OS-Programm zugeteilte Rolle von der zweiten elektronischen Steuereinheit erwirbt, und eine Bestimmungseinheit, welche auf der Basis der Informationen, welche von der Erwerbungseinheit erworben werden und die dem zweiten OS-Programm zugeteilte Rolle angeben, die Rolle bestimmt, welche dem ersten OS-Programm zugeteilt werden soll, sodass das erste OS-Programm in Kooperation mit dem zweiten OS-Programm arbeiten kann.
- a first electronic control unit and a second electronic control unit that perform community processing for controlling a vehicle-mounted device mounted on a vehicle, wherein: the first electronic control unit and the second electronic control unit each have application programs for performing the community processing; the first electronic control unit has a first OS program; the second electronic control unit has a second OS program; the first OS program and the second OS program work in cooperation with one another under a predetermined role allocation and serve as basic software for the respective application programs for joint processing that are to be carried out in cooperation with one another; the second OS program installed in the second electronic control unit has an assigned role selected from different roles; the first OS program installed in the first electronic control unit is configured such that the role assigned to the first OS program can be changed so that the first OS program can perform an operation cooperatively with the second OS program even if any of the different ones Roles are assigned to the second OS program; and the first electronic control unit comprises: an acquisition unit that acquires information on the role assigned to the second OS program from the second electronic control unit, and a determination unit that is based on the information acquired by the acquisition unit and that of the second OS - Specify the role assigned to the program, the role determines which is to be assigned to the first OS program so that the first OS program can work in cooperation with the second OS program.
Ermittelter SchriftIdentified font
PatentdokumentPatent document
Patentdokument 1:
Übersicht der ErfindungOverview of the invention
Zu lösende Aufgabe der ErfindungObject to be solved by the invention
In der in Patentdokument 1 angegebenen Erfindung kann eine Migration nicht realisiert werden, wenn CPUs von verschiedenen Typen verwendet werden.In the invention disclosed in
Mittel zum Lösen der AufgabeMeans for solving the task
Ein Hypervisor, der in einem Computerprogrammprodukt gemäß einem ersten Aspekt der vorliegenden Erfindung aufgezeichnet ist, ist ein Hypervisor, der eine virtuelle Umgebung bereitstellt, die mehrere Betriebssysteme durchführen kann, die eine Anwendung realisieren können, und von mehreren CPUs betrieben wird, versehen mit: einer Überwachungseinheit zum Überwachen des Arbeitszustands der mehreren Betriebssysteme, und einer Bewegungsverwaltungseinheit, die auf der Basis des Arbeitszustands anstelle einer ersten Anwendung, die im ersten Betriebssystem durchgeführt wird, eine zweite Anwendung mit einer ähnlichen Funktion wie die erste Anwendung im zweiten Betriebssystem betreibt, wobei die Bewegungsverwaltungseinheit auf der Basis des Typs der CPU, die das zweite Betriebssystem durchführt, eine Programmdatei zum Realisieren der zweiten Anwendung auswählt.A hypervisor recorded in a computer program product according to a first aspect of the present invention is a hypervisor that provides a virtual environment capable of executing a plurality of operating systems capable of realizing an application and is operated by a plurality of CPUs provided with: a Monitoring unit for monitoring the working status of the plurality of operating systems, and a movement management unit that operates a second application with a similar function to the first application in the second operating system on the basis of the working status instead of a first application that is performed in the first operating system, wherein the movement management unit selects a program file for realizing the second application based on the type of CPU executing the second operating system.
Ein Hypervisor, der in einem Computerprogrammprodukt gemäß einem zweiten Aspekt der vorliegenden Erfindung aufgezeichnet ist, ist ein Hypervisor, der eine virtuelle Umgebung bereitstellt, die mehrere Betriebssysteme durchführen kann, die eine Anwendung durchführen können, und von mehreren CPUs betrieben wird, versehen mit: einer Überwachungseinheit zum Überwachen des Arbeitszustands der mehreren Betriebssysteme, einer Bewegungsverwaltungseinheit, die auf der Basis des Arbeitszustands anstelle einer ersten Anwendung, die im ersten Betriebssystem durchgeführt wird, eine zweite Anwendung mit einer ähnlichen Funktion wie die erste Anwendung im zweiten Betriebssystem betreibt, Interrupt-Korrespondenzinformationen, die eine Korrespondenzbeziehung zwischen der Nummer einer Interrupt-Anforderung und dem Betriebssystem zeigen, und einer Interrupt-Übertragungseinheit, die Interrupt-Anforderung der dem Betriebssystem entsprechenden Nummer auf der Basis der Interrupt-Korrespondenzinformationen überträgt, und, wenn die Bewegungsverwaltungseinheit die zweite Anwendung betreibt, das erste Betriebssystem in den Interrupt-Korrespondenzinformationen auf das zweite Betriebssystem umschreibt.A hypervisor recorded in a computer program product according to a second aspect of the present invention is a hypervisor that provides a virtual environment capable of executing a plurality of operating systems capable of executing an application and operated by a plurality of CPUs provided with: a Monitoring unit for monitoring the working status of the plurality of operating systems, a movement management unit that operates a second application with a similar function to the first application in the second operating system based on the working status instead of a first application executed in the first operating system, interrupt correspondence information, which show a correspondence relation between the number of an interrupt request and the operating system, and an interrupt transmission unit that exercises the interrupt request of the number corresponding to the operating system on the basis of the interrupt correspondence information r and, when the motion management unit operates the second application, rewrites the first operating system in the interrupt correspondence information to the second operating system.
Eine Recheneinheit gemäß einem dritten Aspekt der vorliegenden Erfindung ist eine Recheneinheit mit einem Hypervisor, der eine virtuelle Umgebung bereitstellt, die mehrere Betriebssysteme durchführen kann, die eine Anwendung durchführen können, und von mehreren CPUs betrieben wird, versehen mit: einer Überwachungseinheit zum Überwachen des Arbeitszustands der mehreren Betriebssysteme, einer Bewegungsverwaltungseinheit, die auf der Basis des Arbeitszustands anstelle einer ersten Anwendung, die im ersten Betriebssystem durchgeführt wird, eine zweite Anwendung mit einer ähnlichen Funktion wie die erste Anwendung im zweiten Betriebssystem betreibt, wobei die Bewegungsverwaltungseinheit auf der Basis des Typs der CPU, die das zweite Betriebssystem durchführt, eine Programmdatei zum Realisieren der zweiten Anwendung auswählt.A computing unit according to a third aspect of the present invention is a computing unit with a hypervisor that provides a virtual environment that can run multiple operating systems that can run an application and is operated by multiple CPUs, provided with: a monitoring unit for monitoring the working status of the plurality of operating systems, a motion management unit that operates a second application with a similar function to the first application in the second operating system on the basis of the work status instead of a first application that is executed in the first operating system, the motion management unit based on the type of CPU executing the second operating system selects a program file for realizing the second application.
Effekte der ErfindungEffects of the invention
Gemäß der vorliegenden Erfindung kann eine Migration realisiert werden, selbst wenn CPUs von verschiedenen Typen verwendet werden.According to the present invention, migration can be realized even when CPUs of different types are used.
FigurenlisteFigure list
-
[
1 ]1 ist eine Konfigurationsansicht einer ECU1000 .[1 ]1 Fig. 13 is a configuration view of anECU 1000 . -
[
2 ]2(a) und2(b) sind Ansichten, die ein Beispiel einer App-Korrespondenztabelle1150 zeigen.[2 ]2 (a) and2 B) are views showing an example of an app correspondence table1150 demonstrate. -
[
3 ]3 (a) und3 (b) sind Ansichten, die ein Beispiel einer Interrupt-Korrespondenztabelle1141 zeigen.[3 ]3 (a) and3 (b) are views showing an example of an interrupt correspondence table1141 demonstrate. -
[
4 ]4 ist eine Ansicht, die ein Beispiel einer App-Bewegungstabelle1121 zeigt.[4th ]4th Fig. 13 is a view showing an example of an app movement table1121 shows. -
[
5 ]5 ist ein Flussdiagramm, das den Betrieb einer Mikrokernel-Abstraktionseinheit1110 zeigt.[5 ]5 Figure 3 is a flow diagram illustrating the operation of amicrokernel abstraction unit 1110 shows. -
[
6 ]6 ist eine Ansicht, die zeigt, wie eine Programmdatei, die einen Hypervisor1100 realisiert, der ECU1000 über ein Aufzeichnungsmedium oder ein Datensignal in einem abgewandelten Beispiel bereitgestellt wird.[6th ]6th Fig. 3 is a view showing how a program file that ahypervisor 1100 realized theECU 1000 is provided via a recording medium or a data signal in a modified example.
Ausführungsformen der ErfindungEmbodiments of the invention
Erste AusführungsformFirst embodiment
Im Folgenden wird eine erste Ausführungsform eines Hypervisors gemäß der vorliegenden Erfindung unter Bezugnahme auf
(Konfiguration der ECU
(Hardwareschicht
Die Hardwareschicht
Der Speicher
(Virtuelle Umgebung
In der virtuellen Umgebung
(Programmdatei der App)(Program file of the app)
In der vorliegenden Ausführungsform ist eine App ein Computerprogramm, das eine bestimmte Funktion entwickelt. D. h., wenn die zu realisierenden Funktionen dieselben sind, werden sie als dieselbe App behandelt, selbst wenn der Inhalt der Anwendung, d. h. die Programmdatei, unterschiedlich ist. D. h., ob die Apps gleich sind oder nicht, wird ohne Berücksichtigung des verwendeten Befehlscodes usw. beurteilt. Streng genommen ist jedoch bei unterschiedlichen Programmdateien auch denkbar, dass die durch Lesen der Programmdateien durchgeführten Apps nicht gleich sind.In the present embodiment, an app is a computer program that develops a specific function. That is, if the functions to be realized are the same, they will be treated as the same app even if the content of the application, i. H. the program file, is different. That is, whether the apps are the same or not is judged regardless of the command code used, etc. Strictly speaking, however, with different program files it is also conceivable that the apps executed by reading the program files are not the same.
Hier wird der Inhalt der Anwendung, d. h. die Programmdatei, erläutert. Programmdateien werden auch als „durchführbare Dateien“ oder „Binärdaten“ bezeichnet. Die Programmdatei kann jedoch aus Textdaten bestehen, die von Menschen gelesen werden können. Wenn es sich bei der Programmdatei um Textdaten handelt, verfügt die ECU
Grundsätzlich wird die Programmdatei für jedes OS und jede CPU vorbereitet. D. h., wenn die Durchführungsumgebungen unterschiedlich sind, müssen grundsätzlich unterschiedliche Programmdateien verwendet werden. Um eine bestimmte App auf mehreren CPUs und mehreren OS zu realisieren, ist es daher erforderlich, mehrere Programmdateien vorzubereiten. Wenn die Hardware jedoch kompatibel ist oder lediglich ein gemeinsamer Befehlssatz verwendet wird, kann eine Programmdatei ggf. in mehreren Durchführungsumgebungen verwendet werden.Basically, the program file is prepared for each OS and each CPU. In other words, if the implementation environments are different, different program files must be used. In order to implement a certain app on several CPUs and several OS, it is therefore necessary to prepare several program files. However, if the hardware is compatible, or if only a common set of instructions is used, a program file can be used in multiple execution environments if necessary.
Der CPU-Typ für jede CPU wird im Voraus bestimmt und bspw. durch die Registerkonfiguration und den entsprechenden Befehlssatz bestimmt. Bspw. haben zwei CPUs, die sich lediglich in Betriebsfrequenzen unterscheiden, den gleichen Registertyp und den gleichen entsprechenden Befehlssatz und daher den gleichen CPU-Typ.The CPU type for each CPU is determined in advance and determined, for example, by the register configuration and the corresponding instruction set. E.g. have two CPUs, which only differ in their operating frequencies, the same register type and the same corresponding instruction set and therefore the same CPU type.
Im oben erwähnten Flash-Speicher
In dem in
(Hypervisor
Der Hypervisor
Der hardwareabhängige Mikrokernel
Der erste HDM
Der Hypervisor
Die Mikrokernel-Abstraktionseinheit
Die Überwachungseinheit
Die App-Bewegungsverwaltungseinheit
Die App-Bewegungsverwaltungseinheit
(App-Bewegungstabelle
Der Name der Anwendung wird in das Feld der App
Der Name der CPU, die die App mit demselben Datensatz durchführt, wird in das Feld von CPU-Name
In das Feld vom Rang
In das Feld der CPU-Last
(Aktualisierung von Rang
Die Aktualisierung des Ranges
Das Ermittlungsverfahren des Schätzwerts ist beliebig, und der Schätzwert nimmt mit abnehmender CPU-Last und mit zunehmender freier Speicherkapazität zu. Der Schätzwert wird z. B. als Wert von 0 bis 100 ermittelt, indem die durch die CPU-Last bestimmten Werte von 0 bis 50 und die durch den freien Speicher bestimmten Werte von 0 bis 50 addiert werden. Wenn bspw. der durch Polling erhaltene Wert mit dem in jedem Datensatz angegebenen Wert übereinstimmt, beträgt der Schätzwert dieses Elements
Dann ordnet die App-Bewegungsverwaltungseinheit
(Flussdiagramm)(Flow chart)
Wenn die Mikrokernel-Abstraktionseinheit
In nachfolgendem Schritt S2003 initialisiert die Mikrokernel-Abstraktionseinheit
In nachfolgendem Schritt S2007 beurteilt die Mikrokernel-Abstraktionseinheit
Im Schritt S2009, der dann durchgeführt wird, wenn im Schritt S2007 eine positive Beurteilung vorgenommen wird, liest die Mikrokernel-Abstraktionseinheit
Wenn bspw. die App-Bewegungstabelle
Im Schritt S2011 bestimmt die Mikrokernel-Abstraktionseinheit
In nachfolgendem Schritt S2012 spezifiziert die Mikrokernel-Abstraktionseinheit
In nachfolgendem Schritt S2013 ordnet die Mikrokernel-Abstraktionseinheit
In nachfolgendem Schritt S2015 überträgt die Interrupt-Übertragungseinheit
Im Schritt S2016, der durchgeführt wird, wenn im Schritt S2010 eine negative Bestimmung vorgenommen wird, gibt die Mikrokernel-Abstraktionseinheit
Gemäß der oben erläuterten ersten Ausführungsform können die folgenden Wirkungen und Effekte erhalten werden.
- (1)
Der Hypervisor 1100 stellt eine virtuelle Umgebung1200 bereit, die mehrere Betriebssysteme durchführen kann, die eine Anwendung durchführen können, und wird von mehreren CPUs betrieben.Der Hypervisor 1100 ist mit einer Überwachungseinheit1160 , die Betriebszustände mehrerer OS überwacht, und einer App-Bewegungsverwaltungseinheit1120 versehen, die auf der Basis des Arbeitszustands anstelle einer Anwendung, die durch eine erste Programmdatei realisiert wird, die im ersten OS durchgeführt wird, eine Anwendung, die durch eine zweite Programmdatei mit einer ähnlichen Funktion wie die erste Anwendung im zweiten OS betreibt. Die App-Bewegungsverwaltungseinheit1120 wählt auf der Basis des Typs der CPU, die das zweite OS durchführt, eine Programmdatei aus, die die zweite Anwendung realisiert. Daher kann die Bewegung der Anwendung, d. h. eine Migration auch dann realisiert werden, wenn verschiedene CPU-Typen verwendet werden. - (2)
Der Hypervisor 1100 weist eine App-Korrespondenztabelle 1150 auf, die die Korrespondenz zwischen realisierten Funktionen, CPU-Typen und Programmdateien zeigt. Die App-Bewegungsverwaltungseinheit1120 berücksichtigt die App-Korrespondenztabelle 1150 und wählt eine Programmdatei aus, die die zweite Anwendung realisiert. Daher kann der Hypervisor1100 eine geeignete Programmdatei entsprechend der Umgebung des Migrationsziels auswählen. - (3) CPU-Typen in der App-
Korrespondenztabelle 1150 werden mindestens auf der Basis des Befehlssatzes der CPU und der Registerkonfiguration klassifiziert. Dies liegt daran, dass tendenziell dieselbe Programmdatei verwendet werden kann, wenn der Befehlssatz der CPU und die Registerkonfiguration identisch sind. - (4)
Der Hypervisor 1100 weist eine Interrupt-Korrespondenztabelle 1141 auf, die die Korrespondenzbeziehung zwischen den Nummern der Interrupt-Anforderung und OS zeigt.Der Hypervisor 1100 ist mit einer Interrupt-Übertragungseinheit 1140 versehen. Die Interrupt-Übertragungseinheit 1140 überträgt die Interrupt-Anforderung der dem OS entsprechenden IRQ-Nummer auf der Basis der Interrupt-Korrespondenztabelle 1141 . Wenn ferner die App-Bewegungsverwaltungseinheit1120 die zweite Anwendung betreibt, schreibt die Interrupt-Übertragungseinheit 1140 das erste OS in der Interrupt-Korrespondenztabelle 1141 auf das zweite OS um, wie in3(a) bis3(b) gezeigt. Daher kann der IRQ zusammen mit der Durchführung der Migration übertragen werden. - (5) Die App-Bewegungsverwaltungseinheit
1120 betreibt die zweite Anwendung im zweiten OS anstelle der ersten Anwendung, die im ersten OS durchgeführt wird, wenn der Betrieb des ersten OS gestoppt wird, oder wenn der Betrieb der ersten Anwendung fehlerhaft ist. Daher kann die Migration mit dem Anlass des Stoppens des OS durchgeführt werden.
- (1) The
hypervisor 1100 represents avirtual environment 1200 ready that can run multiple operating systems that can run an application and is run by multiple CPUs. Thehypervisor 1100 is with a monitoring unit1160 that monitors the operating status of multiple OS and an app motion management unit1120 which, on the basis of the working state, instead of an application that is realized by a first program file that is executed in the first OS, an application that operates by a second program file with a similar function to the first application in the second OS. The app motion management unit1120 selects a program file that the second application implements based on the type of CPU executing the second OS. Therefore, application movement, that is, migration can be realized even when different types of CPUs are used. - (2) The
hypervisor 1100 assigns an app correspondence table1150 showing the correspondence between implemented functions, CPU types and program files. The app motion management unit1120 takes into account the app correspondence table1150 and selects a program file that implements the second application. Therefore, thehypervisor 1100 Select an appropriate executable based on the environment of the migration target. - (3) CPU types in the app correspondence table
1150 are classified based at least on the CPU's instruction set and register configuration. This is because there tends to be the same program file that can be used if the CPU instruction set and register configuration are identical. - (4) The
hypervisor 1100 assigns an interrupt correspondence table1141 showing the correspondence relation between the interrupt request numbers and OS. Thehypervisor 1100 is with an interrupttransmission unit 1140 Mistake. The interrupttransfer unit 1140 transmits the interrupt request to the IRQ number corresponding to the OS on the basis of the interrupt correspondence table1141 . Furthermore, if the app Motion management unit1120 the second application is running, the interrupt transfer unit writes1140 the first OS in the interrupt correspondence table1141 to the second OS, as in3 (a) to3 (b) shown. Therefore, the IRQ can be transferred along with the migration. - (5) The app motion management unit
1120 operates the second application in the second OS in place of the first application that is executed in the first OS when the operation of the first OS is stopped or when the operation of the first application fails. Therefore, the migration can be performed on the occasion of the OS stopping.
(Abgewandeltes Beispiel 1)(Modified example 1)
In der oben erläuterten ersten Ausführungsform ist es auch möglich, dass die Bewegungsanforderung
(Abgewandeltes Beispiel 2)(Modified example 2)
Es ist auch möglich, dass der Hypervisor
(Abgewandeltes Beispiel 3)(Modified example 3)
Es ist auch möglich, dass die Programmdatei, die den Hypervisor
Ferner weist das Eingabegerät
D. h., das Programm wird als Datensignal durch die Trägerwelle über die Kommunikationsleitung
Die oben erläuterten jeweiligen Ausführungsformen und die abgewandelten Beispiele können kombiniert werden. Obwohl oben verschiedene Ausführungsformen und abgewandelte Beispiele erläutert wurden, ist die vorliegende Erfindung nicht auf diese Inhalte beschränkt. Andere Aspekte, die im Umfang des technischen Gedankens der vorliegenden Erfindung betrachtet werden können, sind ebenfalls im Umfang der vorliegenden Erfindung enthalten.The above-explained respective embodiments and the modified examples can be combined. Although various embodiments and modified examples have been explained above, the present invention is not limited to these contents. Other aspects that can be considered within the scope of the technical concept of the present invention are also included within the scope of the present invention.
Der Offenlegungsinhalt der folgenden grundlegenden Prioritätsanmeldung wird hiermit als Zitat aufgenommen.The disclosure content of the following basic priority application is hereby incorporated by reference.
BezugszeichenlisteList of reference symbols
- 11001100
- HypervisorHypervisor
- 11101110
- Mikrokernel-AbstraktionseinheitMicrokernel abstraction unit
- 11201120
- App-BewegungsverwaltungseinheitApp motion management unit
- 11211121
- App-BewegungstabelleApp movement table
- 11281128
- Rangrank
- 11601160
- ÜberwachungseinheitMonitoring unit
- 11401140
- Interrupt-ÜbertragungseinheitInterrupt transmission unit
- 11411141
- Interrupt-KorrespondenztabelleInterrupt correspondence table
- 11501150
- App-KorrespondenztabelleApp correspondence table
- 12001200
- virtuelle Umgebungvirtual environment
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- JP 2017128308 [0003]JP 2017128308 [0003]
- JP 2018021377 [0058]JP 2018021377 [0058]
Claims (7)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018021377A JP6814756B2 (en) | 2018-02-08 | 2018-02-08 | Hypervisor, arithmetic unit |
JP2018-021377 | 2018-02-08 | ||
PCT/JP2019/003223 WO2019155966A1 (en) | 2018-02-08 | 2019-01-30 | Computer program product and computation device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112019000308T5 true DE112019000308T5 (en) | 2020-10-15 |
Family
ID=67549542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112019000308.9T Pending DE112019000308T5 (en) | 2018-02-08 | 2019-01-30 | Computer program product and computing unit |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6814756B2 (en) |
DE (1) | DE112019000308T5 (en) |
WO (1) | WO2019155966A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579249B (en) * | 2019-09-30 | 2024-09-10 | 奇安信安全技术(珠海)有限公司 | Operation method and device of multi-CPU virtual machine, storage medium and computer equipment |
CN111475342B (en) * | 2020-04-15 | 2024-04-23 | 广州三星通信技术研究有限公司 | Application switching method and application switching device for electronic terminal |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4345630B2 (en) * | 2004-09-29 | 2009-10-14 | ソニー株式会社 | Information processing apparatus, interrupt processing control method, and computer program |
JP2013073542A (en) * | 2011-09-29 | 2013-04-22 | Fixstars Corp | Program processor, program processing method and program |
US9503387B2 (en) * | 2013-08-21 | 2016-11-22 | Cisco Technology, Inc. | Instantiating incompatible virtual compute requests in a heterogeneous cloud environment |
WO2015132942A1 (en) * | 2014-03-07 | 2015-09-11 | 株式会社日立製作所 | Computer |
JP6504065B2 (en) * | 2016-01-22 | 2019-04-24 | 株式会社デンソー | Vehicle control system |
-
2018
- 2018-02-08 JP JP2018021377A patent/JP6814756B2/en active Active
-
2019
- 2019-01-30 DE DE112019000308.9T patent/DE112019000308T5/en active Pending
- 2019-01-30 WO PCT/JP2019/003223 patent/WO2019155966A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP6814756B2 (en) | 2021-01-20 |
JP2019139453A (en) | 2019-08-22 |
WO2019155966A1 (en) | 2019-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3751446T2 (en) | Multiprocessor memory operating method and device. | |
DE112010003554B4 (en) | Symmetrical direct migration of virtual machines | |
DE69322538T2 (en) | Method and processor for processing a program in parallel | |
DE112011101633B4 (en) | Reorganization of storage levels taking virtualization and dynamic resource allocation into account | |
DE69024753T2 (en) | Portable, resource-sharing file server that uses common routines | |
DE69803924T2 (en) | MAPPEDVIRTUELSYSTEM (MVS) DEVICE BACKUP FOR A DATA PROCESSOR USING A DATA STORAGE SUBSYSTEM SNAPSHOT POSSIBILITY | |
DE69031862T2 (en) | Channel load balancing method and use in a data processing system | |
DE69526751T2 (en) | Multiprocessor system for the local administration of address translation tables | |
DE102013215009A1 (en) | Method and system for optimizing data transmission | |
DE202010017613U1 (en) | Data storage device with host-controlled garbage collection | |
DE112018006769B4 (en) | EXTENDED CACHE ALLOCATION BASED ON NODE VIRTUAL RESOURCES | |
DE4221073A1 (en) | DATA STORAGE SYSTEM AND METHOD WITH DEVICE INDEPENDENT FILE DIRECTORIES | |
DE102004025921A1 (en) | Multi-interface storage system and data access method in such a storage system | |
DE102010001339A1 (en) | Manage requirements of operating systems that run in virtual machines | |
DE112013006646B4 (en) | Computer, system and computer-readable storage medium for identifying workload and sizing buffers for volume replication purposes | |
EP0010570B1 (en) | Method and device for self-adaptive load association in a data processing system | |
DE10234138A1 (en) | Manage storage competition in automated storage systems | |
DE112013000687T5 (en) | Distributed functional design for hybrid systems | |
DE112019000308T5 (en) | Computer program product and computing unit | |
DE112016007336T5 (en) | Information processing apparatus, apparatus assignment method, and apparatus assignment program | |
DE102011007714B4 (en) | Method for use with a battery monitoring system, battery monitoring system and method of use | |
DE112019000189T5 (en) | PROGRAM EXECUTION CONTROL METHOD AND VEHICLE CONTROL DEVICE | |
DE102016125023B4 (en) | Method for operating a print server for digital high-performance printing systems | |
DE102016125020B4 (en) | Method for operating a print server for digital high-performance printing systems | |
DE202016107380U1 (en) | Systems for storing and reading content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: HITACHI ASTEMO, LTD., HITACHINAKA-SHI, JP Free format text: FORMER OWNER: HITACHI AUTOMOTIVE SYSTEMS, LTD., HITACHINAKA-SHI, IBARAKI, JP |