Hallo!
Ich hoffe ich bin mit meinem Anliegen hier in der richtigen Kategorie gelandet.
Ich möchte mich gerne in das Thema Virtualisierung einarbeiten. Dazu möchte ich verstehen, wie das Ganze überhaupt funktioniert.
Eingelesen habe ich mich in das Thema selbstverständlich schon, nur ist mir nicht klar, was z.B. bei den CPUs passiert, was genau z.B. die beiden CPU-Erweiterungen Intel-VT bzw. AMD-V bewirken.
Hat da jemand ggf. weitere Nachschlagequellen? Leider finde ich über Google nur Beschreibungen, welche Oberflächlich gehalten sind...
VG
Seite 1 von 1
Allgemeine Frage zu Virtualisierung
Anzeige
#2
geschrieben 23. Februar 2012 - 10:41
Sie unterscheiden sich vom Treiber her. Wenn Deine VMWare Server
z.B. AMD CPUs haben, sind in den VMWare Tools entsprechende Treiber
enthalten. Erklärt das Deine Frage? Auch in einer physikalischen
Umgebung macht das einen Unterschied. Es werden andere Treiber
geladen. Ist Virtuell nicht anders. Im Grunde liegt ja ein physischer
Prozessor vor, dieser muss ja angesprochen werden von der VM.
z.B. AMD CPUs haben, sind in den VMWare Tools entsprechende Treiber
enthalten. Erklärt das Deine Frage? Auch in einer physikalischen
Umgebung macht das einen Unterschied. Es werden andere Treiber
geladen. Ist Virtuell nicht anders. Im Grunde liegt ja ein physischer
Prozessor vor, dieser muss ja angesprochen werden von der VM.
#3
geschrieben 23. Februar 2012 - 11:27
Die CPU-Erweiterungen sollen dem Gast besseren bzw. überhaupt Zugriff auf die Hardware ermöglichen. Man muß wissen, daß ein Prozessor zwei Modi kennt, einen normalen (Ring 3) und einen privilegierten (Ring 0). Letzterer ist dem Betriebssystem (Kernel) vorbehalten. Das wird aber zum Problem, wenn man einen Gast ausführen will. Der will nämlich auch beide Modi nutzen, darf das aber nicht, weil er auf dem Host nur ein gewöhnlicher Prozeß ist. Intel VT oder AMD-V stellen dem Gast quasi einen eigenen abgeschotteten Ring 0 zur Verfügung (SVM). Das bringt Performancevorteile, weil die Virtualisierungssoftware weniger Anpassungen zur Laufzeit vornehmen muß. Sonst müßten nämlich alle Ring-0-Zugriffe umgebogen werden. Dabei wird der Kernel on the fly umgeschrieben, weshalb man üblicherweise auch den Typ des Gastes (Windows, Linux, etc.) angeben muß/kann. Es gibt noch andere Erweiterungen, z.B. für I/O, die alle das Ziel haben, dem Gast möglichst direkten Hardwarezugriff zu gewähren, weil die Softwareemulation sehr langsam und aufwendig ist.
Dieser Beitrag wurde von Mr. Floppy bearbeitet: 23. Februar 2012 - 11:44
#4 _BigTim_
geschrieben 23. Februar 2012 - 11:58
Danke für eure Antworten!
Mr. Floppy´s Antwort war eigentlich genau das, wo ich auf dem Schlauch stand. Danke! Selbstverständlich Danke auch an Marco1279! :-)
Mr. Floppy´s Antwort war eigentlich genau das, wo ich auf dem Schlauch stand. Danke! Selbstverständlich Danke auch an Marco1279! :-)
Dieser Beitrag wurde von BigTim bearbeitet: 23. Februar 2012 - 12:01
#5
geschrieben 12. März 2012 - 10:22
Es gibt übrigens noch SLAT, Second Level Address Translation. Entspricht im Wesentlichen der Ringgeschichte, aber für Speicher.
Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
#6
geschrieben 12. März 2012 - 14:07
Ebenfalls wird für manche Virtualisierungstechniken die hardwareunterstützte Datenausführungsverhinderung vorausgesetzt. Dies ist leider bei vielen PCs das Problem, weil man diese meist in OEM-Boards nicht aktivieren kann.
- ← USB 3 nachrüsten?
- Mainboards, Prozessoren & RAM
- PC staretet nicht mehr - CPU Kühler gibt Vollgas →
Thema verteilen:
Seite 1 von 1