Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Описание [ править ]

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

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

Преимущества [ править ]

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

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

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

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

Ограничения [ править ]

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

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

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

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

Связанные технологии [ править ]

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

  • Потоковая передача приложений . Части кода, данных и настроек приложения доставляются тогда, когда они впервые нужны, а не все приложение перед запуском. Для запуска упакованного приложения может потребоваться установка легкого клиентского приложения. Пакеты обычно доставляются по такому протоколу, как HTTP, CIFS или RTSP . [4] [ необходима ссылка ]
  • Службы удаленных рабочих столов (ранее называемые службами терминалов) - это серверный компонент виртуализации вычислений / презентаций Microsoft Windows, который позволяет пользователю получать доступ к приложениям и данным, размещенным на удаленном компьютере, по сети. Сеансы служб удаленных рабочих столов выполняются в одной операционной системе с общим сервером (например, Windows Server 2008 R2 и новее), и доступ к ним осуществляется с помощью протокола удаленного рабочего стола .
  • Технологии программного обеспечения для виртуализации рабочих столов улучшают переносимость, управляемость и совместимость среды рабочего стола персонального компьютера за счет отделения части или всей среды рабочего стола и связанных приложений от физического клиентского устройства, которое используется для доступа к нему. Распространенной реализацией этого подхода является размещение нескольких экземпляров операционной системы для настольных ПК на аппаратной платформе сервера с гипервизором. Обычно это называют «инфраструктурой виртуальных рабочих столов» (VDI).

См. Также [ править ]

  • Виртуализация рабочего пространства
  • Виртуализация на уровне операционной системы ("контейнеризация")
  • Создатели портативных приложений
  • Сравнение виртуальных машин приложений
  • Прокладка (вычисление)
  • Виртуальное приложение

Ссылки [ править ]

  1. ^ «Технический обзор виртуализации приложений Microsoft» . microsoft.com . Microsoft . Проверено 1 июля 2017 года .
  2. ^ Хусейн, Амир. «Как создать платформу виртуализации приложений» . vdiworks.com . VDIworks . Проверено 1 июля 2008 года .
  3. ^ Гурр, Коби (28 июля 2008). «Содействие миграции на Microsoft Windows Vista с помощью виртуализации приложений» (PDF) . dell.com . Dell .
  4. ^ a b c d Уинслоу, Филип; Семпл, Роберт; Мейнард, Джейсон; Симсон, Деннис; МакГрат, Брайан (26 ноября 2007 г.). «Настольные виртуальные машины достигли совершеннолетия» (PDF) . Credit Suisse . Архивировано из оригинального (PDF) 17 января 2010 года . Проверено 3 марта 2008 года .
  5. ^ «Обзор серии: Совместимость приложений Windows Vista» . TechNet . Microsoft . Проверено 1 июля 2017 года .
  6. ^ Pernar, Domagoj (31 октября 2009). "Репозиторий загрузки приложений виртуализации и как сделать приложения переносимыми" . TechyCentral.com . Архивировано из оригинального 24 февраля 2011 года.
  7. ^ Varhol, Питер (1 сентября 2007). «Виртуализация приложений бьет ключом» . Redmond Magazine . 1105 Медиа. Архивировано 10 июня 2008 года.
  8. Зоммер, Тим (июнь 2012 г.). «200 основных терминов SAM - глоссарий терминов по управлению программными активами» . omtco.eu . ОМТКО . Проверено 20 мая 2013 года .
  9. Маринеску, Адриан (3 августа 2006 г.). «Улучшения управления кучей в Windows Vista» (PDF) . blackhat.com . Microsoft .
  10. Джексон, Крис (30 апреля 2008 г.). "Можете ли вы объединить приложения, виртуализированные в SoftGrid?" . Microsoft .
  11. ^ Enzler, R (2003). «Виртуализация оборудования с помощью многоконтекстных реконфигурируемых массивов». Международная конференция по программируемой логике и приложениям .