-
HINTERGRUND
-
Eine elektronische Vorrichtung wie z. B. ein Computer oder sonstiges Gerät kann ein Basiseingabe-/-ausgabesystem (BIOS) umfassen, das für das Hochfahren der Vorrichtung zuständig ist. Beim Hochfahren initialisiert und konfiguriert das BIOS Komponenten der elektronischen Vorrichtung und lädt ein Betriebssystem auf der elektrischen Vorrichtung. Außerdem kann das BIOS weitere Dienste wie z. B. Stromsparfunktion, Wärmeverwaltung, BIOS-Aktualisierung usw. Bereitstellen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Einige Ausführungsformen werden unter Bezugnahme auf die nachfolgenden Zeichnungen beschrieben:
-
1 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines virtuellen hochprivilegierten Modus.
-
2 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines virtuellen hochprivilegierten Modus.
-
3 ist ein Flussdiagamm eines Verfahrens zur Bearbeitung von Systemverwaltungsanforderungen (SVA) gemäß einem Ausführungsbeispiel;
-
4 ist ein Flussdiagamm eines Verfahrens zur Bearbeitung von Systemverwaltungsanforderungen (SVA) gemäß einem Ausführungsbeispiel; und
-
5 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines computerlesbaren Datenträgers;
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ein Basiseingabe-/-ausgabesystem (BIOS) ist üblicherweise der erste Code, der beim Hochfahren von einer elektronischen Vorrichtung ausgeführt wird. Beispiele der elektronischen Vorrichtung sind insbesondere ein Computer (z. B. Desktop, Notebook, Tablet, Servercomputer, usw.), ein tragbares Gerät (PDA, Smartphone, usw.), eine elektronisches Haushaltsgerät, eine Spielkonsole oder elektronisches Gerät einer sonstigen Art. Das BIOS initialisiert und konfiguriert verschiedene Hardware-Komponenten der elektronischen Vorrichtung und lädt und startet ein Betriebssystem (OS) der elektrischen Vorrichtung. Der Code des BIOS ist üblicherweise auf einem nicht flüchtigen Speicher wie z. B. einem Flash-Speicher oder sonstigen programmierbaren ROM (Read-Only Memory) gespeichert.
-
Das BIOS stellt auch weitere Funktionen bereit, die in der elektronischen Vorrichtung abgerufen werden können. Viele dieser weiteren Funktionen des BIOS werden in der elektronischen Vorrichtung durch Übergehen in einen SMM (System Management Mode) ausgeführt; beim SMM handelt es sich um einen Betriebsmodus, in dem die Ausführung des OS suspendiert wird. Ferner können in einer elektronischen Vorrichtung, die über mehrere Prozessoren oder Prozessorkerne verfügt, alle bis auf einen der Prozessore bzw. Prozessorkerne im SMM deaktiviert sein. Um in den SMM zu übergehen, wird ein SMI (System Management Interrupt) vorgenommen und ein SMI-Handler (der Teil des BIOS ist) wird ausgeführt, um die jeweiligen Funktionen auszuführen; dies erfolgt häufig in einem relativ hochprivilegierten Modus.
-
Beim Übergang in den SMM zur Ausführung von BIOS-Funktionen können sich verschiedene Probleme ergeben. Da die Ausführung des OS suspendiert wird, ist erstens der normale Betrieb der elektronischen Vorrichtung ausgeschlossen. Bei einer elektronischen Vorrichtung, bei der die Prozessoren bzw. Prozessorkerne im SMM deaktiviert sind, wird ein Teil der Prozessorkapazität der elektronischen Vorrichtung vorübergehend deaktiviert; d. h. dass dieser Teil der Prozessorkapazität zur Übernahme sonstiger Aufgaben nicht zur Verfügung steht. Außerdem lässt sich mitunter schwer vorhersagen, wie lange die SMM-Verarbeitung dauern wird, was zu Ungewißheiten beim Betrieb der Vorrichtung führen kann. Außerdem: Da es mitunter relativ lange dauert, um einige BIOS-Funktionen abzuschließen (z. B. mehrere Minuten lang), stehen einem Benutzer der Vorrichtung womöglich keine Statusdaten nicht zur Verfügung, was auf den Benutzer verunsichernd wirken kann, da er nicht in der Lage ist, festzustellen, ob die elektronische Vorrichtung richtig funktioniert oder nicht.
-
Es können sich auch Sicherheitsprobleme ergeben, da Schadprogramme im SMM-Betrieb angreifen können, was zu einer Beschädigung des Systems führen kann. Die zur Vermeidung derartiger Angriffe auf den SMM-Betrieb ergriffenen Sicherheitsvorkehrungen können zu einer Verkomplizierung der Auslegung einer elektronischen Vorrichtung führen. Beispiele dieser Sicherheitsvorkehrungen sind insbesondere das Sperren bestimmter Speicherbereiche, insbesondere Register und/oder eines Teils des nicht flüchtigen Speichers, wie z. B. eines Flash-Speichers oder sonstigen programmierbaren ROM (Read-Only Memory). Ferner können die Sicherheitsvorkehrungen zur Einschränkung der Leistungsfähigkeit bestimmter BIOS-Funktionen, z. B. Aktualisierungen des BIOS-Codes, führen, wodurch diese BIOS-Funktionen nur zu bestimmten Zeitpunkten, z. B. beim Neustart des Sytems, ausgeführt werden können.
-
Beispiele der verschiedenen häufig im SMM ausgeführten Funktionen sind insbesondere eine oder eine Kombination der nachfolgenden Funktionen: Aktualisierungen des BIOS-Codes; Zugriff auf oder Änderung einer Einstellung des BIOS; Thermomanagement (z. B. Steuerung von Kühlgeräten wie z. B. Ventilatoren der Vorrichtung); Stromsparfunktion (Ausschalten oder Wiederherstellen der Energieversorge bestimmter Hardware-Komponenten); Übergang der Vorrichtung zwischen einem Energiezustand und einem anderen (z. B. Ruhezustand, Schlafzustand, vollständig eingeschalteter Zustand, usw.); Bearbeitung der Aktivierung einer Schaltfläche oder Schaltflächensequenz (hierzu gehört die Aktivierung einiger Schaltflächenkombinationen) der Vorrichtung (z. B. eine Schaltfläche zum Ein- und Ausschalten einer drahtlosen Schnittstellenkomponente, eine Hotkey-Sequenz zur Ausführung einer vordefinierten Aufgabe usw.); mit einem Umgebungslichtsensor der Vorrichtung in Verbindung stehende Dienste (zur Erkennung von Licht in der Umgebung der Vorrichtung); Änderung einer Einstellung einer Hardware-Komponente der Vorrichtung; Veränderung der Reihenfolge des Hochfahrens hochfahrbarer Geräte der Vorrichtung; Bearbeitung eines Aufrufs einer bestimmten Art zwischen OS und BIOS (z. B. Unterbrechungsanforderung); Ausführung eines Befehls eines eingebetteten Steuergeräts; Unterstützung eines älteren Peripheriegeräts (z. B. USB-Gerät) unter bestimmten Bedingungen.
-
Obwohl verschiedene beispielhafte BIOS-Funktionen oben aufgeführt sind, ist anzumerken, dass auch weitere oder alternative BIOS-Funktionen in anderen Ausführungsformen einsetzbar sind.
-
Gemäß einigen Ausführungsformen können für ein robusteres Systemverhalten Funktionen des BIOS in einer privilegierten Domäne der elektronischen Vorrichtung vorgesehen sein, das sich in der privilegierten Domäne befinden kann, wobei es sich bei der privilegierten Domäne um eine Domäne der elektronischen Vorrichtung handelt, die relativ sicher ist und über bestimmte vordefinierte Privilegien verfügt, die anderen Einheiten der elektronischen Vorrichtung nicht zur Verfügung stehen. Generell ist unter ”privilegierte Domäne” eine Domäne zu verstehen, die über vordefinierte Privilegien verfügt, die es einer Einheit der Domäne ermöglichen, Funktionen in der elektronischen Vorrichtung auszuführen, die andere Einheiten (z. B. OS, Anwendungen, usw.) nicht ausführen dürfen. Außerdem verfügt eine privilegierte Domäne über einen Sicherheitsmechanismus, um sie vor unbefugten Zugriffen oder Angriffen zu schützen.
-
Durch das Übertragen von Funktionen des SMM auf einen virtuellen hochprivilegierten Modus muss die elektronische Vorrichtung nicht in den SMM übergehen, um die auf den virtuellen hochprivilegierten Modus übertragenen BIOS-Funktionen ausführen zu können. In einigen Ausführungsformen kann der SMM-Betrieb von der Hardware ganz entfallen. In weiteren Ausführungsformen kann der SMM-Betrieb immer noch bestimmte BIOS-Funktionen ausführen, während die übrigen BIOS-Funktionen über den virtuellen hochprivilegierten Modus ausgeführt werden.
-
Beispiele einer privilegierten Domäne sind insbesondere eine der nachfolgend aufgeführten Domänen oder eine Kombination davon: Die Domäne 0, die häufig die erste Domäne ist, die von einem VMM (Virtual Machine Monitor, auch Hypervisor) hochgefahren wird, um Verwaltungsaufgaben zu übernehmen; ein Teil des VMM (oder Hypervisors); eine virtuelle Gastmaschine, die über vordefinierte Einstellungen verfügt, durch die die virtuelle Gastmaschine verstärkte Privilegien und/oder Sicherheit erhält; oder eine Domäne einer anderen Art in der elektronischen Vorrichtung, die über ein vordefiniertes Sonderprivileg und/oder Sicherheitsmechanismus verfügt. Die gesicherte privilegierte Domäne kann das virtuelle vertraute Laufzeit-BIOS umfassen, welches über einen virtuellen hochprivilegierten Modus verfügt, der Systemverwaltungsbefhle sicher bearbeiten kann, ohne über eine Komponente auf gleicher Ebene wie der VMM wie z. B. einen SMMTM (System Management Mode Transfer Monitor) zur Teilung und Sicherung äeines virtuellen hochprivilegierten Modus von den anderen Domänen verfügen zu müssen.
-
Eine ”virtuelle Maschine” (auch ”Virtual Appliance” oder ”virtuelle Partition”) ist eine Partition oder Segment eines physischen Rechners (der elektronischen Vorrichtung, die zur Virtualisierung oder Nachahmung eines physischen Rechners vorgesehen wird. Aus der Sicht eines Benutzers oder einer Anwendung sieht eine virtuelle Maschine so aus wie ein physischer Rechner. Eine virtuelle Maschine umfasst ein Betriebssystem (Gast-Betriebssystem) sowie mindestens eine Anwendung.
-
Ein VMM, auch Hypervisor genannt, verwaltet die Teilung der physischen Ressourcen, insbesondere der Hardware-Komponenten, der elektronischen Vorrichtung durch die virtuellen Maschinen. Der VMM virtualisiert die physischen Ressourcen. Jede virtuelle Maschine verfügt über damit verbundene virtualisierte physische Ressourcen, die vom VMM verwaltet werden. Der VMM verarbeitet Anfragen nach physischen Ressourcen.
-
1 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines virtuellen hochprivilegierten Modus. Ein Computersystem 100 kann einen Prozessor 110 umfassen. Der Prozessor 110 ist Teil der Hardware 105 des Rechensystems 100. Der Prozessor 110 kann ein Mehrzweck- oder anwendungsspezifischer Prozessor sein. Beispielsweise kann die Hardware 105 umfassen: I/O-Geräte, flüchtiger Speicher, sekundärer Speicher, Flash-Speicher, Netzwerk-Interface-Steuereinheit, Graphikkarte, usw. Das System kann einen VMM 115 zur Verwaltung der physischen Ressourcen der Hardware-Komponenten sowie zur Virtualisierung der physischen Ressourcen umfassen. Das Rechensystem umfasst ein virtuelles BIOS (vBIOS) 135, das mit einer Gastdomäne 130 verbunden ist. Die Gastdomäne 130 ist eine virtuelle Maschine, die ein Betriebssystem wie z. B. Microsoft Windows, Linux, Unix oder ein sonstiges Betriebssystem ausführen kann.
-
In einigen Beispielen ist die privilegierte Domäne 120 die Domäne 0, bei der es sich um eine vom VMM 102 beim Hochfahren des Systems hochgefahrene Verwaltungsdomäne handelt, die über verstärkte Privilegien und Sicherheitsmechanismen verfügt. Beispiele der von der Domäne 0 übernommenen Aufgaben sind insbesondere das Erzeugen und Konfigurieren der Gastdomänen. Jede der Domäne 0 und der Gastdomäne gilt als entsprechende virtuelle Maschine. Die privilegierte Domäne 120 kann vom VMM 115 getrennt vorliegen. In alternativen Ausführungsformen kann die privilegierte Domäne 120 Teil des VMM 115 sein. In derartigen alternativen Ausführungsformen ist die vertraute Laufzeit-BIOS-Funktion 125 Teil des VMM 115. Die privilegierte Domäne 120 kann eine vertraute Domäne sein, da diese vom vertrauten VMM erzeugt oder verwaltet wird.
-
Die Bereitstellung der BIOS-Funktion 125 in der privilegierten Domäne 120 führt ein ”Cloud-BIOS” aus, das auch als ”virtuelles vertrautes Laufzeit-BIOS 125” oder BIOS.v bezeichnet wird. Die ”Cloud” kann sich auf die privilegierte Domäne 120 (oder eine sonstige vertraute Domäne) beziehen. Die Cloud kann entweder im Rechensystem 100 oder außerhalb des Rechensystems 100 vorliegen. Beispielsweise kann die Cloud, die eine vertraute Laufzeit-BIOS-Funktion 125 enthält, dem Rechensystem 100 über ein Netzwerk zugänglich sein. Beim Netzwerk kann es sich z. B. um ein LAN, WAN oder weltweites Netzwerk handeln.
-
The computing system 100 may include a virtual high-privilege mode 140 to handle a system management request. Die SVA kann mindestens eine SMI (System Management Interrupt) und einen Systemverwaltungsbefehl umfassen.
-
Die SVA können z. B. von der Gastdomäne 130 oder der privilegierten Domäne 120 stammen. Obwohl der virtuelle hochprivilegierte Modus 140 im vertrauten Laufzeit-BIOS innerhalb der privilegierten Domäne dargestellt wird, kann er in einer beliebigen vertrauten Domäne vorliegen, die vom VMM erzeugt oder verwaltet wird oder im VMM 115 selbst enthalten ist. Weitere Domänen, die vom VMM erzeugt oder verwaltet werden, die die vertraute Domäne sein könnten, sind insbesondere die privilegierte Domäne 120, ein Virtual Appliance oder eine Gastdomäne 130.
-
Ein virtueller hochprivilegierter Modus 140 zur Bearbeitung der SVA kann den Prozessor 110 oder sonstige Hardware 105 daran hindern, in einen SMM einzutreten, der zum Halten der Prozesse bis zur Bearbeitung der SVA führt. Wenn z. B. die Gastdomäne 130 eine SVA erzeugt, kann der VMM 115 die SVA daran hindern, den Prozessor 110 in einen SMM zu versetzen und die SVA an den virtuellen hochprivilegierten Modus 140 zur Bearbeitung weiterleiten. Der virtuelle hochprivilegierte Modus kann zur Vornahme von Neukonfigurationen des Systems, die sonst in einem SMM des Prozessors erfolgen würden, auf Hardware zugreifen. In einem Beispiel kann der Zugriff auf die Hardware 105 vom VMM 115 bereitgestellt werden.
-
2 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines virtuellen hochprivilegierten Modus. Ein Computersystem 200 kann einen Prozessor 210 umfassen. Der Prozessor 210 ist Teil der Hardware 205 des Rechensystems 200. Die Hardware kann Firmware 245 umfassen, zu der das BIOS 250 sowie die EFI (Extensible Firmware Interface) 255 gehören können. Das BIOS 250 kann als physisches BIOS bezeichnet werden. Ein ”physisches BIOS” ist ein BIOS-Code, der in einem nicht flüchtigen Speicher wie z. B. Flash-Speicher oder sonstigem programmierbarem ROM vorliegt und beim Hochfahren des Rechensystems 200 auszuführen ist. In einigen Ausführungsformen kann es sich beim physischen BIOS um eine reduzierte (vereinfachte) Version des BIOS handeln, da mindestens ein Teil des Systemverwaltungsmodus auf einen virtuellen hochprivilegierten Modus übertragen wird. Wird ein vertrautes Laufzeit-BIOS 225 ausgeführt, kann das physische BIOS 250 aufgrund des dem virtuellen Laufzeit-BIOS 225 entgegengebrachten Vertrauens weiterhin aufgeschlossen bleiben, um Veränderungen zuzulassen. Der Prozessor 210 kann ein Mehrzweck- oder anwendungsspezifischer Prozessor sein. Das System kann einen VMM 215 zur Verwaltung der physischen Ressourcen der Hardware-Komponenten sowie zur Virtualisierung der physischen Ressourcen umfassen. Das Rechensystem 100 umfasst ein virtuelles BIOS (vBIOS) 235, das mit einer Gastdomäne 230 verbunden ist. Die Gastdomäne 230 ist eine virtuelle Maschine, die ein Betriebssystem wie z. B. Microsoft Windows, Linux, Unix oder ein sonstiges Betriebssystem ausführen kann.
-
In einigen Beispielen ist die privilegierte Domäne 220 die Domäne 0, bei der es sich um eine vom VMM 202 beim Hochfahren des Systems hochgefahrene Verwaltungsdomäne handelt, die über verstärkte Privilegien und Sicherheitsmechanismen verfügt. Beispiele der von der Domäne 0 übernommenen Aufgaben sind insbesondere das Erzeugen und Konfigurieren der Gastdomänen. Jede der Domäne 0 und der Gastdomäne gilt als entsprechende virtuelle Maschine. Die privilegierte Domäne 220 kann vom VMM 215 getrennt vorliegen. In alternativen Ausführungsformen kann die privilegierte Domäne 220 Teil des VMM 215 sein. In derartigen alternativen Ausführungsformen ist die vertraute Laufzeit-BIOS-Funktion 225 Teil des VMM 215.
-
Der virtuelle SMM 240, der eine SVA des virtuellen SMM 240 bearbeiten soll, ist ein virtueller hochprivilegierter Modus, der Funktionen ausführen kann, die die Hardware 205 des Systems in einen SMM versetzen. Die Bearbeitung der Funktionen des SMM im virtuellen SMM 240 hindert den Prozessor 210 daran, die Verarbeitung der Befehle und Daten im SMM abzubrechen, da der Prozessor nicht in dem SMM eintritt. In einigen Ausführungsformen verfügt der Prozessor 210 über keinen SMM.
-
In einigen Ausführungsformen kann der virtuelle SMM 240 in einer beliebigen vertrauten Domäne vorliegen, die vom VMM 215 erzeugt oder verwaltet wird, insbesondere dem VMM 215 selbst oder einem Virtual Appliance 260, der privilegierten Domäne 220 oder einer Gastdomäne 230. In einem Beispiel wird eine SVA erzeugt. Die SVA wird an den virtuellen SMM 240 zur Bearbeitung weitergeleitet. Die SVA kann gemäß einer Ausführungsform vom vBIOS 235 zur Weiterleitung an den virtuellen SMM 240 empfangen werden. Eine Systemverwaltungsanfrage kann von der API (Application Programming Interface) eines Web-Dienstes versendet werden. Gemäß einer weiteren Ausführungsform kann die Systemverwaltungsanfrage in einer WMI-Packung (Windows Management Instrumentation) verpackt werden. Zu einer weiteren Ausführungsform gehört der Einsatz eines RPC (Remote Procedure Call) zur Weiterleitung der Systemverwaltungsanfrage (SVA) an den virtuellen Systemverwaltungsmodus (SVM).
-
In einigen Ausführungsformen basiert ein Cloud-BIOS auf den nachfolgenden Voraussetzungen einer Architektur auf VMM-Basis: Das physische BIOS kennt und vertraut der Haupt-Laufzeiteinheit (VMM 215), die vom physischen BIOS hochgefahren wird, und der vom BIOS vertraute VMM kann alle anderen I/O-Anfragen fangen und ausschalten (um auf BIOS-Funktionen zuzugreifen) als diejenigen, die von der privilegierten Domäne kommen. In einigen Ausführungsformen kann ein BIOS-Verifizierungsmechanismus vorgeehen sein, um die Herkunft des vom Rechensyste hochzufahrenden VMM zu authentifizieren. Derartige Verifizierungsmechanismen ermöglichen es einem Administrator oder sonstigem Benutzer, festzulegen, dass nur ein zugelassener VMM im Rechensystem hochgefahren werden kann. Der Verifizierungsmechanismus sorgt dafür, dass das im Rechensystem befindliche VMM-Bild nicht auf böswillige Weise verändert worden ist und dass dem VMM vertraut werden kann. Das physische BIOS kann das VMM-Bild visuell verifizieren und dafür sorgen, dass der VMM mit einer bekannten, vorher festgelegten Reihe von Betriebseinstellungen hochgefahren wird Der VMM kann den virtuellen hochprivilegierten Modus 240 zur Bearbeitung der SVA in einer vertrauten Umgebung erzeugen und verwalten, ohne dass dadurch die Hardware 205 in einen SMM übergeht.
-
Nach der Verifizierung, dass ein zugelassener VMM hochgefahren worden ist, kann das physische BIOS die Ausführung verschiedener Sicherheitsmaßnahmen aufschieben oder unterlassen, die vom physischen BIOS normalerweise ausgeführt werden, um Schäden durch nicht zugelassenen oder böswilligen Code zu verhindern. Beispielsweise kann sich das physische BIOS entscheiden, die Flash-Register und/oder Teile des Flash-Speichers des BIOS nicht zu verschließen.
-
Gemäß einigen Ausführungsformen ist das vBIOS 225 rechensystemintern 200 vorgesehen, das vBIOS 225 kann jedoch auch systemextern sein. Aus der Sicht einer virtuellen Gastmaschine oder sonstigen Einheit des Rechensystems, die auf BIOS-DIenste zugreifen will, kann sich die Cloud, die die BIOS-DIenste enthält, an einem beliebigen Ort befinden, insbesondere an einem außerhalb des Rechensystems liegenden Ort.
-
Gemäß einer Ausführungsform mit einem BIOS.v kann keine andere Domäne als die privilegierte Domäne oder eine weitere vertraute Domäne mit dem BIOS kommunizieren. Dies wird dadurch ermöglicht, dass alle Kommunikationen von einer Gastdomäne an das BIOS gefangen und dem privilegierten Domäneteil zugeführt werden, um vom entsprechenden Filter empfangen und bearbeitet zu werden. Der virtuelle hochprivilegierte Modus der privilegierten Domäne kann die Anfrage dann bearbeiten und Flass oder BIOS direkt oder indirekt abrufen. Dieser Abruf von der privilegierten Domäne an das BIOS, der dann vom Hypervisor durchgelassen wird, da der Hypervisor einen aus der privilegierten Domäne und nicht einer Gastdomäne stammenden Anruf erkennen kann. Unter der Voraussetzung des offenen Zugriffs auf das physische BIOS wird die Kommunikation von der privilegierten Domäne an das physische BIOS gesichert; die privilegierte Domäne kann nun alle BIOS-Einstellungen in Laufzeit schreiben oder ablesen, wodurch die Situation entfällt, in der der Prozessor in den Systemverwaltungsmodus übergeht.
-
Die Übertragung der Bearbeitung von SVA auf einen virtuellen hochprivilegierten Modus ist mit dem Vorteil verbunden, dass mehr Systemdaten und Kontext dem VMM zur Verfügung stehen. Wenn z. B. das Rechensystem eine SVA zur Bearbeitung von Wärmeereignissen dauerhaft auslöst, kann der VMM entscheiden, die Planungsressourcen entsprechend einzustellen, was zu einer automatischen Einstellung führt, wodurch sich das System abkühlen kann; ohne virtuellen hochprivilegierten Modus müßte das System dauerhaft in SMM übergehen.
-
3 ist ein Flussdiagamm eines Verfahrens 300 zur Bearbeitung von SVA gemäß einem Ausführungsbeispiel. Das Verfahren kann über einen VMM eine vertraute Domäne verwalten, damit ein virtueller hochprivilegierter Modus bei 305 eine SVA empfangen kann. Die vertraute Domäne kann eine privilegierte Domäne 120 oder eine andere Domäne sein. Die SVA kann eine Anfrage sein, die den Prozessor 110 in einen SMM versetzen und dadurch alle Prozesse abbrechen kann, die im Echtzeitmodus des Prozessors 110 ausgeführt werden. Bei 310 wird die SVA daran gehindert, einen SMM einzuleiten. Die SVA kann an einen virtuellen hochprivilegierten Modus 140 weitergeleitet werden. Die Leitung der SVA kann z. B. dadurch erfolgen, dass das vBIOS die SVA dem virtuellen hochprivilegierten Modus zukommen lässt; hierzu wird die SVA in einer WMI-Packung verpackt, ein RPC (Remote Procedure Call) vorgenommen, oder aber dies kann über eine Webdienst-API erfolgen. Die SVA kann bei 315 in einem virtuellen hochprivilegierten Modus bearbeitet werden. Der virtuelle hochprivilegierte Modus kann auf die Hardware zugreifen, um Systemkonfigurationen vorzunehmen, die einer Gastdomäne nicht zugänglich sind.
-
4 ist ein Flussdiagamm eines Verfahrens zur Bearbeitung von Systemverwaltungsanforderungen (SVA) gemäß einem Ausführungsbeispiel. Das Verfahren kann mit dem Versenden einer SVA durch eine Domäne bei 402 beginnen. Bei der Domäne kann es sich beispielsweise um eine Gastdomäne 130 oder eine privilegierte Domäne 120 handeln.
-
Ein VMM kann eine vertraute Domäne verwalten, damit ein virtueller hochprivilegierter Modus bei 405 eine SVA empfangen kann. Der virtuelle hochprivilegierte Modus kann die SVA empfangen, die womöglich von einer sonstigen Komponente wie z. B. dem VMM 115 oder der privilegierten Domäne 120 weitergeleitet worden ist. Die SVA kann eine Anfrage sein, die den Prozessor 110 in einen SMM versetzen und dadurch alle Prozesse abbrechen kann, die im Echtzeitmodus des Prozessors 110 ausgeführt werden. Bei 410 wird die SVA daran gehindert, einen SMM einzuleiten. Wird die SVA von einer anderen Komponente als dem virtuellen hochprivilegierten Modus empfangen, kann diese an einen virtuellen hochprivilegierten Modus 140 weitergeleitet werden. Die Leitung der SVA kann z. B. dadurch erfolgen, dass das vBIOS die SVA dem virtuellen hochprivilegierten Modus zukommen lässt; hierzu wird die SVA in einer WMI-Packung verpackt, ein RPC (Remote Procedure Call) vorgenommen. Die SVA kann bei 415 in einem virtuellen hochprivilegierten Modus bearbeitet werden. Der virtuelle hochprivilegierte Modus kann auf die Hardware zugreifen, um Systemkonfigurationen vorzunehmen, die einer Gastdomäne nicht zugänglich sind.
-
5 ist ein Blockdiagamm eines Rechensystems 500 nach einem Ausführungsbeispiel eines computerlesbaren Datenträgers 515–616. Der computerlesbare Datenträger 515–516 kann Code umfassen, der im Falle seiner Ausführung durch einen Prozessor 505 ein Rechensystem veranlassen kann, einen VMM auszuführen. Der Code kann auch den Empfang einer SVA durch einen virtuellen hochprivilegierten Modus veranlassen. Die SVA kann daran gehindert werden, einen SMM des Prozessors einzuleiten. Der Code kann veranlassen, dass die SVA kann in einem virtuellen hochprivilegierten Modus bearbeitet wird.
-
Der Code kann den virtuellen hochprivilegierten Modus veranlassen, eine Systemkonfiguration zu ändern, die von einer Gastdomäne nicht geändert werden kann. Eine SVA kann von einer Domäne wie z. B. einer Gastdomäne oder einer privilegierten Domäne erzeugt werden, um Systemkonfigurationen vorzunehmen, die der Domäne im Echtzeitmodus des Prozessors nicht zugänglich sind.
-
Verschiedene Module, wie sie z. B. in anderen Zeichnungen gezeigt werden, können als maschinenlesbare Befehle ausgeführt werden, die auf einem oder mehreren Prozessoren ausführbar sind. Ein Prozessor kann einen Mikroprozessor, Mikrocontroller, Prozessormodul oder Subsystem, programmierbare integrierte Schaltung, programmierbaren Gate-Array oder sonstiges Steuer- oder Rechengerät umfassen.
-
Die maschinenlesbaren Befehle können in maschinen- oder computerlesbaren Datenträgern gespeichert sein, die als ein oder mehrere computer- oder maschinenlesbare Datenträger ausführbar sind. Die Datenträger können verschiedene Speicherformen, insbesondere Halbleiter-Speichergerät wie z. B. dynamisches oder statisches RAM (DRAM oder SRAM), löschbare und programmierbare ROM (EPROM), EEPROM und Flash-Speicher; Magnetplatten wie z. B. Festplatten, Disketten und abnehmbare Laufwerke, sonstige magnetische Datenträger wie z. B. Band, optische Datenträger wie z. B. CDs oder DVDs oder sonstige Datenträger umfassen. Hierbei ist anzumerken, dass die oben beschriebenen Befehle auf einem Computer- oder maschinenlesbraen Datenträger oder alternativ auf mehreren Computer- oder maschinenlesbaren Datenträgern vorliegen können, die in einem großen System mit womöglich mehreren Knoten verteilt sind. Diese Computer- oder maschinenlesbaren Datenträger gelten als Teil eines Artikels (Produktes). Artikel oder Produkt kann eine beliebige hergestellte Einzelkomponente oder auch mehrere Komponenten sein. Der Datenträger kann entweder in der Maschine, die die maschinenlesbaren Befehle ausführt, oder an einer dezentralen Stelle vorliegen, von der aus die maschinenlesbaren Befehle zur Ausführung über ein Netzwerk heruntergeladen werden können.
-
In der vorstehenden Beschreibung werden zahlreiche Einzelheiten angegegeben, um ein Verständnis des vorliegend beschriebenen Gegenstandes zu vermitteln. Ausführungen können sich jedoch ohne einige oder alle diese Details ergeben. Weitere Ausführungsformen können Änderungen und Abwandlungen der oben beschriebenen Konfigurationen umfassen. Die beigefügten Patentansprüche sollen diese Änderungen und Abwandlungen mit umfassen.