Найти тему
Клуб DNS

Технология виртуализации в процессоре

Оглавление

На протяжении последних 15 лет слово «виртуальный» звучит практически из каждого утюга. Нам обещают все более реалистичные виртуальные миры или, как минимум, дополненную реальность. Виртуальная реальность, как в знаменитой трилогии «Матрица», пока в будущем. А вот виртуализация внутри процессора — реальное настоящее.

Зачем нужна виртуализация на домашнем компьютере

Вот простой пример: вы используете для работы и игр Windows, но при этом хотите изучить, например, Linux. Значит, нужно, чтобы эта операционная система находилась под рукой. Или занимаетесь программированием под Android или iOS. В этом случае постоянно требуется проверка разработанного приложения в родной среде.

-2

Без виртуализации пришлось бы устанавливать на один компьютер две операционные системы, делать загрузчик и запускать каждую операционную систему поочередно. Или еще хуже — стирать одну ОС, устанавливать другую с переносом данных, переустановкой нужных приложений и так далее.

Так вот виртуализация позволяет обойтись без всех этих сложных процедур. Используя ее,можно запускать несколько операционных систем одновременно (одну внутри другой или две параллельно) и работать в той среде, которая нужна под конкретную задачу.

Виртуализация в бизнесе

Главная задача виртуализации — оптимальное использование производительности и мощности современной компьютерной техники в бизнес-приложениях, где используется мощное и дорогое оборудование.

-3

Например, ваша организация собирается поставить почтовый сервер для обработки поступающей и исходящей переписки, а еще развернуть DNS и WEB-сервер. Сколько для этого нужно серверных машин? Достаточно одной. Потому что на ней, в виртуально разделенных друг от друга «песочницах», на одном и том же железе заработают как бы три отдельных компьютера, выполняющие каждый свою задачу. Так вы разместите на одном компьютере сразу три отдельных сервера и используете всю мощность и производительность техники, окупив потраченные средства.

Разумеется, так как мощность и производительность серверных систем и пропускная способность каналов связи постоянно растет, у виртуализации появляется все больше возможностей для применения. Наглядный пример из относительно недавно запущенных и находящихся у всех на слуху — сервис GeForce Now, благодаря которому можно на слабых компьютерах запускать современные игры.

-4

Фактически это удаленные виртуальные компьютеры, выделенные сервисом под конкретного игрока. Собственная техника выступает только как терминальное устройство, для которого уже не так важна производительность процессора и видеокарты.

Основные направления развития виртуализации

В целом виртуализация как технология сейчас развивается по трем основным направлениям:

  • Виртуализация представлений. Это все тот же сервис GeForce Now. Сервер предоставляет вычислительные мощности, выполняет все расчеты, а на стороне терминала, за которым находится пользователь, только отображаются результаты расчетов. Да, в этом случае аппаратные требования к серверу оказываются высокими, но зато терминальное оборудование может быть очень простым.
  • Виртуализация аппаратной платформы. Это имитация аппаратной платформы с четко заданными параметрами. На созданный таким образом виртуальный компьютер устанавливают собственную ОС, запускаемую с помощью соответствующего приложения. Пример такой виртуализации — точная эмуляция Android для проверки и поиска багов в новых приложениях.
-5
  • Виртуализация программной среды. Используется для запуска программ в изолированной, не контактирующей с «окружающим миром» среде. Это делается для исключения конфликтов и защиты приложений — как запускаемых внутри «песочницы» от внешних воздействий, так и остальных программ от небезопасного софта внутри виртуальной среды. Например, при запуске в такой «виртуальной песочнице» безопасного браузера, вы не навредите свой операционной системе, посещая вредоносные сайты, так как все работает внутри специально созданной для приложения программной среды.

Как работает виртуализация

Мы разобрались с тем, что виртуализация — это хорошо и полезно. А что требуется для того, чтобы она заработала на вашем конкретном компьютере? Надо чтобы процессор поддерживал виртуализацию.

-6

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

Такая технология есть у обоих крупных производителей процессоров для ПК: у Intel она называется Intel VT, у AMD — AMD –V.

Особенности Intel VT

Впервые о разработке технологии виртуализации компания Intel объявила еще в 2005 году. И с тех пор Intel VT постоянно совершенствуется и расширяется.

-7

Корпорация Intel описывает Intel VT как технологию, развивающую несколько основных направлений. На сегодня это:

  • виртуализация процессоров. Производительность современного процессора, работающего в составе виртуальной машины, практически такая же, как и при работе в составе физической. Кроме того, пользователь может создавать внутри работающей виртуальной среды другую. То есть, делать что-то вроде «матрешки» из «вложенных» друг в друга виртуальных операционных систем — так работает вложенная виртуализация;
-8
  • виртуализация графических представлений через Intel Graphics Virtualization. Обеспечивает виртуальным машинам полный доступ или совместное использование графических процессоров и систем, отвечающих за работу с видео. Применяется для удаленных рабочих мест (несколько пользователей работают с удаленных терминалов на одном сервере) и онлайн-игр;
  • виртуализация ввода-вывода Intel Virtualization Technology for Directed I/O и прочие технологии работы с периферией обеспечивают передачу результатов обработки на сетевые и прочие устройства ввода-вывода информации. То есть, образно говоря, не дают виртуальным машинам «поссориться» при взаимодействии с сетью и не потерять в быстродействии. А также позволяют им получать доступ к любым устройствам, подключенным, например, к шине PCI-E. Отсюда следует и виртуализация сетевых функций, например, Intel QuickAssist.

Особенности AMD–V

Процессоры AMD по цене доступнее Intel, но это совсем не говорит о том, что они хуже. Есть мнение, что как раз наоборот. Многие игровые платформы строятся именно на основе процессоров, чипсетов и видеокарт этой компании.

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

Включение виртуализации на компьютере

Непосредственный запуск виртуальных машин выполняется с помощью специальных приложений:

  • менеджеров виртуальных машин. В качестве примера можно привести VMWare Workstation, Parallels Workstation. В этом случае одна операционная система запускается внутри другой;
  • программ-гипервизоров, позволяющих запускать на одном компьютере одновременно несколько операционных систем. Примеры таких приложений — Microsoft Hyper-V или Xen.
-9

Но до того, как вы запустите эти программы и приступите к установке и настройке виртуальных машин, вам потребуется включить виртуализацию.

Дело в том, что по умолчанию в настройках BIOS большинства материнских плат виртуализация отключена. И ее необходимо включить в соответствующем разделе, который называется у каждого производителя по-своему, например, «Virtualization Technology» изменив значение опции с «Disabled» на «Enabled».

-10

Если такой опции нет, то может оказаться так, что прошивка вашей материнской платы или процессор (хотя такое сейчас возможно только на старых моделях) виртуализацию не поддерживает. В этом редком, но возможном случае использовать преимущества виртуализации не получится.

Такая функция отключена в BIOS некоторых моделей ноутбуков Aser Aspire, позиционируемых производителем, как техника для домашнего использования.

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