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

Виртуализация x86 - это использование возможностей виртуализации с аппаратной поддержкой на процессоре x86 / x86-64.

В конце 1990-х годов виртуализация x86 была достигнута с помощью сложных программных методов, необходимых для компенсации отсутствия у процессора возможностей аппаратной виртуализации при достижении разумной производительности. В 2005 и 2006 годах Intel ( VT-x ) и AMD ( AMD-V ) представили ограниченную поддержку аппаратной виртуализации, которая позволила упростить программное обеспечение виртуализации, но дала очень мало преимуществ в скорости. [1] Большая поддержка оборудования, которая позволила существенно улучшить скорость, появилась в более поздних моделях процессоров.

Программная виртуализация [ править ]

Следующее обсуждение фокусируется только на виртуализации защищенного режима архитектуры x86 .

В защищенном режиме ядро ​​операционной системы работает с более высокими привилегиями, такими как кольцо 0, и приложениями с более низкими привилегиями, такими как кольцо 3. [ необходима цитата ] В программной виртуализации ОС хоста имеет прямой доступ к оборудованию, в то время как гостевые ОС имеют ограниченный доступ к оборудованию, как и любое другое приложение операционной системы хоста. Один из подходов, используемых в программной виртуализации x86 для преодоления этого ограничения, называется лишением привилегий кольца , который включает запуск гостевой ОС на кольце выше (с меньшими привилегиями), чем 0. [2]

Три метода сделали возможной виртуализацию защищенного режима:

  • Двоичная трансляция используется для перезаписи в терминах инструкций кольца 3 определенных инструкций кольца 0, таких как POPF , которые в противном случае не работали бы тихо или вели себя по-другому при выполнении над кольцом 0, [3] [4] : 3, создавая классическую ловушку и - эмулировать виртуализацию невозможно. [4] : 1 [5] Для повышения производительности переведенные базовые блоки необходимо кэшировать согласованным образом, чтобы обнаруживать исправления кода (например, используемые в VxD ), повторное использование страниц гостевой ОС или даже самомодификацию код . [6]
  • Необходимо затенять ряд ключевых структур данных, используемых процессором . Поскольку большинство операционных систем используют выгружаемую виртуальную память , и предоставление гостевой ОС прямого доступа к MMU означало бы потерю контроля со стороны диспетчера виртуализации , часть работы MMU x86 необходимо дублировать в программном обеспечении для гостевой ОС, используя методику известные как таблицы теневых страниц . [7] : 5 [4] : 2 Это включает в себя отказ гостевой ОС в доступе к фактическим записям таблицы страниц путем перехвата попыток доступа и их эмуляции в программном обеспечении. Архитектура x86 использует скрытое состояние для хранения дескрипторов сегментов.в процессоре, поэтому после загрузки дескрипторов сегментов в процессор память, из которой они были загружены, может быть перезаписана, и нет никакого способа получить дескрипторы обратно из процессора. Поэтому таблицы теневых дескрипторов должны использоваться для отслеживания изменений, внесенных в таблицы дескрипторов гостевой ОС. [5]
  • Эмуляция устройства ввода-вывода: неподдерживаемые устройства в гостевой ОС должны эмулироваться эмулятором устройства , работающим в ОС хоста. [8]

Эти методы влекут за собой некоторые накладные расходы на производительность из-за отсутствия поддержки виртуализации MMU по сравнению с виртуальной машиной, работающей на изначально виртуализуемой архитектуре, такой как IBM System / 370 . [4] : 10 [9] : 17 и 21

На традиционных мэйнфреймах классический гипервизор типа 1 был автономным и не зависел от какой-либо операционной системы или сам запускал какие-либо пользовательские приложения. Напротив, первые продукты виртуализации x86 были нацелены на компьютеры рабочих станций и запускали гостевую ОС внутри ОС хоста путем встраивания гипервизора в модуль ядра, работающий под управлением ОС хоста (гипервизор типа 2). [8]

