Способы виртуализации и проблемы технологии

Существует два основных способа виртуализации на компьютерной архитектуре x86, представленных на рисунке 1. В первом случае гостевая ОС находится над слоем виртуализации, работающим как приложение базовой ОС. Во втором случае гостевая ОС находится над слоем виртуализации, входящего в состав гипервизора – программного обеспечения, работающего на том же уровне, что и базовая операционная система.

К реализациям первого способа относятся продукты VMware Server, VirtualBox, Microsoft Hyper-V, Parallels Workstation, а к реализациям второго – Vmware ESX Server, Xen, Citrix XenServer, Oracle VM Server. В некоторых серверах встроенное ПО может содержать гипервизор.

Способы виртуализации

Рисунок 1 — Способы виртуализации

Существует метод полной виртуализации, который использует бинарную трансляцию команд, и метод паравиртуализации. Основная идея паравиртуализации заключается во взаимодействии гостевой операционной системы с гипервизором для улучшения производительности и работы с памятью. Для этого гостевую операционную систему модифицирует, заменяя некоторые участки кода на гипер-вызовы к гипервизору. Относительно новым методом является встроенная поддержка виртуализации в современном оборудовании. Технологии VT-x и AMD-V от компаний Intel и AMD соответственно стали поддерживаться процессорами, выпускаемыми этими компаниями с 2006 года. Как показано на рисунке 2, данные технологии наделяют монитор виртуальной машины (МВМ) большим приоритетом выполнения, чем у программ уровня Ring 0.

Поддержка виртуализации в современных компьютерных архитектурах

Рисунок 2 — Поддержка виртуализации в современных компьютерных архитектурах

Команды, поступающие от виртуальных машин, автоматически перехватываются МВМ и обрабатываются необходимым образом, что избавляет от необходимости полной бинарной трансляции или паравиртуализации. На данный момент эта технология слабо развита и не дает значительных преимуществ, но у нее есть большие перспективы развития. Помимо этого, у виртуализации есть две существенные проблемы: большие требования к пропускной способности сети, а так же значительные требования к объему оперативной памяти сервера.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

%d такие блоггеры, как: