Ich habe MinGW und MSYS installiert und mich nie wirklich darum gekümmert, wie die Binärdateien funktionieren. Heute habe ich jedoch den Prozess-Explorer geöffnet und festgestellt, dass ich einige virtualisierte Prozesse habe:
Ich weiß, dass make / gcc / sh / mintty normalerweise für POSIX / unix-ähnliche Systeme ist, aber ich dachte, dass die MinGW / MSYS-Projekte native ausführbare Dateien bereitstellen würden. Virtualisiert ist normalerweise ein Begriff, den ich mit virtuellen Maschinen verbinde und der mich ein wenig verwirrt. Der Task-Manager ruft die entsprechende Spalte "UAC-Virtualisierung" auf.
Was bedeutet das virtualisierte Flag in Windows? Ist es eine Art Kompatibilitätsschicht für ausführbare Dateien vor Vista?
Antworten:
Es handelt sich im Grunde genommen um einen Dateisystem- und Registrierungs-Wrapper, der Dateischreibversuche umleitet, wenn der Benutzer nicht über die richtigen Schreibberechtigungen verfügt. Weitere Informationen finden Sie im Wikipedia-Artikel zur Benutzerkontensteuerung :
quelle
C:\Windows\System32
nachC:\Windows\SysWOW64
, aber tatsächlich bezieht sich dies auf den WOW64-Redirector und nicht auf den Virtualisierungs-Redirector.Geselle Geek erklärt, was Virtualisierung ist. Ich werde erklären, wie Windows den Bedarf an Virtualisierung ermittelt.
Das Betriebssystem sucht in der Anwendungsmanifestdatei (oder PE-Ressource) und wenn das Manifest überhaupt nicht gefunden wird oder keinen richtigen
compatibility
Abschnitt hat, geht Windows davon aus, dass die Anwendung "alt" ist und aktiviert die Virtualisierung.PS. Die Virtualisierung funktioniert für Registrierungs- (Unter-) Schlüssel wie
HKEY_LOCAL_MACHINE
gewünschtHKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE
.quelle