Что делает виртуализация процессора

Привет, друзья! В последнее время, гиганты IT-индустрии, как с расписной торбой, носятся с идеей виртуализации. Мол, это настолько круто, что на любом офисном ПК должна быть виртуализация процессора. Для чего нужна такая технология, как это работает и нужна ли она конкретно вам, расскажу в сегодняшней публикации.

p, blockquote 1,0,0,0,0 –>

Virtualization Technology

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

p, blockquote 2,0,0,0,0 –>

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

p, blockquote 3,0,0,0,0 –>

Сегодня, область практического применения, это технологии, развиваются по трем направлениям:

Виртуализация представлений

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

p, blockquote 5,0,1,0,0 –>

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

Виртуализация устройств

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

p, blockquote 7,0,0,0,0 –>

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

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

Программа запускается в изолированной среде и никак не контактирует с «внешним миром», поэтому не конфликтует и не наносит вреда другим приложениям. Таким же способом можно запустить разные версии одной и той же программы.

p, blockquote 9,0,0,0,0 –>

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

p, blockquote 10,0,0,0,0 –>

Надо ли вам это

Зачем такая замечательная технология рядовому юзеру, что дает она и дает ли вообще? По большому счету, незачем, и поддержка виртуализации в процессоре домашнего ПК – скорее дань трендам, чем насущная необходимость.

p, blockquote 11,1,0,0,0 –>

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

p, blockquote 12,0,0,0,0 –>

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

p, blockquote 13,0,0,0,0 –>

Дело в маркетинге – за поддержку виртуализации, некоторые готовы выложить лишние деньги, не понимая толком, что такое им хотят продать.

p, blockquote 14,0,0,0,0 –>

Как включить виртуализацию

Активировать эту опцию можно в БИОСе (при условии, что она не включена изначально). Как включить: при перезагрузке компьютера нажать кнопку Del или F2 (чаще всего, на некоторых материнских платах кнопка может быть другой) и найти в меню пункт Virtualization Technology.Где именно искать – зависит от модели и версии BIOS. Следует выбрать опцию Enabled и, сохранив изменения, перезагрузить компьютер.

p, blockquote 15,0,0,0,0 –>

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

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

Читайте также:  Как отключить подписку ютуб премиум

p, blockquote 17,0,0,1,0 –>

Я уже упоминал в этой статье эмуляторы Android. Да, это виртуальные устройства с поддержкой виртуальной же ОС, поэтому для нормальной их работы, поддержка виртуализации таки необходима. В противном случае даже простенькие приложения будут дико тормозить – впрочем, как и сам Андроид, запущенный в среде Виндовс.

p, blockquote 18,0,0,0,0 –>

Отдельного упоминания эмуляторы заслуживают потому, что в последнее время они стали очень популярны. Несмотря на то, что почти в каждой семье уже есть планшет и несколько смартфонов, в некоторые игры удобнее играть с помощью клавиатуры и мышки – например, в PUBG Mobile.

p, blockquote 19,0,0,0,0 –>

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

p, blockquote 20,0,0,0,0 –>

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

p, blockquote 21,0,0,0,0 –>

p, blockquote 22,0,0,0,0 –> p, blockquote 23,0,0,0,1 –>

Привет, на связи Алексей! Слово «виртуальный» сегодня у всех на слуху. У меня до сих пор «виртуальность» ассоциациируется с фильмом «Косильщик лужаек», который вышел в девяностые годы. С тех пор прошло много времени. У нас еще не в ходу виртуальная реальность, слава Богу. Мы пока живем и мыслим в реальном мире. А вот виртуальные компьютеры уже легко может создать любой человек у себя дома. Сделать это позволяет технология виртуализации на процессоре вашего компьютера (или ноутбука).

В сегодняшнем материале сделаю краткий обзор как это работает, и расскажу для чего бывает нужен виртуальный компьютер. Самый простой пример — у вас дома в наличии есть обычный современный настольный ПК. На нем установлена операционная система Windows 7.

Вы решили осваивать Windows 10 или другую операционной систему, например Linux Mint. Раньше было доступно только два варианта. Или поставить новую вместо старой и потом переносить туда данные. Можно установить обе системы на один компьютер и запускать их поочередно. Но это не удобно.

Для того, чтобы на одном компьютере можно было запускать сразу несколько операционных систем одновременно и была реализована технология виртуализации. Проблема эта оказывается не нова, еще в 80 г двадцатого века ее пытались решить на Западе. В домашних условиях Вы, например, можете легко научиться самостоятельно устанавливать и осваивать такие операционные системы, с какими раньше не были знакомы. А потом и научиться использовать их.

Можно тестировать работу программ в разных операционных системах. Можно играть в любимые старые игры, которые не запускаются на новых операционных системах. Что еще дает запуск нескольких операционных систем? Виртуализация была придумана для того, чтобы экономить денежные средства. В крупных организациях стоят дорогие сервера, и вместо того чтобы тратить деньги на на покупку нового «железа» можно на ОДНОМ физическом системном блоке установить к примеру два виртуальных сервера.

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

Для того, чтобы технология заработала на вашем ПК, нужно чтобы его процессор поддерживал ее. В чем ее суть простыми словами? Обычный процессор работает примерно так. Есть операционная система (любая) и процессор. Часть данных операционной системы обрабатывается процессором на уровне «1«. Другая важная часть команд от операционной системы работает с процессором, например только на уровне «» и занимает эту область. Вы пытаетесь запустить виртуальную машину, а эта «нулевая» область уже занята реальной операционной системой.

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

Что означает виртуализация процессора AMD?

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

Виртуализация AMD (AMDV™) — это набор уникальных интегрированных в чип функций, которые позволяют клиентам на базе процессоров AMD запускать несколько операционных систем и приложений на одной машине. Впервые появилась в 2008 году на процессорах Athlon x64

Читайте также:  Как настроить блютуз гарнитуру на телефоне

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

Что такое виртуализация в процессорах Intel Core i5?

Компания Intel объявила о своих наработках в этом направлении в 2005 году. Технология носит название Intel VT и со времен процессора Pentium4 (672) ее процессоры поддерживают эту функцию. С тех пор функционал непрерывно совершенствуется и добавляются новые возможности. На сайте компании есть краткий перечень достижений:

  • касаемо процессора — на виртуальной машине производительность процессора будет практически такой же как и на физической. При замене процессора на более производительный возможна миграция. На виртуальной машине можно создавать еще одну виртуальную машину (вложенная виртуализация);
  • Оперативная память при использовании VT разделяется и изолируется в том объеме который вы выделите;
  • функция реализации оптимального ввода /вывода данных на жесткий диск и сетевые карты обеспечивает скорость работы по сети и чтения/записи;
  • Оптимизированы возможности поддержки графических процессоров в виртуальной машине, что позволяет создавать виртуальные удаленные рабочие места на одном сервере.

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

Что значит виртуализация процессора в BIOS ?

Все современные процессоры поддерживают функцию. Ее только надо включить на материнской плате. Обычно она выключена и виртуальная машина не запустится. Для начала убеждаемся, что наш процессор поддерживает виртуализацию. Сделать это можно любым приложением, которое умеет собирать данные о вашем «железе» и выдавать ее в виде отчета.

Как проверить включена ли виртуализация на вашем ПК?

Есть утилиты которые проверяют включена ли функция на вашем процессоре, а не только ее наличие. Я пользуюсь CPU-Z, а включение проверяю в BIOS. Запустив програму переходим на вкладку «Процессор»:

У меня процессор Intel и набор инструкций должен быть AVX. На процессорах AMD соответсвенно будет AMD-V. Если у вас в наборе инструкции есть такая запись, значит нужно ее активировать в BIOS.

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

В UEFI BIOS примерно так включается виртуализация:

На обычных BIOS включать можно так:

