Warum ging es nicht? Ganz einfach, weil wir einfach im config-file wieder fünf
Optionen geändert hatten und die hatte ich nicht geändert von der alten Version
in die neue. Dementsprechend hat er mich da so komische Fragen gefragt, wo ich
nichts mehr anzufangen musste. Jetzt habe ich die ausgebessert. Jetzt kann man
es mal laufen lassen. Vorher vielleicht mal kurz reingucken in das config-file.
Solche Sachen stehen da drin. Also man sieht man kann Box so ein bisschen
konfigurieren. Also beispielsweise kann man sagen wie viel Speicher er nehmen soll,
welches ROM Image er fürs BIOS nehmen soll. Fürs VGA BIOS genauso. Von wo er booten
soll. ATA 0, also der ATA Controller. ATA, wer ist als Master an dem drangeschlossen?
Hier eine Platte. Er soll als Platte nehmen dieses Image mit so und so vielen Zylindern,
so und so viele Köpfen und so weiter und so weiter. Hier serielle Schnittstelle,
enable oder auch nicht. Man kann es dann sagen, sozusagen beim Parallelport ich
das Ding ist in diesem Falle enabled und gut die Datei ist jetzt allerdings eine leere Datei.
Ich könnte da auch eine Datei angeben und wenn ich dann drucke, dann druckt er sozusagen in eine
Datei rein. Ich kann die CPU ein bisschen konfigurieren. Ich kann sagen Instruction per
second sind 4 Millionen. Ich kann da sehr große Zahlen angeben, ist die Frage ob es überhaupt
schafft. Also irgendwann ist halt Schluss. Ich kann sagen was für eine CPU das ist. Also hier
MMX ist enabled, SSE 2, also SSE ist enabled, Version 2, XRPIC und so weiter und so weiter.
Jo, wenn ich das dann so konfiguriert habe, also bei mir habe ich jetzt irgendwo, sieht man das,
eine CD eingelegt. Also irgendwann muss da auch stehen, dass ich gerade eine CD eingelegt habe.
Irgendwo sieht es jemand. Arta 1 Master ist Typ CD-ROM und Fahrt ist CD und CD ist bei mir jetzt
ein Symmling auf in diesem Fall so ein ISO Image und das ISO Image ist in diesem Fall so ein altes
Caldera 2.4. Ich weiß nicht ob das jemand kennt. Caldera war mal so ein Linux Distributor. Jo und
wenn ich dann Box starte mit dieser Konfig Datei im Hintergrund, dann hat er jetzt die CD sozusagen.
Das war aber keine Sekunde, da man gar nicht gezählt hat. Ja das ist immer so eine Sache mit der Zeit,
da kommen wir nochmal ein großes Kapitel drauf. Zeit im Sinne von Sekunden ist in der Simulation
gar nicht so einfach. Eigentlich will man ja möglichst schnell sein, wenn man jetzt nichts zu
tun hat, dann ist man sehr schnell. Da gehen die Sekunden dann manchmal schneller vorbei als man denkt.
Das ist so die Idee. Wenn man jetzt hier bloß die Uhrzeit runterzählt oder die Sekunden runterzählt,
das ist natürlich trivial zu erledigen. Da bin ich schnell dabei, habe ich schnell runtergezählt.
Wenn es jetzt viel zu tun gibt, dann dauert es halt entsprechend. Jo gut jetzt die Maus bewegt
sich allerdings nicht. Ich kann jetzt hier Ctrl und mittlere Taste, dann wird sozusagen die Maus
gegräbt. Dann kann ich die Maus da drin bewegen und kann jetzt hier auch so auf die Buttons klicken,
weiterklicken, weiterklicken, Videokarte aussuchen, Monitor aussuchen,
ganze Platte bespielen, Platte partitionieren. Weiter geht es. Hier unten sieht man da blinkend
dann immer sozusagen die virtuellen Lämpchen. Obwohl ich habe jetzt nur eine vergleichsweise
kleine Platte spendiert, 512 MB. Dementsprechend kann er nur das Minimum installieren.
Jetzt müssten hier unten so langsam die Packages auftauchen, die er im Hintergrund installiert,
während er mich jetzt noch bei der Installation das ganze Zeug abfragt.
Hier unten blinken die Lämpchen, CD blinkt, da liest er halt die Pakete von weg, HD blinkt,
grün ist Lesen, rot ist Schreiben. Dementsprechend blickt das da, während er jetzt hier gerade so die
Pakete auf die Platte kopiert. Man sieht, mit dem Ding kann man durchaus arbeiten. Jetzt habe
ich allerdings absichtlich eine etwas ältere Linux-Distribution ausgesucht. Die flutschen
nämlich sehr viel flotter. Die neueren mit AMD64 und Tod und Teufel, die brauchen halt ein bisschen
mehr Aufwand bei der Simulation als die alten. Wie man sieht, Simulation tut und Simulation ist auch,
haben wir ja damals gesagt, sehr portabel. Im Prinzip ein C-Programm. Da wo ich das C-Programm
komponiert kriege, läuft das Ding auch. Einzige Ausnahme ist ein bisschen diese grafische
Oberfläche. Die grafische Oberfläche, das ist natürlich hier so ein X-Programm mit
irgendeiner Erweiterung geschrieben. Das Ding gibt es jetzt natürlich nicht wieder unter Windows und
so. Dementsprechend läuft es unter Windows auch nicht. Gut, das da oben ist vielleicht ein bisschen
Presenters
Zugänglich über
Offener Zugang
Dauer
01:30:10 Min
Aufnahmedatum
2012-11-15
Hochgeladen am
2019-05-05 11:09:04
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