21 - Virtuelle Maschinen [ID:10970]
50 von 650 angezeigt

So, Technik läuft. Moin moin, offiziell. Jo, gibt's Fragen. Fangen wir schnell damit an.

Ich habe nachgedacht, ich wollte noch was nachgucken, das habe ich nicht mehr geschafft.

Ich muss noch mal gucken, wie das mit den... Ich kann es mir wirklich nur so erklären,

dass das Brett verbogen werden muss als mobile Zubehörer, also als Foster, die kann uns bereitstellen.

Ich gucke nochmal. Muss halt einfach mal Info gucken. Oder vielleicht weiß das einer von euch auswendig.

Ich habe neulich erzählt, soweit weiß ich es noch, es gibt vier Ringe auf dem PC oder Intel-Welt.

Und die MMU kennt aber nur zwei Levels. Aber wie werden die zwei auf die vier abgebildet?

Also Null ist sicher System Level, Drei ist sicher User Level, aber was ist mit Eins und Zwei?

Ich vergesse jetzt jedes Mal wieder, ist das jetzt User Mode oder ist das jetzt System Mode?

Davon hängt das ein bisschen ab.

Mal das InB OutB, das kann man stufenlos sozusagen einstellen.

Ich kann sagen InB OutB ist erlaubt nur für den System Bereich oder nur für den User Bereich.

Ich kann aber auch sagen Ring 2 darf auch schon, aber Ring 3 nicht.

Dann könnte man da das noch anders einstellen.

Da wollte ich noch mal gucken, das habe ich auch nicht mehr geschafft.

Das müsste man da glaube ich noch wissen.

Ich habe es nicht vergessen, ich hoffe ich denke weiter dran.

Sonst nochmal dran erinnern.

Jo, andere Fragen?

Jo, ok, dann machen wir da mal weiter.

Also das war das letzte Bildchen von letzter Woche.

Betriebssystem basierte Virtualisierung.

Wir zersägen unsere echte Hardware, unser echtes Betriebssystem durch Einziehen von

so virtuellen Grenzen sozusagen in mehrere Rechner.

Ja und jetzt haben wir zwar eigentlich nur einen Rechner, nur ein Betriebssystem, aber

aus Sicht der Applikation sieht es so aus als wären sie, also sagen wir mal hier die drei

in der Mitte, als wären die alleine auf dem Betriebssystem.

Wenn ich einen PS aufrufe, dann sehe ich nur diese drei Applikationen.

Wenn ich einen Kill aufrufe, dann kann ich nur einen von den drei abschießen.

Da es da noch andere Applikationen auf dem Betriebssystem laufen, sehe ich nicht, höre

ich nicht, weiß ich nicht, habe ich keinen Einfluss drauf, merke ich nicht.

Und da ist so die Idee, wäre da schön für irgendwelche Webposter, die können da, so

wie es hier eingezeichnet ist, drei Webserver drauf laufen lassen mit sämtlichen Utilities,

können sie vermieten.

Und vorausgesetzt, die drei brauchen nicht alle gleichzeitig sehr viel Rechenzeit, wird

auch keiner von den drei merken, dass er nicht alleine einen Rechner hat.

Ja und da haben wir das letzte Mal schon drüber unterhalten, was muss man jetzt eigentlich

alles tun, um diese senkrechten Striche daher zu kriegen.

Das ist logischerweise je nach Betriebssystem völlig anders, wenn ich einen Windows so zersägen

wollte, müsste ich völlig was anderes tun als bei Linux.

Hier mal die Anzeichen, was muss ich im Linux anpacken.

Wer mal den Linux Kern reingeguckt hat, der weiß, da gibt es in den Sourcen gleich als

erstes so eine Aufteilung in, ja im Prinzip die, die hier stehen.

Arch, das ist der Teil, der architekturabhängig ist.

Was muss man da machen?

Da müssen wir eigentlich fast nichts machen, also das Kontext wechseln und sowas, das ist

architekturabhängig, da müssen wir eigentlich nichts dran drehen, Interrupts ein und ausschalten,

Interrupts bleiben wie sie sind, da müssen wir nichts dran tun.

Das einzige was wir brauchen ist ein neuer System Call.

Der System Call war zum Einrichten neuer virtueller Maschinen, zum Stoppen, zum Starten.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:22:04 Min

Aufnahmedatum

2013-01-24

Hochgeladen am

2019-05-06 12:29:03

Sprache

de-DE

Vorgestellt werden verschiedene Virtualisierungs-Ansätze:

  • Emulation

  • Just-In-Time-Compiler

  • Para-Virtualisierung

  • Bibliotheks-basierte Virtualisierung

  • OS-Virtualisierung

Lernziele und Kompetenzen:

Studierende, die das Modul erfolgreich abgeschlossen haben:

  • erläutern verschiedene Motivationen für den Einsatz von VMs

  • unterscheiden verschiedene VMs

  • klassifizieren verschiedene Ziele unterschiedlicher VMs (z.B. Performance, Konfigurierbarkeit, Genauigkeit, ...)

  • hinterfragen verschiedene Simulationansätze für MMUs

  • erstellen virtuelle Komponenten und Busse

  • strukturieren Callbacks und entsprechendes Forwarding und Caching

  • unterscheiden zwischen Architektur, Chip und Komponente

  • klassifizieren unterschiedliche Just-In-Time-Compiler-Ansätze

  • erzeugen JIT Code aus vorgefertigten Code-Teilen

  • bewerten unterschiedliche JIT-Code-Optimierungen

  • erläutern Probleme bei der JIT-Code-Invalidierung

  • nennen JIT Probleme mit Exceptions/Interrupts sowie berechnete Sprüngen und Return-Instruktionen

  • unterscheiden verschiedene JIT Cache-Verwaltungen

  • beschreiben Möglichkeiten der Fehlerinjektion durch VMs

  • entwickeln ein an JIT angepasstes virtuelles "Hardware"-Design

  • erläutern die Java-VM Instruktionssatz-Architektur

  • nutzen Hardware-basierte Virtualisierung

  • entwickeln Verfahren zum Ausfiltern bestimmter Befehle

  • erläutern Probleme der Speicherverwaltung bei HW-basierter Virtualisierung

  • nutzen User-Mode-Emulation zur Paravirtualisierung

  • diskutieren Möglichkeiten von Debuggern für die Umleitung von System-Calls und die Ausfilterung von Befehlen

  • nutzen einen Hypervisor zur Paravirtualisierung

  • unterscheiden verschiedene Ansätze zur Geräteverwaltung in paravirtualisierten Systemen

  • erläutern Betriebssystem-basierte Virtualisierung

  • entwickeln unterschiedliche Bibliotheks-basierte Virtualisierungen

  • erläutern Probleme beim Speicher-Layout bei Bibliotheks-basierte Virtualisierung

  • konzipieren Personalities für Bibliotheks-basierte Virtualisierungen

  • beurteilen Probleme bei der korrekten Zeit-Simulation

  • nennen Ideen für die dynamische Anpassung der Zeit-Simulation

  • klassifizieren bekannte VMs (z.B. VICE, FAUmachine, QEMU, Bochs, JVM, KVM, User-Mode-Linux, Xen, VServer, Wine)

  • diskutieren in der Gruppe Vor- und Nachteile von bestimmten VM-Ansätzen

  • untersuchen CPU-Emulationen

  • untersuchen Geräte-Emulationen

Einbetten
Wordpress FAU Plugin
iFrame
Teilen