Sanallaştırılmış süreç nedir?


10

MinGW ve MSYS yükledim ve ikili dosyaların nasıl çalıştığını hiç umursamadım. Ancak, bugün Process Explorer'ı açtım ve bazı sanallaştırılmış süreçlerim olduğunu fark ettim :

İşlem listesi

Genellikle / gcc / sh / mintty'nin POSIX / unix benzeri sistemler için olduğunu biliyorum, ancak MinGW / MSYS projelerinin yerel yürütülebilir dosyalar sağlayacağını düşündüm. Virtualized genellikle sanal makinelerle ilişkilendirdiğim bir terimdir ve beni biraz karıştırıyor. Görev yöneticisi aslında ilgili sütunu "UAC sanallaştırma" olarak adlandırır.

Peki , Windows'daki sanallaştırılmış bayrak ne anlama geliyor? Vista öncesi yürütülebilir dosyalar için bir tür uyumluluk katmanı mıdır?


Kısa cevap: evet, Vista öncesi yürütülebilir dosyalar için bir uyumluluk katmanıdır. (Biraz daha uzun cevap: Bu tür birçok yürütülebilir dosya, işlemin her zaman yönetici ayrıcalığına sahip olacağını varsayıyordu, bu da Vista'da gerçek olma olasılığının daha düşük olduğu.)
Harry Johnston

Yanıtlar:


8

Temelde, kullanıcı doğru yazma izinlerine sahip değilse dosya yazma denemelerini yeniden yönlendiren bir dosya sistemi ve kayıt defteri sarıcısıdır, daha fazla bilgi için UAC hakkındaki Wikipedia makalesine bakın :

Kullanıcının yönetici ayrıcalıklarıyla çalışacağı varsayımı ile yazılan uygulamalar, sınırlı sayıda kullanıcı hesabından çalıştırıldığında Windows'un önceki sürümlerinde sorunlarla karşılaşır, çünkü genellikle makine genelinde veya sistem dizinlerine (Program Dosyaları gibi) veya kayıt defteri anahtarlarına yazmaya çalışmışlardır. (özellikle HKLM). UAC, yazıları (ve sonraki okumaları) kullanıcı profilindeki kullanıcı başına bir konuma yönlendiren Dosya ve Kayıt Defteri Sanallaştırmasını kullanarak bunu hafifletmeye çalışır.

Örneğin, bir uygulama kullanıcının yazma iznine sahip olmadığı "C: \ Program Files \ appname \ settings.ini" gibi bir dizine yazmaya çalışırsa, yazma işlemi "C: \ Users \ kullanıcı adı" na yönlendirilir. \ AppData \ Local \ VirtualStore \ Program Files \ appname \ settings.ini ". Yeniden yönlendirme özelliği yalnızca yükseltilmemiş 32 bit uygulamalar için ve yalnızca belirli ayrıcalıklar isteyen bir bildirim içermiyorsa sağlanır.


1
Hayır! "Program dosyaları (x86)" nın "Program Dosyaları" na yönlendirilmesi yoktur. Orada yönlendirme dan C:\Windows\System32için C:\Windows\SysWOW64, ama aslında bu is not Sanallaştırma yönlendirici için WOW64 yeniden yönlendirici bakın.
Maximus

7

Journeyman Geek sanallaştırmanın ne olduğunu açıklıyor. Windows'un sanallaştırma ihtiyacını nasıl belirlediğini açıklayacağım.

İşletim sistemi uygulama bildirim dosyasına (veya PE kaynağına) bakar ve bildirim hiç bulunmazsa veya uygun compatibilitybölümü yoksa - Windows uygulamanın "eski" olduğunu ve sanallaştırmayı etkinleştirdiğini varsayar.

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 <application>
   <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>
   <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"></supportedOS>
 </application>
</compatibility>

PS. Kayıt için Sanallaştırma işleri (alt) tuşları gibi HKEY_LOCAL_MACHINEiçin HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.