stringtranslate.com

Виртуализация приложений

Виртуализация приложений — это программная технология, которая инкапсулирует компьютерные программы из базовой операционной системы , на которой они выполняются. Полностью виртуализированное приложение не устанавливается в традиционном смысле, [1] хотя оно все равно выполняется так, как если бы оно было установлено. Приложение ведет себя во время выполнения так, как будто оно напрямую взаимодействует с исходной операционной системой и всеми ресурсами, которыми она управляет, но может быть изолировано или изолировано в разной степени.

В этом контексте термин «виртуализация» относится к инкапсулируемому артефакту (приложению), что существенно отличается от его значения в аппаратной виртуализации , где он относится к абстрагированию артефакта (физическому оборудованию).

Описание

Схема виртуализации приложений
Иллюстрация приложения, работающего в собственной среде и работающего в среде виртуализации приложений

Полная виртуализация приложений требует уровня виртуализации. [2] Уровни виртуализации приложений заменяют часть среды выполнения, обычно предоставляемой операционной системой. Уровень перехватывает все дисковые операции виртуализированных приложений и прозрачно перенаправляет их в виртуализированное местоположение, часто в один файл. [3] Приложение не знает, что оно обращается к виртуальному ресурсу, а не к физическому. Поскольку приложение теперь работает с одним файлом, а не со многими файлами, разбросанными по всей системе, становится легко запустить приложение на другом компьютере, и ранее несовместимые приложения могут работать бок о бок.

Преимущества

Виртуализация приложений позволяет приложениям работать в средах, которые не подходят для собственного приложения. Например, Wine позволяет некоторым приложениям Microsoft Windows работать на Linux .

Виртуализация приложений снижает затраты на системную интеграцию и администрирование, поддерживая общую базовую линию программного обеспечения на нескольких различных компьютерах в организации. Меньшая интеграция защищает операционную систему и другие приложения от плохо написанного или ошибочного кода. В некоторых случаях она обеспечивает защиту памяти, функции отладки в стиле IDE и может даже запускать приложения, которые написаны неправильно, например, приложения, которые пытаются хранить пользовательские данные в системном расположении, доступном только для чтения. (Эта функция помогает в реализации принципа наименьших привилегий , устраняя требование к конечным пользователям иметь административные привилегии для запуска плохо написанных приложений.) Она позволяет несовместимым приложениям работать бок о бок, в одно и то же время [4] и с минимальным регрессионным тестированием друг против друга. [5] Изоляция приложений от операционной системы также имеет преимущества в плане безопасности, поскольку раскрытие виртуализированного приложения не влечет за собой автоматически раскрытие всей ОС. [4]

Виртуализация приложений также позволяет упростить миграцию операционной системы . [4] Приложения можно переносить на съемные носители или между компьютерами без необходимости их установки, что делает их переносимым программным обеспечением .

Виртуализация приложений использует меньше ресурсов, чем отдельная виртуальная машина .

Ограничения

Не все компьютерные программы можно виртуализировать. Некоторые примеры включают приложения, которым требуется драйвер устройства (форма интеграции с ОС) и 16-битные приложения, которые должны работать в общем пространстве памяти. [6] Антивирусные программы и приложения, требующие тяжелой интеграции с ОС, такие как WindowBlinds или StyleXP, трудно виртуализировать.

Более того, в лицензировании программного обеспечения виртуализация приложений несет в себе большие ловушки лицензирования, главным образом потому, что и программное обеспечение виртуализации приложений, и виртуализированные приложения должны быть правильно лицензированы. [7]

Хотя виртуализация приложений может решать проблемы совместимости на уровне файлов и реестра между устаревшими приложениями и новыми операционными системами, приложения, которые не управляют кучей правильно , не будут выполняться в Windows Vista, поскольку они по-прежнему выделяют память тем же способом, независимо от того, виртуализированы они или нет. [8] По этой причине специальные исправления совместимости приложений (shims) могут по-прежнему быть необходимы, даже если приложение виртуализировано. [9]

Функциональные расхождения в модели мультисовместимости являются дополнительным ограничением, когда точки доступа, управляемые утилитами, совместно используются в публичной сети. Эти ограничения преодолеваются путем назначения драйвера точки общего доступа на системном уровне. [10]

Связанные технологии

Категории технологий, подпадающие под виртуализацию приложений, включают:

Смотрите также

Ссылки

  1. ^ "Технический обзор виртуализации приложений Microsoft". microsoft.com . Microsoft . Получено 1 июля 2017 г. .
  2. ^ Хусейн, Амир. «Как построить фреймворк виртуализации приложений». vdiworks.com . VDIworks . Получено 1 июля 2008 г. .
  3. ^ Гурр, Коби (28 июля 2008 г.). "Облегчение миграции Microsoft Windows Vista с помощью виртуализации приложений" (PDF) . dell.com . Dell . Архивировано из оригинала (PDF) 2009-04-23.
  4. ^ abcd Уинслоу, Филип; Семпл, Роберт; Мейнард, Джейсон; Симсон, Деннис; МакГрат, Брайан (26 ноября 2007 г.). "Desktop Virtualization Comes of Age" (PDF) . Credit Suisse . Архивировано из оригинала (PDF) 20 февраля 2009 г. . Получено 3 марта 2008 г. .
  5. ^ «Обзорная серия: Совместимость приложений Windows Vista». TechNet . Microsoft . 25 июля 2008 г. . Получено 1 июля 2017 г. .
  6. ^ Вархол, Питер (1 сентября 2007 г.). «Виртуализация приложений набирает обороты». Redmond Magazine . 1105 Media. Архивировано из оригинала 10 июня 2008 г.
  7. ^ Зоммер, Тим (июнь 2012 г.). «200 лучших терминов SAM – Глоссарий терминов по управлению программными активами». omtco.eu . OMTCO . Получено 20 мая 2013 г. .
  8. ^ Маринеску, Адриан (3 августа 2006 г.). «Улучшения управления кучей в Windows Vista» (PDF) . blackhat.com . Microsoft .
  9. ^ Джексон, Крис (30 апреля 2008 г.). «Можно ли маскировать виртуализированные приложения в SoftGrid?». Microsoft .
  10. ^ Энцлер, Р. (2003). «Виртуализация оборудования с помощью многоконтекстных реконфигурируемых массивов». Программируемая на поле логика и ее применение . Конспект лекций по информатике. Том 2778. С. 151–160. doi :10.1007/978-3-540-45234-8_16. ISBN 978-3-540-40822-2.