IP Library › Granted Patent US 9,389,885
Granted Patent B2
US 9,389,885 · App. 13/627,529 · Granted Jul 12, 2016

Method and virtualization software for providing independent time sources for virtual runtime environments

Inventors: Otto Niesser (Allersberg, DE); Halil Caglar Ünver (Nürnberg, DE)
Assignee: Siemens Aktiengesellschaft
G06F9/455G06F1/14G06F11/1604G06F9/45533G06F2201/815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,389,885
App. No.
13/627,529
Granted
Jul 12, 2016
Kind
B2
Abstract

A method and virtualization software for providing at least two mutually independent time sources for at least one real-time operating system of a data processing device including virtual runtime environments, where a general-purpose operating system runs in one virtual runtime environment, and the virtual runtime environments are managed by virtualization software (hypervisor). A first time source is exclusively assigned to each real-time operating system, where the data processing device includes a second time source independent of the first time source, the second time source is configured to periodically generate an interrupt, the first processor core enters a routine of the virtualization software (hypervisor) with each interrupt triggered by the second time source, the content of at least one memory cell readable by the real-time operating system is updated and used as a time source, which is independent of the first time source, to control the first time source.

Claims (17)

1. A method for providing at least two mutually independent time sources for at least one real-time operating system of a data processing device with a plurality of virtual runtime environments, the method comprising the steps of:

running a general-purpose operating system in a first virtual runtime environment of the plurality of virtual runtime environments and the at least one real-time operating system running in a second virtual runtime environment of the plurality of virtual runtime environments;

managing the plurality of virtual runtime environments by virtualization software;

assigning a first processor core to the first virtual runtime environment and assigning a second processor core to the second virtual runtime environment;

assigning a first time source exclusively to the at least one real-time operating system, the data processing device including a second time source independent of the first time source, the second time source being configured to periodically generate an interrupt comprising one of an initialization signal, a start signal or a non-maskable interrupt;

generating periodically, by the second time source, an interrupt;

accessing, by the first processor core assigned to the first virtual runtime environment including the general-purpose operating system of the plurality of virtual runtime environments, the virtualization software with each interrupt triggered by the second time source;

updating, by the virtualization software, a content of at least one memory cell which is readable by the at least one real-time operating system; and

implementing, by the real-time operating system, the updated at least one memory cell as a time source which is independent of the first time source.

2. The method as claimed in claim 1 , wherein the first time source comprises a time-stamp counter of that processor core on which the second virtual runtime environment with the at least one real-time operating system runs.

3. The method as claimed in claim 1 , wherein the second time source comprises a real-time clock module of the data processing device.

4. The method as claimed in patent claim 3 , wherein the real-time clock module with respect to the first virtual runtime environment is virtualized by the virtualization software.

5. The method as claimed in claim 1 , wherein at least one interrupt controller with respect to the general-purpose operating system is virtualized by the virtualization software.

6. The method as claimed in claim 1 , wherein a plurality of second virtual runtime environments each including a real-time operating system are set up on the data processing device, each of the plurality of second virtual runtime environments being assigned a processor core.

7. The method as claimed in patent claim 6 , further comprising the step of:

updating at least one separate memory cell respectively for each second virtual runtime environment.

8. The method as claimed in claim 1 , wherein the virtualization software updates content of the at least one memory cell, which is readable by the real-time operating system, by incrementing a numerical value stored in the at least one memory cell.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2012
From: NIESSER, OTTO; UENVER, HALIL CAGLAR
To: SIEMENS AKTIENGESELLSCHAFT
Reel/Frame 029481/0756 →
Priority Claims (1)
EP 11183139 · Sep 28, 2011 · regional
Continuity (1)
Related Publication 20130125118A1 · May 16, 2013