SysElegance Advanced Technologies


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


Page URL:
http://syselegance.ru/ru/technologies/virtualization.php
Copyright:
© 2003-2017 SysElegance Ltd. All rights reserved.

Что такое виртуализация программного обеспечения и как это работает?

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

Виртуальная среда (VM) ответственна за загрузку "виртуализированного" приложения в память и за управление "виртуальной" файловой системой и реестром.

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

VM также позволяет формировать и "виртуальную" файловую систему в вашем исполняемом файле, которая будет доступна только вашему приложению. Во время выполнения, ваше приложение может получать доступ как к "виртуальным" файлам, так и к реальной файловой системе, не различая их между собой. Приоритет доступа к реальным или "виртуальным" файлам также указывается при формировании VM.


Особенности VM:

  • Маленький размер на диске: "виртуализированные" приложения занимают всего на 100 - 300 kб больше дискового пространства, чем приложения, не содержащее VM.
  • Маленький размер в оперативной памяти: VM дополнительно потребляет маленький фиксированный размер оперативной памяти (~ 1 - 3 MB) и не оказывает никакого другого эффекта на прикладное потребление памяти "виртуализированного" приложения.
  • Отсутствие дополнительной нагрузки на центральный процессор: код "виртуализированного" приложения напрямую выполняется центральным процессором. Никакая эмуляция, трансляция или перевод кода исполняемого файла "виртуализированного" приложения не используются - таким образом, нет никаких отличий в производительности работы от приложений, не содержащих VM.
  • Универсальность: практически любое приложение может быть развернуто с использованием VM без изменений исходного кода или перекомпиляции.