16. April 200718 j Das Thema passt vielleicht nicht unbedingt hier hin, habe aber auch keinen besseren Platz gefunden, also ich habe eine Grundsatzfrage zur Virtualisierung: Was passiert, wenn ich zwei (oder auch mehr) virtuelle Systeme auf einer Hardware habe und beide genau gleichzeitig auf eine Ressource wie die Festplatte zugreifen? Wer wartet? warum wartet er? und vor allem was macht der Wartende in der Zeit in der er wartet? Ich meine irgendwo gelesen zu haben, dass dem wartenden in diesem Falle vorgegaukelt wird seine Anfrage würde bearbeitet was zu einer hohen Prozessorlast führen würde?!!... kann mir da jemand was genaueres sagen? bzw. warum I/O lastige Systeme nicht zur Virtualisierung geeignet sind? Gruß
18. April 200718 j Hi, und vor allem was macht der Wartende in der Zeit in der er wartet? Warten?! Was soll er sonst tun? Das ist egal, ob Virtualisierung oder nicht, wenn der Prozess auf eine Resource warten muss, um weiterzumachen, muss er halt warten. Nach einer gewissen Zeit versucht er wieder auf die Ressource zuzugreifen, was entweder gelingt oder wieder fehlschlägt. warum I/O lastige Systeme nicht zur Virtualisierung geeignet sind? Weil Festplatten eben mechanisch sind, und diese irgendwann an ihre Grenzen stoßen.
19. April 200718 j Ich weiß wie es bei Exokernel läuft, dort kann ein virtuelles System sich durch eine Secure Binding mit einer Festplatte verbinden, diese Verbindung kann nur vom Exokernel oder vom virtuellen System wieder aufgelöst werden. Während bei Systemen wie Vmware, ja meistens diese Geräte emuliert werden, dementsprechend überschneiden sich die einzelnen Zugriffe und müssen erst in eine sinnvolle Reihenfolge gebracht werden.
19. April 200718 j Das virtuelle System Stellt die Anfrage an den virtuellen IO-Controller und wartet, bis die Operation fertig ist. Der virtuelle Controller wiederum leitet die Anfrage nach draußen an das echte System und wartet dort genauso bis die Operation fertig ist. Wenn 2 virtuelle Systeme das auf der gleichen Hardware tun ist das genauso, wie wenn z.B. eine Textverarbeitung und eine Tabellenkalkulation gleichzeitig etwas speichern. Die anfragen werden an das OS gegeben und dort dann abgearbeitet. Wenn die Virtualisierungsengine jetzt mehrere Gastsysteme laufen hat, sind das ja nur mehrere Threads und die wird sie auch quasi parallel abarbeiten.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.