Виртуализация приложений
![]() | Возможно, эта статья слишком сильно ориентирована только на один аспект ее темы . ( февраль 2019 г. ) |
Виртуализация приложений — это программная технология, которая инкапсулирует компьютерные программы из базовой операционной системы , в которой они выполняются. Полностью виртуализированное приложение не устанавливается в традиционном понимании. [1] хотя он по-прежнему выполняется так, как если бы он был. Приложение ведет себя во время выполнения так, как будто оно напрямую взаимодействует с исходной операционной системой и всеми управляемыми ею ресурсами, но может быть изолировано или помещено в «песочницу» в различной степени .
В этом контексте термин «виртуализация» относится к инкапсулируемому артефакту (приложению), что сильно отличается от его значения в аппаратной виртуализации , где он относится к абстрагируемому артефакту (физическому оборудованию).
Описание [ править ]

Полная виртуализация приложений требует уровня виртуализации. [2] Уровни виртуализации приложений заменяют часть среды выполнения, обычно предоставляемой операционной системой. Уровень перехватывает все дисковые операции виртуализированных приложений и прозрачно перенаправляет их в виртуализированное местоположение, часто в один файл. [3] Приложение остается в неведении о том, что оно обращается к виртуальному ресурсу вместо физического. Поскольку приложение теперь работает с одним файлом, а не с множеством файлов, разбросанных по системе, становится проще запустить приложение на другом компьютере, а ранее несовместимые приложения можно запускать параллельно. Примеры этой технологии для платформы Windows включают:
- Amazon AppStream
- Камейо
- Сидо
- Citrix XenApp
- Microsoft App-V
- Многочисленные облачные страницы
- Oracle Secure Global Desktop
- Песочница
- Turbo (программное обеспечение) (ранее Spoon и Xenocode)
- Виртуализация рабочего пространства Symantec
- VMware ThinApp
- Облако версии 2
Преимущества [ править ]
Виртуализация приложений позволяет приложениям работать в средах, которые не подходят для собственных приложений. Например, Wine позволяет Microsoft Windows запускать некоторые приложения в Linux .
Виртуализация приложений снижает затраты на интеграцию и администрирование системы за счет поддержки общей базовой версии программного обеспечения на нескольких разных компьютерах в организации. Меньшая интеграция защищает операционную систему и другие приложения от плохо написанного или ошибочного кода. В некоторых случаях он обеспечивает защиту памяти, в стиле IDE функции отладки и может даже запускать приложения, которые написаны неправильно, например приложения, которые пытаются хранить пользовательские данные в расположении, принадлежащем системе только для чтения. (Эта функция помогает реализовать принцип наименьших привилегий , устраняя требование к конечным пользователям иметь административные привилегии для запуска плохо написанных приложений.) Она позволяет одновременно запускать несовместимые приложения параллельно. [4] и с минимальным регрессионным тестированием друг против друга. [5] Изоляция приложений от операционной системы также имеет преимущества в плане безопасности, поскольку раскрытие виртуализированного приложения не влечет за собой автоматическое раскрытие всей ОС. [4]
Виртуализация приложений также упрощает миграцию операционных систем . [4] Приложения можно переносить на съемные носители или между компьютерами без необходимости их установки, становясь портативным программным обеспечением .
Виртуализация приложений использует меньше ресурсов, чем отдельная виртуальная машина .
Ограничения [ править ]
Не все компьютерные программы можно виртуализировать. Некоторые примеры включают приложения, которым требуется драйвер устройства (форма интеграции с ОС) и 16-разрядные приложения, которые должны работать в общем пространстве памяти. [6] Антивирусные программы и приложения, требующие интенсивной интеграции с ОС, такие как WindowBlinds или StyleXP, сложно виртуализировать.
Более того, при лицензировании программного обеспечения виртуализация приложений сопряжена с большими проблемами лицензирования, главным образом потому, что и программное обеспечение для виртуализации приложений, и виртуализированные приложения должны быть правильно лицензированы. [7]
Хотя виртуализация приложений может решить файлов и реестра проблемы совместимости на уровне между устаревшими приложениями и новыми операционными системами, приложения, которые неправильно управляют кучей , не будут выполняться в Windows Vista, поскольку они по-прежнему распределяют память одинаково, независимо от того, являются ли они виртуализированный. [8] По этой причине могут потребоваться специальные исправления совместимости приложений (прокладки), даже если приложение виртуализировано. [9]
Функциональные несоответствия в модели мультисовместимости являются дополнительным ограничением, когда точки доступа, управляемые утилитой, используются совместно в общедоступной сети. Эти ограничения преодолеваются путем назначения драйвера точки общего доступа системного уровня. [10]
Сопутствующие технологии [ править ]
Категории технологий, подпадающие под виртуализацию приложений, включают:
- Потоковая передача приложений . Части кода, данных и настроек приложения доставляются тогда, когда они впервые необходимы, а не все приложение доставляется перед запуском. Для запуска упакованного приложения может потребоваться установка облегченного клиентского приложения. Пакеты обычно доставляются по такому протоколу, как HTTP, CIFS или RTSP . [4] [ нужна ссылка ]
- Службы удаленных рабочих столов (ранее называвшиеся службами терминалов) — это серверный компонент виртуализации вычислений/презентаций Microsoft Windows, который позволяет пользователю получать доступ к приложениям и данным, размещенным на удаленном компьютере, через сеть. Сеансы служб удаленных рабочих столов выполняются в одной операционной системе с общим сервером (например, Windows Server 2008 R2 и более поздних версий) и доступны с использованием протокола удаленного рабочего стола .
- Технологии программного обеспечения для виртуализации рабочих столов улучшают мобильность, управляемость и совместимость среды рабочего стола персонального компьютера за счет отделения части или всей среды рабочего стола и связанных приложений от физического клиентского устройства, которое используется для доступа к ней. Обычной реализацией этого подхода является размещение нескольких экземпляров операционной системы настольного компьютера на аппаратной платформе сервера, на которой работает гипервизор. Обычно это называется «инфраструктурой виртуальных рабочих столов» (VDI).
См. также [ править ]
- Виртуализация рабочего пространства
- Виртуализация на уровне ОС («контейнеризация»)
- Создатели портативных приложений
- Сравнение программного обеспечения для виртуализации приложений
- Шим (вычисления)
- Виртуальное приложение
- Эмулятор
Ссылки [ править ]
- ^ «Технический обзор виртуализации приложений Microsoft» . microsoft.com . Майкрософт . Проверено 1 июля 2017 г.
- ^ Хусейн, Амир. «Как создать платформу виртуализации приложений» . vdiworks.com . ВДИ работает . Проверено 1 июля 2008 г.
- ^ Гурр, Коби (28 июля 2008 г.). «Облегчение миграции на Microsoft Windows Vista посредством виртуализации приложений» (PDF) . Dell.com . Делл .
- ^ Jump up to: Перейти обратно: а б с д Уинслоу, Филип; Семпл, Роберт; Мейнард, Джейсон; Симсон, Деннис; МакГрат, Брайан (26 ноября 2007 г.). «Виртуализация настольных компьютеров достигает зрелости» (PDF) . Кредит Свисс . Архивировано из оригинала (PDF) 20 февраля 2009 года . Проверено 3 марта 2008 г.
- ^ «Серия обзоров: совместимость приложений Windows Vista» . ТехНет . Майкрософт . 25 июля 2008 года . Проверено 1 июля 2017 г.
- ^ Вархол, Питер (1 сентября 2007 г.). «Виртуализация приложений набирает обороты» . Журнал Редмонд . 1105 СМИ. Архивировано из оригинала 10 июня 2008 года.
- ^ Соммер, Тим (июнь 2012 г.). «200 лучших терминов SAM – глоссарий терминов управления программными активами» . omtco.eu . ОМТКО . Проверено 20 мая 2013 г.
- ^ Маринеску, Адриан (3 августа 2006 г.). «Усовершенствования управления кучей в Windows Vista» (PDF) . blackhat.com . Майкрософт .
- ^ Джексон, Крис (30 апреля 2008 г.). «Можете ли вы разместить приложения, виртуализированные в SoftGrid?» . Майкрософт .
- ^ Энцлер, Р. (2003). «Виртуализация оборудования с помощью многоконтекстных реконфигурируемых массивов». Программируемая на месте логика и ее применение . Конспекты лекций по информатике. Том. 2778. стр. 151–160. дои : 10.1007/978-3-540-45234-8_16 . ISBN 978-3-540-40822-2 .