Теперь можно устанавливать и настраивать виртуальную машину. Об этом читаем далее.

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

Гостевая система не зависит от архитектуры хостовой платформы и реализации платформы виртуализации.

Аппаратная виртуализация обеспечивает производительность, сравнимую с производительностью невиртуализованной машины, что дает виртуализации возможность практического использования и влечет её широкое распространение. Наиболее распространены технологии виртуализации Intel-VT и AMD-V.

  • В Intel VT (Intel Virtualization Technology) реализована виртуализация режима реальной адресации (режим совместимости с 8086). Соответствующая аппаратная виртуализация ввода-вывода — VT-d (кодовое название — Vanderpool). Часто обозначается аббревиатурой VMX (Virtual Machine eXtension).
  • AMD-V часто обозначается аббревиатурой SVM (Secure Virtual Machines). Кодовое название — Pacifica. Соответствующая технология виртуализации ввода-вывода — IOMMU. AMD-V проще и эффективнее, чем Intel VT. [1] Поддержка AMD-V появилась в Xen 3.3.

Содержание

Intel VT (Intel Virtualization Technology) [ править | править код ]

VT-x [ править | править код ]

Ранее известная под кодовым названием «Vanderpool», VT-x представляет собой технологию виртуализации Intel на платформе x86. 13 ноября 2005 года Intel выпустила две модели Pentium 4 (модели 662 и 672), которые стали первыми процессорами, поддерживающими VT-x. Флаг поддержки VT-x — «vmx»; в Linux проверяется командой grep vmx /proc/cpuinfo , в Mac OS X — sysctl machdep.cpu.features . [2]

По состоянию на 2015 год не все процессоры Intel поддерживают VT-x, что используется компанией Intel для сегментирования своего рынка. [3] Поддержка VT-x может различаться даже между различными версиями (которые идентифицируются по sSpec Number) одной и той же модели. [4] [5] Полный список можно посмотреть на сайте Intel. [6] Даже в мае 2011 года процессор Intel P6100, используемый в ноутбуках, не поддерживает аппаратную виртуализацию. [7]

На некоторых материнских платах пользователи должны вручную включить виртуализацию VT-x в настройках BIOS. [8]

Intel начала включать технологию виртуализации Extended Page Table (EPT) [9] для страничных таблиц [10] , начиная с процессоров архитектуры Nehalem, выпущенных в 2008 году [11] [12] .

Читайте также:  Сколько различных натуральных делителей у числа

В 2010 году в архитектуру Westmere была добавлена технология «неограниченного гостя», заключающаяся в поддержке логического процессора в реальном режиме и требующая для работы EPT. [13] [14]

Начиная с архитектуры Haswell, объявленной в 2013 году, Intel начала включать затенение VMCS — технологию, ускоряющую вложенную виртуализацию гипервизоров. [15] VMCS — структура управления виртуальной машины (virtual machine control structure) — структура данных в памяти, существующая в точности в одном экземпляре на одну виртуальную машину и управляемая гипервизором. С каждым изменением контекста выполнения между разными ВМ структура данных VMCS восстанавливается для текущей виртуальной машины, определяя состояние виртуального процессора ВМ. [16] Если используется больше одного гипервизора или используются вложенные гипервизоры, необходимо многократное затенение VMCS. Аппаратная поддержка затенения делает управление VMSC более эффективным.

VT-d [ править | править код ]

VT-d (Virtualization technology for directed I/O) — технология виртуализации ввода-вывода, созданная корпорацией Intel в дополнение к её технологии виртуализации вычислений (VT), известной под кодовым названием Vanderpool. Виртуализация ввода-вывода позволяет пробрасывать (pass-through) устройства на шине PCI (и более современных подобных шинах) в гостевую ОС, таким образом, что она может работать с ним с помощью своих штатных средств. Чтобы такое было возможно, в логических схемах системной платы используется специальное устройство управления памятью ввода-вывода (IOMMU), работающее аналогично MMU центрального процессора, используя таблицы страниц и специальную таблицу отображения DMA (DMA remapping table — DMAR), которую гипервизор получает от BIOS через ACPI. Отображение DMA необходимо, поскольку гипервизор ничего не знает о специфике работы устройства с памятью по физическим адресам, которые известны лишь драйверу. С помощью DMAR он создает таблицы отображения таким образом, что драйвер гостевой ОС видит виртуальные адреса IOMMU аналогично тому, как бы он видел физические без него и гипервизора.