Были некоторые разногласия относительно возможности виртуализации архитектуры x86 без аппаратной поддержки, как описано Попеком и Голдбергом . Исследователи VMware указали в статье ASPLOS 2006 года, что вышеуказанные методы сделали платформу x86 виртуализируемой в смысле соответствия трем критериям Попека и Голдберга, хотя и не с помощью классической техники ловушки и эмуляции. [4] : 2–3

Другие системы, такие как Denali , L4 и Xen , выбрали другой путь , известный как паравиртуализация , который включает в себя перенос операционных систем для работы на полученной виртуальной машине, которая не реализует те части фактического набора инструкций x86, которые трудно виртуализировать. . Паравиртуализированный ввод-вывод имеет значительные преимущества в производительности, как показано в исходном документе SOSP '03 Xen. [10]

Первоначальная версия x86-64 ( AMD64 ) не допускала программной полной виртуализации из-за отсутствия поддержки сегментации в длинном режиме , что делало невозможной защиту памяти гипервизора, в частности, защиту обработчика ловушек. который выполняется в адресном пространстве гостевого ядра. [11] [12] : 64-разрядные процессоры AMD 11 и 20 редакции D и более поздние (как правило, производимые с длиной волны 90 нм или меньше) добавили базовую поддержку сегментации в длинном режиме, что сделало возможным запуск 64-разрядных процессоров. битовые гости на 64-битных хостах посредством двоичной трансляции Intel не добавляла поддержку сегментации в свою реализацию x86-64 ( Intel 64), что делает невозможной виртуализацию только 64-разрядного программного обеспечения на процессорах Intel, но поддержка Intel VT-x делает возможной виртуализацию с 64-разрядной аппаратной поддержкой на платформе Intel. [13] [14] : 4

На некоторых платформах можно запустить 64-разрядную гостевую систему в 32-разрядной ОС, если базовый процессор является 64-разрядным и поддерживает необходимые расширения виртуализации.

Аппаратная виртуализация [ править ]

В 2005 и 2006 годах Intel и AMD (работающие независимо) создали новые процессорные расширения для архитектуры x86. Первое поколение аппаратной виртуализации x86 решало проблему привилегированных инструкций. Проблема низкой производительности виртуализированной системной памяти была решена с помощью виртуализации MMU, которая была добавлена ​​в чипсет позже.

Центральный процессор [ править ]

Виртуальный режим 8086 [ править ]

Основываясь на болезненном опыте с защищенным режимом 80286 , который сам по себе не подходил для полноценного запуска параллельных приложений DOS , Intel представила виртуальный режим 8086 в своем чипе 80386 , который предлагал виртуализированные процессоры 8086 на чипах 386 и более поздних версий. Однако аппаратная поддержка виртуализации самого защищенного режима стала доступна 20 лет спустя. [15]

Виртуализация AMD (AMD-V) [ править ]

AMD Phenom CPU

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

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

Возможности AMD-V также имеются в процессорах семейства Athlon 64 и Athlon 64 X2 с ревизиями "F" или "G" на сокетах AM2 , Turion 64 X2 и Opteron 2-го поколения [17] и третьего поколения, [18] Phenom и процессоры Phenom II . Процессоры APU Fusion поддерживают AMD-V. AMD-V не поддерживается процессорами Socket 939. Единственные процессоры Sempron , которые его поддерживают, - это APU и настольные процессоры Huron , Regor , Sargas .

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

По состоянию на 2019 год все процессоры AMD на базе Zen поддерживают AMD-V.

Флаг процессора для AMD-V является «SVM». Это можно проверить в производных от BSD через dmesg или sysctl и в Linux через . [19] Инструкции в AMD-V включают VMRUN, VMLOAD, VMSAVE, CLGI, VMMCALL, INVLPGA, SKINIT и STGI./proc/cpuinfo

На некоторых материнских платах пользователи должны включить функцию AMD SVM в настройке BIOS , прежде чем приложения смогут ее использовать. [20]

Виртуализация Intel (VT-x) [ править ]

Процессор Intel Core i7 (Bloomfield)

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

