Введение

Метод инкапсулирования компьютерных программ Виртуализация приложений - это технология программного обеспечения, которая инкапсулирует компьютерные программы из базовой операционной системы, на которой они выполняются. Полностью виртуализированное приложение не устанавливается в традиционном смысле, хотя оно все еще выполняется, как будто оно является виртуальным. Приложение ведет себя в режиме выполнения, как будто оно непосредственно взаимодействует с исходной операционной системой и всеми ресурсами, управляемыми ею, но может быть изолировано или в различной степени в песочнице. В этом контексте термин "виртуализация" относится к инкапсулируемому артефакту (приложению), который сильно отличается от его значения в аппаратной виртуализации, где он относится к абстрагируемому артефакту (физическому оборудованию).

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

Виртуализация приложений позволяет приложениям работать в средах, которые не соответствуют собственному приложению. Например, Wine позволяет некоторым приложениям Microsoft Windows работать на Linux. Виртуализация приложений снижает затраты на интеграцию и администрирование системы за счет поддержания общей базовой линии программного обеспечения на нескольких различных компьютерах в организации. Меньшая интеграция защищает операционную систему и другие приложения от плохо написанного или ошибочного кода. В некоторых случаях он обеспечивает защиту памяти, функции отладки в стиле IDE и может даже запускать приложения, которые написаны неправильно, например приложения, которые пытаются хранить пользовательские данные в месте, принадлежащем только системе чтения. (Эта функция помогает в реализации принципа наименьших привилегий, устраняя требование для конечных пользователей иметь административные привилегии для запуска плохо написанных приложений.) Это позволяет совместимым приложениям работать бок о бок, в то же время Изоляция приложений от операционной системы также имеет преимущества в области безопасности, поскольку воздействие виртуализированного приложения не влечет за собой автоматическое воздействие всей ОС. Приложения могут быть переданы на съемные носители или между компьютерами без необходимости их установки, становясь портативным программным обеспечением. Виртуализация приложений использует меньше ресурсов, чем отдельная виртуальная машина.

Ограничения

Не все компьютерные программы могут быть виртуализированы. Некоторые примеры включают в себя приложения, требующие драйвера устройства (форма интеграции с ОС) и 16-битовые приложения, которые должны работать в общем пространстве памяти. Антивирусные программы и приложения, требующие интенсивной интеграции с ОС, такие как WindowBlinds или StyleXP, трудно виртуализировать. Кроме того, при лицензировании программного обеспечения виртуализация приложений несет в себе большие ловушки лицензирования, главным образом потому, что как программное обеспечение для виртуализации приложений, так и виртуализированные приложения должны быть правильно лицензированы. В то время как виртуализация приложений может решить проблемы совместимости файлов и уровня реестра между устаревшими приложениями и новыми операционными системами, приложения, которые не управляют кучей правильно, не будут выполняться в Windows Vista, поскольку они по-прежнему выделяют память таким же образом, независимо от того, виртуализированы ли они. По этой причине могут по-прежнему понадобиться специализированные исправления совместимости приложений (shims), даже если приложение виртуализировано. Функциональные расхождения в модели мультисовместимости являются дополнительным ограничением, когда точки доступа, управляемые коммунальными услугами, используются совместно в общественной сети. Эти ограничения преодолеваются путем назначения драйвера общей точки на системном уровне.