Intel Virtualization Technology for Directed I/O (VT-d) — это следующий важный шаг на пути к всеобъемлющей аппаратной поддержке виртуализации платформ на базе Intel. VT-d расширяет возможности технологии Virtualization Technology (VT), существующей в IA-32 (VT-x) и Itanium (VT-i), и добавляет поддержку виртуализации новых устройств ввода-вывода.

Поддержка аппаратным обеспечением [ править | править код ]

  • Виртуализация ввода-вывода впервые появилась в чипсете Q35, и на сегодняшний день поддерживается всеми материнскими платами, поддерживающими технологию Intel vPro.
  • Для использования Intel Virtualization Technology необходим компьютер с процессором Intel, BIOS, монитором виртуальных машин (VMM), а для некоторых моделей с определенным программным обеспечением с поддержкой этой технологии. Функциональные возможности, производительность и другие характеристики могут различаться в зависимости от аппаратного и программного обеспечения и могут потребовать обновления BIOS.
  • Процессоры, поддерживающие Virtualization Technology for Directed I/O: Intel Core i7-920, Intel Core i7-940, Intel Core i7-950, Intel Core i7-870, Intel Core i7-860, Intel Core i5-650, Intel Core i5-660, Intel Core i5-670, Intel Core i5-540M, Intel Core i5-520M и т. д. [1]
  • i7-920 поддерживает технологию VT-x, про VT-d на оф. сайте не указано. [17]

Поддержка программным обеспечением [ править | править код ]

  • Гипервизор Xen поддерживает DMAR начиная с версии 3.3 для аппаратно-виртуализуемых доменов. Для паравиртуальных доменов отображение DMA не требуется.
  • В ближайшем будущем [когда?] заявлена поддержка технологии ПО Oracle VirtualBox.
  • Ядро Linux экспериментально поддерживает DMAR начиная с версии 2.6.28, что позволяет встроенному гипервизору (kvm) давать доступ виртуальным машинам к PCI-устройствам.
  • Поддержка Intel VT-d есть в Parallels Workstation 4.0 Extreme [2] и в Parallels Server 4 Bare Metal [3]

AMD virtualization (AMD-V) [ править | править код ]

AMD разработала свои расширения виртуализации первого поколения под кодовым названием «Pacifica», и первоначально опубликовала их как AMD Secure Virtual Machine (SVM) [18] , но позже, на рынке, — под торговой маркой «AMD Virtualization», сокращенно «AMD-V».

23 мая 2006 года AMD выпустила Athlon 64 («Orleans»), Athlon 64 X2 («Windsor») и Athlon 64 FX («Windsor») в качестве первых процессоров AMD с поддержкой данной технологии.

Поддержка AMD-V также обеспечивается в семействе процессоров Athlon 64 и Athlon 64 X2 ревизий «F» или «G» на Socket AM2, Turion 64 X2, и Opteron второго поколения [19] и третьего поколения [20] , а также процессорами Phenom и Phenom II. Только две модели Sempron поддерживают её: Huron and Sargas.

Процессоры AMD Fusion также поддерживают AMD-V.

AMD-V не поддерживается в процессорах на Socket 939.

Процессоры Opteron, начиная с семейства 0x10 Barcelona, и процессоры Phenom II поддерживают второе поколение аппаратной виртуализации технология под названием Rapid Virtualization Indexing (ранее известная как Nested Page Tables во время его разработки), позже адаптированные Intel, как Extended Page Tables (EPT).