VMX означает расширения виртуальных машин, которые добавляют 13 новых инструкций: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON, INVEPT, INVVPID и VMFUNC. [21] Эти инструкции разрешают вход и выход из виртуального режима выполнения, в котором гостевая ОС воспринимает себя как работающую с полными привилегиями (кольцо 0), но ОС хоста остается защищенной.

По состоянию на 2015 год почти все новые серверные, настольные и мобильные процессоры Intel поддерживают VT-x, за исключением некоторых процессоров Intel Atom . [22] На некоторых материнских платах пользователи должны включить функцию Intel VT-x в настройках BIOS , прежде чем приложения смогут ее использовать. [23]

Intel начала включать Extended Page Tables (EPT), [24] технологию для виртуализации таблиц страниц, [25] начиная с архитектуры Nehalem , [26] [27] выпущенной в 2008 году. В 2010 году Westmere добавила поддержку для запуска логических процессор непосредственно в реальном режиме  - функция, называемая «неограниченный гость», для работы которой требуется EPT. [28] [29]

С момента появления микроархитектуры Haswell (анонсированной в 2013 году) Intel начала включать теневое копирование VMCS как технологию, ускоряющую вложенную виртуализацию VMM. [30] Структура управления виртуальной машиной (VMCS) - это структура данных в памяти, которая существует ровно один раз для каждой виртуальной машины, пока она управляется VMM. При каждом изменении контекста выполнения между различными виртуальными машинами VMCS восстанавливается для текущей виртуальной машины, определяя состояние виртуального процессора виртуальной машины. [31] Как только используется более одного VMM или вложенных VMM, возникает проблема, аналогичная тому, что требуется изобрести управление теневой таблицей страниц, как описано выше.. В таких случаях VMCS необходимо дублировать несколько раз (в случае вложенности) и частично реализовывать программно, если процессор не поддерживает аппаратное обеспечение. Чтобы сделать обработку теневой VMCS более эффективной, Intel реализовала аппаратную поддержку теневого копирования VMCS. [32]

Виртуализация VIA (VIA VT) [ править ]

Процессоры VIA Nano серии 3000 и выше поддерживают технологию виртуализации VIA VT, совместимую с Intel VT-x. [33] EPT присутствует в Zhaoxin ZX-C, потомке VIA QuadCore-E и Eden X4, аналогичном Nano C4350AL . [34]

Виртуализация прерываний (AMD AVIC и Intel APICv) [ править ]

В 2012 году AMD анонсировала свой Advanced Virtual Interrupt Controller ( AVIC ), нацеленный на снижение накладных расходов на прерывания в средах виртуализации. [35] Эта технология, как было заявлено, не поддерживает x2APIC . [36] В 2016 году AVIC будет доступен на процессорах семейства AMD 15h моделей 6Xh (Carrizo) и новее. [37]

Также в 2012 году Intel анонсировала аналогичную технологию для виртуализации прерываний и APIC , у которой на момент анонса не было торговой марки. [38] Позже он был назван APIC virtualization ( APICv ) [39] и стал коммерчески доступным в серии процессоров Intel Ivy Bridge EP , которые продаются как Xeon E5-26xx v2 (запущен в конце 2013 года) и как Xeon E5-46xx v2 (запущен в начале 2014 года). [40]

Блок обработки графики [ править ]

Виртуализация графики не является частью архитектуры x86. Технология виртуализации графики Intel (GVT) обеспечивает виртуализацию графики как часть графических архитектур последнего поколения. Хотя APU AMD реализуют набор инструкций x86-64 , они реализуют собственные графические архитектуры AMD ( TeraScale , GCN и RDNA ), которые не поддерживают виртуализацию графики. Larrabee была единственной графической микроархитектурой, основанной на x86, но она, вероятно, не включала поддержку виртуализации графики.

Набор микросхем [ править ]

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

Виртуализация ввода-вывода MMU (AMD-Vi и Intel VT-d) [ править ]

Блок управления памятью ввода / вывода (IOMMU) позволяет гостевым виртуальным машинам напрямую использовать периферийные устройства, такие как Ethernet, графические карты с ускорением и контроллеры жестких дисков, через DMA и переназначение прерываний . Иногда это называют сквозной пересылкой PCI . [42]

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

И AMD, и Intel опубликовали свои спецификации IOMMU:

  • Технология виртуализации ввода-вывода AMD, «AMD-Vi», первоначально называвшаяся «IOMMU» [43]
  • Intel «Технология виртуализации для направленного ввода-вывода» (VT-d) [44], включенная в большинство высокопроизводительных (но не во все) новых процессоров Intel, начиная с архитектуры Core 2. [45]

Помимо поддержки ЦП, набор микросхем материнской платы и системное микропрограммное обеспечение ( BIOS или UEFI ) должны полностью поддерживать функциональность виртуализации ввода-вывода IOMMU, чтобы ее можно было использовать. Таким образом можно виртуализировать только устройства PCI или PCI Express, поддерживающие сброс уровня функций (FLR), поскольку это требуется для переназначения различных функций устройства между виртуальными машинами. [46] [47] Если назначаемое устройство не поддерживает прерывания с сообщением (MSI), оно не должно совместно использовать линии прерывания с другими устройствами, чтобы назначение было возможным. [48]Все обычные устройства PCI, маршрутизируемые за мостом PCI / PCI-X -to-PCI Express, могут быть назначены гостевой виртуальной машине только все сразу; Устройства PCI Express не имеют такого ограничения.

Сетевая виртуализация (VT-c) [ править ]

  • Intel "Технология виртуализации для подключения" (VT-c). [49]
PCI-SIG Single Root I / O Virtualization (SR-IOV) [ править ]

Виртуализация ввода-вывода с одним корнем PCI-SIG (SR-IOV) предоставляет набор общих (не связанных с x86) методов виртуализации ввода-вывода, основанных на собственном оборудовании PCI Express (PCIe), как это стандартизовано PCI-SIG: [50]

  • Службы трансляции адресов (ATS) поддерживают собственный интерфейс ввода-вывода через PCI Express посредством трансляции адресов. Для настройки таких переводов требуется поддержка новых транзакций.
  • Однокорневой IOV (SR-IOV или SRIOV) поддерживает собственный IOV в существующих однокорневых сложных топологиях PCI Express. Для настройки нескольких виртуализированных пространств конфигурации требуется поддержка возможностей новых устройств. [51]
  • Многокорневой IOV (MR-IOV) поддерживает собственный IOV в новых топологиях (например, блейд-серверах), опираясь на SR-IOV для обеспечения нескольких корневых комплексов, которые разделяют общую иерархию PCI Express.

