so mein erster post und schon sowas schweres.
kann mir das mal so ansatzweise erklären?? es geht darum das ich berufsschülern erklären muss warum vmware oder auch andere so funktionieren wie sie funktionieren.
ich hänge momentan bei den sensitiven und nicht sensitiven befehlen die privieliegiert sind oder auch auch nicht.
wie das mit graka und so geht habe ich zumindest ansatzweise verstanden, ich währe für jede hilfe dankbar.
Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
wie funktioniert die virtualisierung der hardware?
eine recht gute erklärung der "virtualisierung von rechnern" liefert bruno ohl in seiner semesterarbeit. die kann man sich hier http://wwwspies.informatik.tu-muenchen. ... essert.pdf herunterladen. er bezieht sich zwar in den meisten fällen nicht auf vmware sondern auf opensource-projekte, es ist aber davon auszugehen das diese lösung dem vmware-ansatz sehr nahe kommt - offensichtlich hüten sie ihre betriebsinterna sehr gut (ein grund, warum es keine echten konkurenzprodukte gibt), bestimmte sachen sind aufgrund der prozessorarchitektur halt einfach nicht anders zu machen. im allgemeinen sollte das für deine berufsschüler reichen - wenn nicht, bleibt dir nur die möglichkeit zu googeln (virtualisierung, virtuelle maschinen, vm, ...), oder sich anzuschauen wie virtuelle maschinen auf den "dicken" systemen aussehen - in den betriebshandbüchern zu den ibm s/xxx und z/xxx series (einige kann man sich bei ibm direkt runterladen) steht ebenfalls einiges über virtualisierung drinn (diese serversysteme/serverbetriebssysteme arbeiten hauptsächlich mit virtualisierungen - allerdings nicht mit pc (sprich ibm-kompatibeler) hardware.
im spezielfall der kernel-mode/user-mode (oder priveligierten/unpriveligierten) -befehle hilft vielleicht auch das ein oder andere linux-kernel-howto (oder noch besser ein echtes Kernel-entwickler-buch, zur not ein allgemeines betriebssystembuch mit höherem anspruch). wenn du irgendwas ausgearbeitet hast, wäre es nett hier mal was darüber zu lesen ...
mfg
looping
/edit/:
ps: es gibt auf der uni.site http://wwwspies.informatik.tu-muenchen. ... /hauptsem/ nach der ankündigugn des vortrags von bruno ohl noch 5 weitere, als referenz dienende dokumente/vorträge - die sehen zum teil ganz ordendlich aus und helfen dir vielleicht noch weiter.
:/edit/
im spezielfall der kernel-mode/user-mode (oder priveligierten/unpriveligierten) -befehle hilft vielleicht auch das ein oder andere linux-kernel-howto (oder noch besser ein echtes Kernel-entwickler-buch, zur not ein allgemeines betriebssystembuch mit höherem anspruch). wenn du irgendwas ausgearbeitet hast, wäre es nett hier mal was darüber zu lesen ...
mfg
looping
/edit/:
ps: es gibt auf der uni.site http://wwwspies.informatik.tu-muenchen. ... /hauptsem/ nach der ankündigugn des vortrags von bruno ohl noch 5 weitere, als referenz dienende dokumente/vorträge - die sehen zum teil ganz ordendlich aus und helfen dir vielleicht noch weiter.
:/edit/
thx für den tipp, aber an genau diesem dokument hänge ich gerade rum, naja ich habe kurzer hand mit meinen mitstreitern beschlossen, das das thema eh einigen zu hoch ist und kuzer hand gestrichen, war in der aufgabenstellung eh nicht so drin.
naja ich kann die präsentation am freitag oder samstag hier posten, die doku wird noch ne woche dauern. der vortrag dreht sich dann um virtuallisierung im allgemein, vmware und andere. sprich nen rundumschlag, angereicht mit einer anleitung zum benutzen für n00bs
naja ich kann die präsentation am freitag oder samstag hier posten, die doku wird noch ne woche dauern. der vortrag dreht sich dann um virtuallisierung im allgemein, vmware und andere. sprich nen rundumschlag, angereicht mit einer anleitung zum benutzen für n00bs
eigendlich ist das mit den priveligierten- und nichtpriveligierten befehlen garnicht so schwer:
nicht priviligiert ist ein befehl, wenn er von einem user (auch das system kann user sein) innerhalb einer anwendung gestartet wird, um das ergebnis dieser anwendung zu editieren (bsp.: textverarbeitung -> zeile löschen). dieser befehl wird ausschließlich innerhalb der virtuellen maschine abgearbeitet - zwar rechnet der real-prozessor, die fertige datei wird auf der virtuellen platte (also in einer datei auf der real-platte) gespeichert, aber dieser vorgang verläßt den reservierten speicherbereich der virtuellen maschine nicht.
priviligiert ist ein befehl, wenn er den reservierten speicherbereich der maschine verlässt - zum beispiel wenn das system eine neue raw-disk formatiert. hier verläßt der befehl die sandbox, um ohne vmware eigenen hardware-abstraction-layer direkt auf der real-hardware zu schreiben.
beide beispiele sind jetzt extrem, um die unterschiede zu verdeutlichen. die schwierigkeit bei ibm-kompatibler pc-technik ist, daß der prozessor aufgrund der schwachen architektur ( die ihm seid inzwischen nahezu 30 jahren immernoch anhaftet) eigendlich keine möglichkeit hat usermode/kernelmode -befehle zu erkennen und zu unterscheiden (andere prozessorarchitekturen haben besondere routinen um diese befehlgruppen zu unterscheiden, und die entsprechenden betriebssysteme sprechen diese routinen auch expliziet an). das kunststück von vmware ist nun, diese kernelmode-befehle der virtuellen maschine herauszufiltern, während die usermode-befehle normal abgearbeitet werden. dieses filtern ist der prescann - der funktioniert wie ein shock-absorber beim diskman: der befehl der virtuellen maschine wird gescannt und dem virtuellen gast wird eine abarbeitung vorgegaukelt (d.h. er bekommt bis zu einem gewissen grad rückmeldungen) wird dem system klar, daß der befehl ein priviligierter befehl sein muß (also ein Kernelmode-befehl ist - wie vmware diese festlegungsgrenze zieht ist mir nicht ganz klar, da es jedoch ursprünglich ein linux-projekt ist, werden sie die normalen kernelmode-befehle von linux übernommen haben), wird der befehl an das real-system übergeben (denn nur das hat letzlich die möglichkeit die real-hardware anzusprechen und zu steuern -- jedenfalls solange wir hier von der workstation und dem gsx-server sprechen). stellt sich heraus, daß der befehl wohl doch nur ein usermode-befehl war, wird er normal abgearbeitet.
da aber natürlich jederzeit priviligierte/unpriviligierte befehle ungeordnet und ohne vorwarnung auftreten können, läuft der prescann halt immer mit (eben wie der antishock beim diskman) und verzögert das system im millisekunden-bereich (auch ein grund warum innerhalb einer vm keine zeitkritischen anwendungen laufen können - oder jedenfalls nicht laufen sollten).
man sieht: an einigen stellen ist vmware ein emulator - es emuliert bei der abarbeitung von kernelmode-prozessen bis zu einem gewissen grad die hardware - andererseits hat vmware mit einem emulator wie vpc nicht viel gemein - dort ist die emulation der hardware und die arbeit der "virtuellen maschine" im Kernelmode nämlich der regelfall. deshalb sind diese beiden wege ein ziel zu erreichen (den "virtualisierten" rechner zu schaffen) auch nicht gleichzusetzen - vpc ist grundsätzlich ein emulator, vmware ein "virtualisator".
so, vielleicht hat das noch ein bißchen geholfen (und hoffentlich habe ich da nichts falsch verstanden und falsch weitergesagt).
mfg
looping
nicht priviligiert ist ein befehl, wenn er von einem user (auch das system kann user sein) innerhalb einer anwendung gestartet wird, um das ergebnis dieser anwendung zu editieren (bsp.: textverarbeitung -> zeile löschen). dieser befehl wird ausschließlich innerhalb der virtuellen maschine abgearbeitet - zwar rechnet der real-prozessor, die fertige datei wird auf der virtuellen platte (also in einer datei auf der real-platte) gespeichert, aber dieser vorgang verläßt den reservierten speicherbereich der virtuellen maschine nicht.
priviligiert ist ein befehl, wenn er den reservierten speicherbereich der maschine verlässt - zum beispiel wenn das system eine neue raw-disk formatiert. hier verläßt der befehl die sandbox, um ohne vmware eigenen hardware-abstraction-layer direkt auf der real-hardware zu schreiben.
beide beispiele sind jetzt extrem, um die unterschiede zu verdeutlichen. die schwierigkeit bei ibm-kompatibler pc-technik ist, daß der prozessor aufgrund der schwachen architektur ( die ihm seid inzwischen nahezu 30 jahren immernoch anhaftet) eigendlich keine möglichkeit hat usermode/kernelmode -befehle zu erkennen und zu unterscheiden (andere prozessorarchitekturen haben besondere routinen um diese befehlgruppen zu unterscheiden, und die entsprechenden betriebssysteme sprechen diese routinen auch expliziet an). das kunststück von vmware ist nun, diese kernelmode-befehle der virtuellen maschine herauszufiltern, während die usermode-befehle normal abgearbeitet werden. dieses filtern ist der prescann - der funktioniert wie ein shock-absorber beim diskman: der befehl der virtuellen maschine wird gescannt und dem virtuellen gast wird eine abarbeitung vorgegaukelt (d.h. er bekommt bis zu einem gewissen grad rückmeldungen) wird dem system klar, daß der befehl ein priviligierter befehl sein muß (also ein Kernelmode-befehl ist - wie vmware diese festlegungsgrenze zieht ist mir nicht ganz klar, da es jedoch ursprünglich ein linux-projekt ist, werden sie die normalen kernelmode-befehle von linux übernommen haben), wird der befehl an das real-system übergeben (denn nur das hat letzlich die möglichkeit die real-hardware anzusprechen und zu steuern -- jedenfalls solange wir hier von der workstation und dem gsx-server sprechen). stellt sich heraus, daß der befehl wohl doch nur ein usermode-befehl war, wird er normal abgearbeitet.
da aber natürlich jederzeit priviligierte/unpriviligierte befehle ungeordnet und ohne vorwarnung auftreten können, läuft der prescann halt immer mit (eben wie der antishock beim diskman) und verzögert das system im millisekunden-bereich (auch ein grund warum innerhalb einer vm keine zeitkritischen anwendungen laufen können - oder jedenfalls nicht laufen sollten).
man sieht: an einigen stellen ist vmware ein emulator - es emuliert bei der abarbeitung von kernelmode-prozessen bis zu einem gewissen grad die hardware - andererseits hat vmware mit einem emulator wie vpc nicht viel gemein - dort ist die emulation der hardware und die arbeit der "virtuellen maschine" im Kernelmode nämlich der regelfall. deshalb sind diese beiden wege ein ziel zu erreichen (den "virtualisierten" rechner zu schaffen) auch nicht gleichzusetzen - vpc ist grundsätzlich ein emulator, vmware ein "virtualisator".
so, vielleicht hat das noch ein bißchen geholfen (und hoffentlich habe ich da nichts falsch verstanden und falsch weitergesagt).
mfg
looping
Zurück zu „VMware Workstation und VMware Workstation Pro“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste