Що таке віртуалізований процес?


10

У мене встановлені MinGW та MSYS і ніколи не переймався тим, як працюють бінарні файли. Однак сьогодні я відкрив Explorer Explorer і зрозумів, що у мене є деякі віртуалізовані процеси:

Список процесів

Я знаю, що зазвичай make / gcc / sh / mintty призначені для POSIX / unix-подібних систем, однак я подумав, що проекти MinGW / MSYS забезпечать вихідні версії файлів. Віртуалізований - це зазвичай термін, який я асоціюю з віртуальними машинами, і це мене трохи бентежить. Диспетчер завдань насправді викликає відповідний стовпець "віртуалізація UAC".

То що означає віртуалізований прапор у Windows? Це якийсь шар сумісності для виконуваних файлів до Vista?


Коротка відповідь: так, це шар сумісності для виконуваних файлів до Vista. (Трохи довша відповідь: оскільки багато таких виконуваних файлів припускали, що процес завжди матиме адміністративні права, що в Vista набагато рідше відповідає дійсності.)
Гаррі Джонстон

Відповіді:


8

В основному файлова система та реєстр 'обгортка' переспрямовує спроби запису файлів, якщо користувач не має правильних дозволів на запис, для отримання додаткової інформації див статтю у Вікіпедії про UAC :

Програми, написані з припущенням, що користувач буде працювати з правами адміністратора, виникли проблеми в попередніх версіях Windows, коли вони запускаються з обмежених облікових записів користувачів, часто тому, що вони намагалися записувати в загальномашинні або системні каталоги (наприклад, програмні файли) або ключі реєстру (особливо HKLM). UAC намагається полегшити це за допомогою віртуалізації файлів та реєстрів, яка перенаправляє записи (та наступні читання) до місця розташування користувача в профілі користувача.

Наприклад, якщо програма намагається записати в такий каталог, як "C: \ Program Files \ appname \ settings.ini", до якого користувач не має дозволу на запис, запис буде переспрямовано на "C: \ Users \ username \ AppData \ Local \ VirtualStore \ Program Files \ appname \ settings.ini ". Функція перенаправлення надається лише для 32-розрядних додатків без підвищеного рівня, і лише якщо вони не містять маніфесту, який вимагає певних привілеїв.


1
Ні. Немає перенаправлення "програмних файлів (x86)" на "Файли програм". Існує перенаправлення з C:\Windows\System32на C:\Windows\SysWOW64, але насправді це стосується перенаправлення WOW64, а не перенаправлення віртуалізації.
Максим

7

Journeyman Geek пояснює, що таке віртуалізація. Я поясню, як Windows визначає необхідність віртуалізації.

ОС шукає файл маніфесту додатків (або PE-ресурс), і якщо маніфест взагалі не знайдений або не має належного compatibilityрозділу - Windows передбачає, що додаток є "старим" і дає можливість віртуалізації.

<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. Віртуалізація роботи для реєстру ключів (суб) подобається HKEY_LOCAL_MACHINEв HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.