В SR-IOV, наиболее распространенном из них, хост VMM настраивает поддерживаемые устройства для создания и выделения виртуальных «теней» их пространств конфигурации, чтобы гости виртуальных машин могли напрямую настраивать ресурсы таких «теневых» устройств и получать доступ к ним. [52] При включенном SR-IOV виртуализированные сетевые интерфейсы становятся напрямую доступными для гостей, [53] избегая участия VMM и обеспечивая высокую общую производительность; [51] например, SR-IOV обеспечивает более 95% пропускной способности сети « голого железа» в виртуализированном центре обработки данных НАСА [54] и в публичном облаке Amazon . [55] [56]

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

  • Сравнение виртуальных машин приложений
  • Сравнение программного обеспечения для виртуализации платформ
  • Аппаратная виртуализация
  • Гипервизор
  • Виртуализация ввода-вывода
  • Виртуализация сети
  • Виртуализация на уровне операционной системы
  • Хронология развития виртуализации
  • Виртуальная машина
  • Список оборудования, поддерживающего IOMMU
  • Преобразование адресов второго уровня (SLAT)
  • Прерывания, сигнализируемые сообщениями (MSI)

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

  1. ^ Сопоставление программного и аппаратного обеспечения Методы x86 виртуализации, Кит Адамс и Оле Agesen, VMware ASPLOS'06 21-25 октября 2006 года, Сан - Хосе, Калифорния, США Архивированные 2010-08-20 на Wayback Machine «Удивительно,мы обнаружили, что поддержка оборудования первого поколения редко дает преимущества в производительности по сравнению с существующими программными технологиями. Мы объясняем эту ситуацию высокими затратами на переход между VMM и гостевой системой и жесткой моделью программирования, которая оставляет мало места для гибкости программного обеспечения при управлении частотой или стоимостью этих переходов. .
  2. ^ «Intel Virtualization Technology Processor Virtualization Extensions и Intel Trusted Execution Technology» (PDF) . Intel.com. 2007. Архивировано (PDF) из оригинала 21.05.2015 . Проверено 12 декабря 2016 .
  3. ^ "Техническая программа USENIX - Аннотация - Симпозиум по безопасности - 2000" . Usenix.org. 2002-01-29. Архивировано 10 июня 2010 года . Проверено 2 мая 2010 .
  4. ^ a b c d e «Сравнение программных и аппаратных средств виртуализации x86» (PDF) . VMware. Архивировано 20 августа 2010 года (PDF) . Проверено 8 сентября 2010 года .
  5. ^ a b Патент США 6397242
  6. ^ Патент США 6,704,925
  7. ^ «Виртуализация: архитектурные аспекты и другие критерии оценки» (PDF) . VMware. Архивировано 6 февраля 2011 года (PDF) . Проверено 8 сентября 2010 года .
  8. ^ a b Патент США 6,496,847
  9. ^ «VMware и технология поддержки оборудования» (PDF) . Архивировано (PDF) из оригинала 17 июля 2011 года . Проверено 8 сентября 2010 .
  10. ^ «Xen и искусство виртуализации» (PDF) . Архивировано (PDF) из оригинала 29.09.2014.
  11. ^ «Как уходящая на пенсию сегментация в длинном режиме AMD64 сломала VMware» . Pagetable.com. 2006-11-09. Архивировано 18 июля 2011 года . Проверено 2 мая 2010 .
  12. ^ «VMware и технология виртуализации ЦП» (PDF) . VMware. Архивировано (PDF) из оригинала 17 июля 2011 года . Проверено 8 сентября 2010 .
  13. ^ «VMware KB: Требования к оборудованию и микропрограммному обеспечению для 64-битных гостевых операционных систем» . Kb.vmware.com. Архивировано 19 апреля 2010 года . Проверено 2 мая 2010 .
  14. ^ «Программные и аппаратные средства для виртуализации x86» (PDF) . Архивировано из оригинального (PDF) 05 января 2010 года . Проверено 2 мая 2010 .
  15. ^ Ягер, Том (2004-11-05). «Отправка программного обеспечения для работы с оборудованием | Оборудование - InfoWorld» . Images.infoworld.com. Архивировано 18 октября 2014 года . Проверено 8 января 2014 .
  16. ^ "33047_SecureVirtualMachineManual_3-0.book" (PDF) . Архивировано (PDF) из оригинала на 2012-03-05 . Проверено 2 мая 2010 .
  17. ^ «Каковы основные различия между процессорами AMD Opteron второго поколения и процессорами AMD Opteron первого поколения?» . amd.com . Архивировано из оригинального 15 апреля 2009 года . Проверено 4 февраля 2012 .
  18. ^ "Какие улучшения виртуализации есть в четырехъядерных процессорах AMD Opteron?" . amd.com . Архивировано из оригинального 16 апреля 2009 года . Проверено 4 февраля 2012 .
  19. ^ a b Чтобы узнать, поддерживает ли ваш процессор аппаратную виртуализацию. Архивировано 25 ноября 2012 г. на Wayback Machine Intel 2012 г.
  20. ^ Inc, QNAP Systems. «Как включить Intel VTx и AMD SVM? | QNAP» . QNAP Systems, Inc. - Сетевое хранилище (NAS) . Проверено 23 декабря 2020 .
  21. ^ INTEL (октябрь 2019 г.). «Руководство разработчика программного обеспечения для архитектур Intel® 64 и IA-32» . intel.com . Корпорация Intel . Проверено 4 января 2020 .
  22. ^ «Список технологий виртуализации Intel» . Ark.intel.com. Архивировано 27 октября 2010 года . Проверено 2 мая 2010 .
  23. ^ «Windows Virtual PC: настройка BIOS» . Microsoft. Архивировано из оригинала на 2010-09-06 . Проверено 8 сентября 2010 .
  24. ^ Нейгер, Гил; А. Сантони; Ф. Люнг; Д. Роджерс; Р. Улиг. «Технология виртуализации Intel: аппаратная поддержка эффективной виртуализации процессоров» (PDF) . Intel Technology Journal . Intel. 10 (3): 167–178. DOI : 10.1535 / itj.1003.01 . Архивировано из оригинального (PDF) 25 сентября 2012 года . Проверено 6 июля 2008 .
  25. ^ Гиллеспи, Мэтт (2007-11-12). «Лучшие практики для улучшений паравиртуализации от Intel Virtualization Technology: EPT и VT-d» . Сеть программного обеспечения Intel . Intel. Архивировано 26 декабря 2008 года . Проверено 6 июля 2008 .
  26. ^ «Сначала тик, теперь тик: микроархитектура Intel следующего поколения (Nehalem)» (PDF) (пресс-релиз). Intel. Архивировано (PDF) из оригинала 26 января 2009 года . Проверено 6 июля 2008 .
  27. ^ «Краткое описание технологии: технология виртуализации Intel Microarchitecture Nehalem» (PDF) . Intel. 2009-03-25. Архивировано (PDF) из оригинала 07.06.2011 . Проверено 3 ноября 2009 .
  28. ^ http://2013.asiabsdcon.org/papers/abc2013-P5A-paper.pdf : [ постоянная мертвая ссылка ] «Intel добавила неограниченный гостевой режим для микроархитектуры Westmere и более поздних процессоров Intel, он использует EPT для перевода физического адреса гостя. доступ к физическому адресу хоста. В этом режиме разрешен VMEnter без включения подкачки ".
  29. ^ http://download.intel.com/products/processor/manual/326019.pdf : [ постоянная мертвая ссылка ] «Если« неограниченный гостевой »элемент управления выполнением ВМ равен 1, элемент управления виртуальным выполнением« включить EPT »должен также быть 1 "
  30. ^ «Процессоры Intel Core vPro 4-го поколения с Intel VMCS Shadowing» (PDF) . Intel . 2013 . Проверено 16 декабря 2014 .
  31. ^ Понимание технологии виртуализации Intel (VT). Архивировано 8 сентября 2014 года, на Wayback Machine. Дата обращения 1сентября 2014.
  32. ^ Что, где и почему затенения VMCS. Архивировано 3 сентября 2014 г. на Wayback Machine. Получено 1 сентября 2014 г..
  33. VIA представляет новые процессоры VIA Nano серии 3000. Архивировано 22 января 2013 г. на Wayback Machine.
  34. ^ «Решение для ноутбуков: процессор Kaixian ZX-C + набор микросхем VX11PH» (PDF) .
  35. ^ Вэй Хуан, введение AMD Advanced Virtual Controller Interrupt архивации 2014-07-14 в Wayback Machine , XenSummit 2012
  36. ^ Йорг Родел (август 2012). «Виртуализация прерываний нового поколения для KVM» (PDF) . AMD. Архивировано (PDF) из оригинала 04.03.2016 . Проверено 12 июля 2014 .
  37. ^ «[Xen-devel] [RFC PATCH 0/9] Представьте AMD SVM AVIC» . www.mail-archive.com . Архивировано 2 февраля 2017 года . Дата обращения 4 мая 2018 .
  38. Джун Накадзимаа (13 декабря 2012). «Обзор неиспользуемых и новых функций для виртуализации прерываний / APIC» (PDF) . Intel. Архивировано (PDF) из оригинала 21 апреля 2015 года . Проверено 12 июля 2014 .
  39. ^ Ханг Нгуен (2013-12-17). «Тестирование производительности виртуализации APIC и Iozone» . software.intel.com . Архивировано 14 июля 2014 года . Проверено 12 июля 2014 .
  40. ^ «Краткое описание семейства продуктов Intel Xeon Processor E5-4600 v2» (PDF) . Intel. 2014-03-14. Архивировано (PDF) из оригинала 14.07.2014 . Проверено 12 июля 2014 .
  41. ^ «Аппаратная поддержка платформы Intel для виртуализации ввода-вывода» . Intel.com. 10 августа 2006 г. Архивировано 20 января 2007 года . Проверено 4 февраля 2012 .
  42. ^ «Виртуализация Linux и сквозная передача PCI» . IBM. Архивировано 1 ноября 2009 года . Проверено 10 ноября 2010 года .
  43. ^ «AMD I / O Virtualization Technology (IOMMU) Specification Revision 1.26» (PDF) . Архивировано (PDF) из оригинала 24.01.2011 . Проверено 24 мая 2011 .
  44. ^ «Технология виртуализации Intel для спецификации архитектуры направленного ввода-вывода (VT-d)» . Архивировано 3 апреля 2013 года . Проверено 4 февраля 2012 .
  45. ^ «Intel Virtualization Technology for Directed I / O (VT-d) Supported CPU List» . Ark.intel.com. Архивировано 27 октября 2010 года . Проверено 4 февраля 2012 .
  46. ^ «Уведомление о технических изменениях PCI-SIG: сброс функционального уровня (FLR)» (PDF) . pcisig.com . 2006-06-27. Архивировано (PDF) из оригинала 04.03.2016 . Проверено 10 января 2014 .
  47. ^ "Xen VT-d" . xen.org . 2013-06-06. Архивировано 9 февраля 2014 года . Проверено 10 января 2014 .
  48. ^ «Как назначить устройства с VT-d в KVM» . linux-kvm.org . 2014-04-23. Архивировано 10 марта 2015 года . Проверено 5 марта 2015 .
  49. ^ «Технология виртуализации Intel для подключения (VT-c)» (PDF) . Intel.com. Архивировано (PDF) из оригинала 22 февраля 2016 года . Проверено 14 февраля 2018 .
  50. ^ «Спецификации виртуализации ввода-вывода PCI-SIG (IOV)» . Pcisig.com. 31 марта 2011 г. Архивировано 15 января 2012 года . Проверено 4 февраля 2012 .
  51. ^ a b «Intel Look Inside: Intel Ethernet» (PDF) . Intel . 27 ноября 2014 г. с. 104. Архивировано (PDF) из оригинала 4 марта 2016 года . Проверено 26 марта 2015 года .
  52. ^ Yaozu Dong, Чжао Юй, Грег Роуз (2008). «Сеть SR-IOV в Xen: архитектура, дизайн и реализация» . usenix.org . USENIX . Архивировано 9 января 2014 года . Проверено 10 января 2014 .CS1 maint: использует параметр авторов ( ссылка )
  53. ^ Патрик Катч; Брайан Джонсон; Грег Роуз (сентябрь 2011 г.). «Введение в гибкое разделение портов Intel с использованием технологии SR-IOV» (PDF) . Intel . Архивировано 7 августа 2015 года (PDF) . Проверено 24 сентября 2015 года .
  54. ^ «Гибкая облачная структура НАСА: перенос кластерных приложений в облако» (PDF) . Intel . Архивировано (PDF) из оригинала 22 декабря 2012 года . Проверено 8 января 2014 .
  55. ^ «Расширенные сети в облаке AWS» . Масштабируемая логика. 2013-12-31. Архивировано 9 января 2014 года . Проверено 8 января 2014 .
  56. ^ «Расширенные сети в облаке AWS - Часть 2» . Масштабируемая логика. 2013-12-31. Архивировано 10 января 2014 года . Проверено 8 января 2014 .

Внешние ссылки [ править ]

  • Все, что вам нужно знать о технологии виртуализации Intel
  • Спецкурс по Intel EM64T и VT Extensions в Университете Сан-Франциско (2007 г.)
  • Двухдневный курс с открытым исходным кодом и открытым доступом по написанию VT-x VMM