Paravirtualisierung
In der Informatik ist Paravirtualisierung eine Technologie zur Virtualisierung, die eine Softwareschnittstelle bereitstellt, die ähnlich, aber nicht identisch mit der tatsächlichen Hardware ist. Das Betriebssystem muss portiert werden, um auf der virtuellen Maschine (VM) ausgeführt werden zu können, was die Rechteinhaber proprietärer Betriebssysteme aus strategischen Gründen ablehnen können. Die Portierung vereinfacht jedoch den Aufbau der VM und ermöglicht den darauf ausgeführten virtuellen Maschinen eine höhere Leistung.
Geschichte
„Paravirtualisierung“ ist ein neuer Begriff für eine alte Idee. IBMs Betriebssystem z/VM stellt eine solche Funktionalität seit mehreren Jahrzehnten zur Verfügung. In diesem Betriebssystem wird diese Funktion „DIAGNOSE code“ genannt, weil sie auf Befehle zurückgreift, die normalerweise nur von Hardware-Wartungssoftware benutzt werden. IBMs Conversational Monitor System nutzt DIAGNOSE-Codes, um Dienste in z/VM zu starten. Das Betriebssystem der Parallels Workstation nennt die gleiche Funktion „hypercall“. Dabei handelt es sich jeweils um einen Systemaufruf an den darunterliegenden Hypervisor. Solche Aufrufe müssen vom Gast-Betriebssystem unterstützt werden, das an den Hypervisor angepassten Code bereitstellen muss, der diese Aufrufe tätigt.
Implementierungen für die x86-Architektur
Die Paravirtualisierung wird üblicherweise in Ring 0 der x86-Architektur ausgeführt. Das Betriebssystem wird so verändert, dass es ohne Befehlsausführungen in Ring 0 auskommt.
Der Begriff „Paravirtualisierung“ wurde zuerst in der Forschungsliteratur im Zusammenhang mit der virtuellen Maschine des Betriebssystems Denali verwendet.<ref>A. Whitaker, M. Shaw, and S. D. Gribble, „Denali: Lightweight Virtual Machines for Distributed and Networked Applications“, Univ. of Washington Technical Report 02-02-01, (2002). (Zu finden bei <templatestyles src="Webarchiv/styles.css" />{{#if:20080114003008
| {{#ifeq: 20080114003008 | *
| {{#if: Denali publications, technical reports, and talks | {{#invoke:WLink|getEscapedTitle|Denali publications, technical reports, and talks}} | {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20080114003008}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: Denali publications, technical reports, and talks | {{#invoke:WLink|getEscapedTitle|Denali publications, technical reports, and talks}} | {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-06 03:03:09 InternetArchiveBot | 2019-05-06 03:03:09 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20080114003008}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: Denali publications, technical reports, and talks | {{#invoke:WLink|getEscapedTitle|Denali publications, technical reports, and talks}} | {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-06 03:03:09 InternetArchiveBot | 2019-05-06 03:03:09 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: Denali publications, technical reports, and talks | {{#invoke:WLink|getEscapedTitle|Denali publications, technical reports, and talks}} | {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-06 03:03:09 InternetArchiveBot | 2019-05-06 03:03:09 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: Denali publications, technical reports, and talks | {{#invoke:WLink|getEscapedTitle|Denali publications, technical reports, and talks}} | {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html}} }} ({{#if: {{#if: 2019-05-06 03:03:09 InternetArchiveBot | 2019-05-06 03:03:09 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: Denali publications, technical reports, and talks | {{#invoke:WLink|getEscapedTitle|Denali publications, technical reports, and talks}} | {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html}} }}
}}}}}}}}{{#if:2019-05-06 03:03:09 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20080114003008|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://denali.cs.washington.edu/pubs/index.html}}
|| {{#if: || }}
}}{{#if: Denali publications, technical reports, and talks
| {{#if: {{#invoke:WLink|isBracketedLink|Denali publications, technical reports, and talks}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://denali.cs.washington.edu/pubs/index.html%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://denali.cs.washington.edu/pubs/index.html%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://denali.cs.washington.edu/pubs/index.html }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}})</ref> Der Ausdruck wird auch in den Beschreibungen der Xen-, L4- und TRANGO-Hypervisoren verwendet. Diese Projekte setzen Paravirtualisierung ein, um leistungsfähige virtuelle Maschinen auf der x86-Architektur zu unterstützen.
Siehe auch
Einzelnachweise
<references />
Weblinks
- Detailinfos zur Paravirtualisierung (Speichervirtualisierung, Servervirtualisierung, Betriebssystemvirtualisierung u. a.) {{#switch:
|0|=Vorlage:Toter Link/Core{{#if: https://www.itwissen.info/Paravirtualisierung-para-virtualization.html | {{#if: | [1] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: 2024-11-21 | , festgestellt im {{#invoke:DateTime|format|2024-11-21|F Y}} }}. Suche im Internet Archive ){{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }} | (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: 2024-11-21 | , festgestellt im {{#invoke:DateTime|format|2024-11-21|F Y}} }}.) }}{{#switch: |no|0|= |#default={{#if: || }} }}{{#invoke:TemplatePar|check |opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://www.itwissen.info/Paravirtualisierung-para-virtualization.html | {{#if:{{#invoke:URLutil|isWebURL|https://www.itwissen.info/Paravirtualisierung-para-virtualization.html}} || {{#if: || }} }} | {{#if: | {{#if: || }} | {{#if: || }} }} }}{{#if: 2024-11-21 | {{#if:{{#invoke:DateTime|format|2024-11-21|F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.itwissen.info/Paravirtualisierung-para-virtualization.html Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: 2024-11-21 | , festgestellt im {{#invoke:DateTime|format|2024-11-21|F Y}} }}. (Suche im Internet Archive. ) {{#if: | {{#if: | | Vorlage:Toter Link/archivebot }} }}Vorlage:Toter Link/Core{{#switch: |no|0|= |#default= {{#if: || }} }}{{#invoke:TemplatePar|check |all = inline= url= |opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked= |cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link |errNS = 0 |template = Vorlage:Toter Link |format = |preview = 1 }}{{#if: https://www.itwissen.info/Paravirtualisierung-para-virtualization.html | {{#if:{{#invoke:URLutil|isWebURL|https://www.itwissen.info/Paravirtualisierung-para-virtualization.html}} || {{#if: || }} }} }}{{#if: 2024-11-21 | {{#if:{{#invoke:DateTime|format|2024-11-21|F Y|noerror=1}} || {{#if: || }} }} }}{{#switch: |checked|deadurl|= |#default= {{#if: || }} }}[https://www.itwissen.info/Paravirtualisierung-para-virtualization.html }}
- Paravirtualisierung erklärt – Vorteile & Einsatz (Grundlagen, Funktionsweise, Anwendungsbereiche)
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Archiv-URL
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Linktext fehlt
- Wikipedia:Weblink offline fix-attempted
- Wikipedia:Vorlagenfehler/Vorlage:Toter Link
- Wikipedia:Vorlagenfehler/Vorlage:Toter Link/URL fehlt
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Virtualisierung