Виртуальная машина

Выполнение программы |
---|
Общие концепции |
Типы кода |
Стратегии компиляции |
Примечательный время забега |
|
Примечательные компиляторы и инструменты |
|
В вычислениях виртуальной машиной ( VM ) является виртуализацией или эмуляцией системы компьютерной . Виртуальные машины основаны на компьютерных архитектурах и предоставляют функциональность физического компьютера. Их реализации могут включать специализированное оборудование, программное обеспечение или комбинацию двух. Виртуальные машины различаются и организованы по их функции, показанные здесь:
- Системные виртуальные машины (также называемые VMS Full Virtuization ) обеспечивают замену настоящей машины. Они предоставляют функциональность, необходимые для выполнения всего операционных систем . Гипервизор для обмена и управления аппаратным обеспечением, позволяя для нескольких сред, которые изолированы друг от друга , использует нативное выполнение но существуют на одной физической машине. Современные гипервизоры используют виртуализацию с помощью оборудования с хоста виртуализацией, специфичными для виртуализации функции аппаратного обеспечения на процессорах оказывают помощь гипервизорам.
- Виртуальные машины процесса предназначены для выполнения компьютерных программ в независимой платформе среды.
Некоторые эмуляторы виртуальных машин, такие как эмуляторы консоли QEMU и видеоигр , предназначены для эмуляции (или «практически подражания») различных системных архитектуры, что позволяет выполнять программные приложения и операционные системы, написанные для другого процессора или архитектуры. Виртуализация уровня ОС позволяет разделить ресурсы компьютера через ядро . Термины не являются повсеместно взаимозаменяемыми.
Определения
[ редактировать ]Системные виртуальные машины
[ редактировать ]«Виртуальная машина» была первоначально определена Папеком и Голдбергом как «эффективное, изолированное дубликат реальной компьютерной машины». [ 1 ] Текущее использование включает в себя виртуальные машины, которые не имеют прямой переписки с каким -либо реальным оборудованием. [ 2 ] Физическое, «реальное» оборудование, управляемое виртуальной машиной, обычно называют «хостом», а виртуальная машина, имитируемая на этой машине, обычно называется «гостем». Хозяин может подражать нескольким гостям, каждый из которых может эмулировать различные операционные системы и аппаратные платформы.
Желание запустить несколько операционных систем было первоначальным мотивом для виртуальных машин, чтобы разрешить разделение времени среди нескольких операционных систем с одним заданием. В некоторых отношениях системная виртуальная машина может считаться обобщением концепции виртуальной памяти , которая исторически предшествовала ей. IBM CP/CMS , первые системы, позволяющие полной виртуализации , реализованный обмен времени , предоставляя каждому пользователю однопользовательскую операционную систему, систему Constramational Monitor (CMS). В отличие от виртуальной памяти, системная виртуальная машина под названием пользователя писать привилегированные инструкции в своем коде. Этот подход имел определенные преимущества, такие как добавление устройств ввода/вывода, не разрешенных стандартной системой. [ 2 ]
Поскольку технология развивает виртуальную память для целей виртуализации, новые системы памяти могут применяться для управления обменом памяти между несколькими виртуальными машинами в одной операционной системе компьютера. Возможно, можно поделиться страницами памяти , которые имеют идентичное содержание между несколькими виртуальными машинами, которые работают на одной физической машине, что может привести к сопоставлению их на одну и ту же физическую страницу с помощью метода, называемой слиянием ядра на той же странице (KSM). Это особенно полезно для страниц только для чтения, таких как те, которые удерживают сегменты кода, что имеет место для нескольких виртуальных машин, работающих с тем же или аналогичным программным обеспечением, библиотеками программного обеспечения, веб-серверов, компонентов промежуточного программного обеспечения и т. Д. Чтобы соответствовать оборудованию хоста, тем самым позволяя запускать различные операционные системы на одном и том же компьютере (например, Windows , Linux или предыдущие версии операционной системы) для поддержки будущего программного обеспечения. [ 3 ]
Использование виртуальных машин для поддержки отдельных гостевых операционных систем популярно в отношении встроенных систем . Типичным использованием было бы запуск операционной системы в реальном времени одновременно с предпочтительной сложной операционной системой, такой как Linux или Windows. Другое использование было бы для нового и недоказанного программного обеспечения, все еще находящегося на стадии разработки, поэтому оно работает в песочнице . Виртуальные машины имеют другие преимущества для разработки операционной системы и могут включать улучшенный доступ отладки и более быстрые перезагрузки. [ 4 ]
Многочисленные виртуальные машины, работающие с собственной гостевой операционной системой, часто заинтересованы для консолидации сервера. [ 5 ]
Обрабатывать виртуальные машины
[ редактировать ]Процесс виртуальная машина, иногда называемая виртуальной машиной приложения , или среда управляемой среды выполнения (MRE), работает как обычное приложение внутри хост -ОС и поддерживает один процесс. Он создается, когда этот процесс запускается и разрушается, когда он выходит. Его цель состоит в том, чтобы предоставить платформу -зависимую среду программирования, которая устраняет детали базового аппаратного обеспечения или операционной системы и позволяет программе выполнять одинаково на любой платформе. [ Цитация необходима ]
Процесс виртуальной машины обеспечивает абстракцию высокого уровня-язык высокоуровневого языка программирования (по сравнению с низкоуровневой абстракцией ISA системной виртуальной машины). Процесс -виртуальные машины реализованы с использованием интерпретатора ; Производительность, сопоставимая с составленными языками программирования, может быть достигнута с использованием простого компиляции . [ Цитация необходима ]
Этот тип виртуальной машины стал популярным среди языка программирования Java , который реализован с использованием виртуальной машины Java . Другие примеры включают виртуальную машину попугая и фреймворк .NET , которая работает на виртуальной машине, называемой обычным языком . Все они могут служить слоем абстракции для любого компьютерного языка. [ Цитация необходима ]
Особый случай процессоров виртуальных машин - это системы, которые абстрактными над механизмами связи (потенциально гетерогенного) компьютерного кластера . Такая виртуальная машина состоит не из одного процесса, а один процесс на физическую машину в кластере. Они предназначены для облегчения задачи программирования параллельных приложений, позволяя программисту сосредоточиться на алгоритмах, а не на механизмах связи, предоставляемых Interconnect и OS. Они не скрывают тот факт, что общение происходит, и поэтому не пытаются представить кластер как отдельную машину. [ Цитация необходима ]
В отличие от других виртуальных машин процесса, эти системы не предоставляют конкретный язык программирования, но встроены на существующий язык; Как правило, такая система предоставляет привязки для нескольких языков (например, C и Fortran ). [ Цитация необходима ] Примерами являются параллельная виртуальная машина (PVM) и передача интерфейса сообщений (MPI).
История
[ редактировать ]В этом разделе нужны дополнительные цитаты для проверки . ( Июль 2015 г. ) |
Как виртуальные машины системы, так и виртуальные машины процесса датируются 1960 -х и остаются областями активной разработки.
Виртуальные машины системы выросли из-за совместного использования времени , как заметно реализовано в совместимой системе совместимости времени (CTSS). использовать компьютер Совместное использование времени позволило нескольким пользователям одновременно : каждая программа, по-видимому, имела полный доступ к машине, но в то время была выполнена только одна программа, при этом система переключения системы между программами во временных срезах, экономия и восстановление состояния каждый раз. Это превратилось в виртуальные машины, в частности, через системы исследований IBM: M44/44X , которые использовали частичную виртуализацию , а CP-40 и Simmon , которые использовали полную виртуализацию и были ранними примерами гипервизоров . Первой широко доступной архитектурой виртуальной машины была CP-67 /CMS ( см. В истории CP /CMS подробности ). Важным различием было между использованием нескольких виртуальных машин в одной системе хоста для совместного использования времени, как в M44/44X и CP-40, и использование одной виртуальной машины в хост-системе для прототипирования, как в Simmon. Эмуляторы , с аппаратной эмуляцией более ранних систем для совместимости, датируются Система IBM/360 в 1963 году, [ 6 ] [ 7 ] в то время как эмуляция программного обеспечения (тогда называемое «моделирование») предшествует этому.
Виртуальные машины процесса изначально возникали в качестве абстрактных платформ для промежуточного языка, используемого в качестве промежуточного представления программы компилятором ; Ранние примеры датируются примерно 1964 годом с Meta II системой написания компилятора , использующей ее как для описания синтаксиса, так и для генерации целевого кода. Примечательным примером 1966 года был Machine O-Code , виртуальная машина, которая выполняет O-код (объектный код), излучаемый передним концом компилятора BCPL . Эта абстракция позволила компилятору легко перенести в новую архитектуру, внедрив новый задний код , который взял существующий O-код, и скомпилировал его в машинный код для базовой физической машины. Язык Эйлера использовал аналогичный дизайн с промежуточным языком с именем P (портативным). [ 8 ] Это было популяризировано примерно в 1970 году Паскалем , особенно в системе Паскаль-П (1973) и компилятора Pascal-S (1975), в которой он был назван P-кодом и полученной машиной в качестве машины P-кода . Это было влиятельным, и виртуальные машины в этом смысле часто обычно называют машинами P-кода. В дополнение к промежуточному языку, Pascal P-Code также был выполнен непосредственно интерпретатором, реализующим виртуальную машину, особенно в UCSD Pascal (1978); Это повлияло на более поздние переводчики, в частности, виртуальная машина Java (JVM). Другим ранним примером был Snobol4 (1967), который был написан на языке реализации Snobol (SIL), языке сборки для виртуальной машины, которая затем была нацелена на физические машины путем переноса их родного ассемблера через макросборник . [ 9 ] Однако с тех пор макросы выпали из пользы, поэтому этот подход был менее влиятельным. Процесс виртуальные машины были популярным подходом к реализации раннего программного обеспечения для микрокомпьютеров, включая крошечные базовые и приключенческие игры, от одноразовых реализаций, таких как Pyramid 2000, до общего движения, такого как Infocom от Z-Machine , который, как утверждает Грэм Нельсон , «возможно», возможно Самая портативная виртуальная машина, когда -либо созданная ». [ 10 ]
Значительные достижения произошли в реализации SmallTalk -80, [ 11 ] Особенно реализация Deutsch / Skiffman [ 12 ] который продвигал подход Just In Time (JIT) вперед в качестве подхода к реализации, который использует виртуальную машину процесса. [ 13 ] Позже известными знаменитыми виртуальными машинами были VisualWorks , машина скрипа виртуальная [ 14 ] и Strongtalk . [ 15 ] Связанным языком, который создал много инноваций виртуальных машин, был язык самопрограммирования , [ 16 ] какая адаптивная оптимизация [ 17 ] и коллекция мусора поколений . Эти методы оказались коммерчески успешными в 1999 году в виртуальной машине Java Hotspot . [ 18 ] Другие инновации включают в себя виртуальную машину на основе регистра, чтобы лучше соответствовать базовому оборудованию, а не виртуальной машине на основе стека, которая ближе к языку программирования; В 1995 году это было впервые заправлено Virtual Machine для подвешенного т языка . Д.
Методы виртуализации
[ редактировать ]
Полная виртуализация
[ редактировать ]В полной виртуализации виртуальная машина имитирует достаточно аппаратного обеспечения, чтобы позволить неизменную «гостевую» ОС (одну, предназначенную для того же набора инструкций запускать ). Этот подход был первым в 1966 году с IBM CP-40 и CP-67 , предшественниками семейства виртуальных машин .
Примеры за пределами поля мэйнфрейма включают параллели рабочей станции , параллели рабочего стола для Mac , Virtualbox , Virtual Iron , Oracle VM , Virtual PC , виртуальный сервер , Hyper-V , VMware Fusion , VMware Workstation , VMware Server (отключен, ранее называемый GSX Server), VMWare Esxi , Qemu , Adeos , Mac-On-Linux, Win4BSD, Win4lin Pro и Egenera Vblade.
Аппаратная виртуализация
[ редактировать ]В виртуализации с помощью аппаратного обеспечения оборудование обеспечивает архитектурную поддержку, которая облегчает создание монитора виртуальной машины и позволяет приглашенным в изоляции. [ 19 ] Аппаратная виртуализация была впервые введена в системе IBM/370 в 1972 году для использования с VM/370 , первой операционной системой виртуальной машины, предлагаемой IBM в качестве официального продукта. [ 20 ]
В 2005 и 2006 годах Intel и AMD предоставили дополнительное оборудование для поддержки виртуализации. Sun Microsystems (теперь Oracle Corporation ) добавили аналогичные функции в своих процессорах UltraSparc T-серии в 2005 году. Примеры платформ виртуализации, адаптированные к такому аппаратному обеспечению, включают KVM , WMware Workstation , VMware , Hyper-V , виртуальный компьютер Windows , Xen , Parallels Desktop для для Mac , Oracle VM Server для SPARC , VirtualBox и Parallels Workstation .
В 2006 году была обнаружена поддержка оборудования 32- и 64-битных аппаратных обеспечений 32 и 64-битной x86, которая редко предлагает преимущества производительности по сравнению с виртуализацией программного обеспечения. [ 21 ]
Виртуализация уровня ОС
[ редактировать ]В виртуализации уровня ОС физический сервер виртуализируется на уровне операционной системы, что позволяет работать несколько изолированных и безопасных виртуальных серверов на одном физическом сервере. Среда операционной системы «гостя» совместно использует операционную систему, что и хост -система. Таким образом, то же ядро операционной системы также используется для реализации «гостевых» сред, а приложения, работающие в данной «госте», рассматривают его как автономную систему. Реализация Pioneer была тюрьмой FreeBSD ; Другие примеры включают в себя Docker , контейнеры Solaris , OpenVZ , Linux-Vserver , LXC AIX , разделы рабочей нагрузки , контейнеры Virtuozzo Parallels и виртуальные учетные записи Icore .
Снимки
[ редактировать ]Снимок - это состояние виртуальной машины, и, как правило, его устройства хранения, в тот точный момент времени. Снимок позволяет восстановить снимки виртуальной машины во время восстановления снимка позже, эффективно отменив любые изменения, которые произошли впоследствии. Эта возможность полезна в качестве метода резервного копирования , например, перед выполнением рискованной работы. [ Цитация необходима ]
Виртуальные машины часто используют виртуальные диски для их хранения; В очень простом примере, 10- гигабайтный жесткий дисковый диск моделируется с помощью плоского файла с 10 гигабайтом . Любые запросы виртуальной машины на местоположение на его физическом диске прозрачно переведены в операцию в соответствующем файле. Однако, как только такой уровень перевода присутствует, можно перехватить операции и отправлять их в разные файлы, в зависимости от различных критериев. Каждый раз, когда делается снимок, создается новый файл и используется в качестве наложения для своих предшественников. Новые данные записываются в самое верхнее наложение; Чтение существующих данных, однако, требует сканирования иерархии наложений, что приводит к получению доступа к самой последней версии. Таким образом, вся стопка снимков - практически один когерентный диск; В этом смысле создание снимков работает аналогично методике инкрементного резервного копирования . [ Цитация необходима ]
Другие компоненты виртуальной машины также могут быть включены в снимки, такие как содержимое его памяти случайного доступа (ОЗУ), настройки BIOS или настройки конфигурации. « Сохранить состояние Функция » в эмуляторах консоли видеоигр является примером таких снимков. [ Цитация необходима ]
Восстановление снимка состоит из отбрасывания или игнорирования всех слоев наложения, которые добавляются после этого снимка, и направления всех новых изменений в новое наложение. [ Цитация необходима ]
Миграция
[ редактировать ]Снимки, описанные выше, могут быть перемещены в другую хост -машину с собственным гипервизором; Когда виртуальная машина временно остановлена, снимка, перемещена, а затем возобновится на новом хосте, это известно как миграция. Если более старые снимки хранятся в синхронизации регулярно, эта операция может быть довольно быстрой, и позволяет виртуальной машине предоставлять непрерывную услугу, в то время как его предыдущий физический хост, например, снят для физического обслуживания. [ Цитация необходима ]
Аварийное переключение
[ редактировать ]Подобно механизму миграции, описанном выше, отказоустойчивость позволяет виртуальной машине продолжать операции, если хост выходит из строя. Как правило, это происходит, если миграция перестала работать. Однако в этом случае виртуальная машина продолжает работу из последнего известного когерентного состояния, а не текущего состояния, основываясь на любых материалах, с которым был последний сервер резервного копирования. [ Цитация необходима ]
Вложенная виртуализация
[ редактировать ]Вложенная виртуализация относится к способности запуска виртуальной машины в другой, поскольку эта общая концепция расширяется до произвольной глубины. Другими словами, вложенная виртуализация относится к запуску одного или нескольких гипервизоров внутри другого гипервизора. Характер вложенной виртуальной машины гостя не должен быть однородной с виртуальной машиной хоста; Например, виртуализация приложений может быть развернута в виртуальной машине, созданной с помощью аппаратной виртуализации . [ 22 ]
Вложенная виртуализация становится более необходимой, поскольку широко распространенные операционные системы получают встроенные функциональность гипервизора, которая в виртуализированной среде может использоваться только в том случае, если окружающий гипервизор поддерживает вложенную виртуализацию; Например, Windows 7 способен запускать приложения Windows XP внутри встроенной виртуальной машины. Кроме того, перемещение уже существующих виртуализированных сред в облако, следуя инфраструктуре в качестве подхода Сервиса (IAAS), намного сложнее, если платформа IAAS назначения не поддерживает вложенную виртуализацию. [ 23 ] [ 24 ]
То, как вложенная виртуализация может быть реализована на конкретной компьютерной архитектуре, зависит от поддерживаемых возможностей виртуализации аппаратного обеспечения . Если конкретная архитектура не обеспечивает аппаратную поддержку, необходимую для вложенной виртуализации, для ее включения используются различные методы программного обеспечения. [ 23 ] Со временем больше архитектуры получают необходимую аппаратную поддержку; Например, с тех пор, как микроархитектура Haswell (объявлена в 2013 году), Intel начала включать в себя тени VMC как технологию, которая ускоряет вложенную виртуализацию. [ 25 ]
Смотрите также
[ редактировать ]- Amazon Machine Image
- Виртуализация настольных компьютеров
- Контейнеры Linux
- Набор развития нативного развития
- Паравиртуализация
- Хранение гипервизор
- Универсальная машина Тьюринга
- Виртуальное прибор
- Виртуальное резервное устройство
- Виртуальный диск изображение
- Виртуальная машина (VDM)
- Виртуальная машина побега
Ссылки
[ редактировать ]- ^ Попа, Джеральд Дж .; Голдберг, Роберт П. (1974). «Формальные требования к виртуализируемым архитектурам третьего поколения» (PDF) . Коммуникации ACM . 17 (7): 412–421. doi : 10.1145/361011.361073 . S2CID 12680060 .
- ^ Jump up to: а беременный Смит, Джеймс Э.; Наир, Рави (2005). «Архитектура виртуальных машин» . Компьютер 38 (5): 32–38, 395–396. doi : 10.1109/mc.2005.173 . S2CID 6578280 .
- ^ Олифант, Патрик. «Виртуальные машины» . VirtualComputing. Архивировано с оригинала 2016-07-29 . Получено 2015-09-23 .
Некоторые люди используют эту возможность для настройки отдельной виртуальной машины, работающей на Windows на Mac, предоставляя им доступ к полному диапазону приложений, доступных для обеих платформ.
- ^ «Супер быстрые перезагрузки сервера - еще одна причина, по которой виртуализация качает» . vmwarez.com . 2006-05-09. Архивировано из оригинала 2006-06-14 . Получено 2013-06-14 .
- ^ «Консолидация и сдерживание сервера с виртуальной инфраструктурой» (PDF) . VMware . 2007. Архивировал (PDF) из оригинала 2013-12-28 . Получено 2015-09-29 .
- ^ Пью, Эмерсон В. (1995). Построение IBM: Формирование отрасли и ее технологии . Грань п. 274 ISBN 978-0-262-16147-3 .
- ^ Пью, Эмерсон В .; и др. (1991). IBM 360 и ранние 370 систем . Грань С. 160–161 . ISBN 978-0-262-16123-7 .
- ^ Вирт, Никлаус Эмиль ; Вебер, Хельмут (1966). Euler: обобщение Algol и его формальное определение: Часть II, Связь Ассоциации для вычислительной техники . Тол. 9. Нью -Йорк: ACM . С. 89–99.
- ^ Griswold, Ralph E. Реализация макро -снобола4 . Сан -Франциско, Калифорния: WH Freeman and Company, 1972 (1972 (1972 ISBN 0-7167-0447-1 ), глава 1.
- ^ Нельсон, Грэм А. "О переводчиках" . Информировать веб -сайт . Архивировано из оригинала на 2009-12-03 . Получено 2009-11-07 .
- ^ Голдберг, Адель ; Робсон, Дэвид (1983). SmallTalk-80: язык и его реализация . Серия Аддисон-Уэсли в области компьютерных наук. Аддисон-Уэсли . ISBN 978-0-201-11371-6 .
- ^ Deutsch, L. Peter ; Шиффман, Аллан М. (1984). «Эффективная реализация системы SmallTalk-80» . Попль Солт -Лейк -Сити, штат Юта: ACM. doi : 10.1145/800017.800542 . ISBN 0-89791-125-3 .
- ^ Айкок, Джон (2003). «Краткая история как раз в свое время». ACM Comput. Выживший 35 (2): 97–113. doi : 10.1145/857076.857077 . S2CID 15345671 .
- ^ Ингаллс -младший, Даниэль "Дэн" Генри Холмс ; Кэлер, Тед; Малони, Джон; Уоллес, Скотт; Кей, Алан Кертис (1997). «Вернуться в будущее: история о скрипе, практическом малделке, написанной само по себе». OOPSLA '97: Материалы 12-й конференции ACM SIGPLAN по объектно-ориентированному программированию, системам, языкам и приложениям . Нью -Йорк, Нью -Йорк, США: ACM Press. С. 318–326. doi : 10.1145/263698.263754 . ISBN 0-89791-908-4 .
- ^ Брача, Гилад ; Грисволд, Дэвид (1993). «Стронгталк: TypeChecking SmallTalk в производственной среде». Материалы восьмой ежегодной конференции по объектно-ориентированным системам программирования, языкам и приложениям . Опсла '93. Нью -Йорк, Нью -Йорк, США: ACM. С. 215–230. doi : 10.1145/1658544.165893 . ISBN 978-0-89791-587-8 .
- ^ Унгар, Дэвид Майкл ; Смит, Рэндалл Б. (декабрь 1987 г.). «Самость: сила простоты». ACM Sigplan замечает . 22 (12): 227–242. doi : 10.1145/38807.38828 . ISSN 0362-1340 .
- ^ Hölzle, Urs ; Унгар, Дэвид Майкл (1994). «Оптимизация динамически распределенных вызовов с обратной связью типа времени» . PLDI . Орландо, Флорида, США: ACM. С. 326–336. doi : 10.1145/178243.178478 . ISBN 0-89791-662-х .
- ^ Палекский, Майкл; Вик, Кристофер; Щелчок, Клифф (2001). «Компилятор сервера Hotspot Java» . Материалы Симпозиума Java Virtual Machine Research and Technology по исследованию и технологий Java Virtual Machine . Тол. 1. Монтерей, Калифорния: Ассоциация Усеникс.
- ^ Улиг, Рич; Нейгер, Гил; Роджерс, Дион; Сантони, Эми Л.; Мартинс, Фернандо СМ; Андерсон, Эндрю В.; Беннетт, Стивен . Каги, Ален; Леунг, Феликс Х.; Смит, Ларри (май 2005 г.). «Интуильная технология виртуализации». Компьютер 38 (5): 48–56. doi : 10.1109/mc.2005.163 . S2CID 18514555 .
- ^ Рэндал, А. (2019). Идеально против реального: пересмотреть историю виртуальных машин и контейнеров.
- ^ Адамс, Кит; Agesen, Ole (2006-10-21). Сравнение программных и аппаратных методов для виртуализации X86 (PDF) . ASPLOS'06 21–25 октября 2006 г. Сан -Хосе, Калифорния, США. Архивировано (PDF) из оригинала 2010-08-20.
Удивительно, но мы обнаруживаем, что аппаратная поддержка первого поколения редко предлагает преимущества производительности по сравнению с существующими методами программного обеспечения. Мы приписываем эту ситуацию с высокими затратами на переход VMM/Guest и жесткой модели программирования, которая оставляет мало места для гибкости программного обеспечения для управления частотой или стоимостью этих переходов.
- ^ Orit Wasserman, Red Hat (2013). «Вложенная виртуализация: теневые черепахи» (PDF) . КВМ Форум . Получено 2021-05-07 .
- ^ Jump up to: а беременный Мули Бен-Йегуда; Майкл Д. Дэй; Зви Дубицкий; Майкл Фактор; Надав Хар'эль; Абель Гордон; Энтони Лигуори; Орит Вассерман; Бен-Ами Ястур (2010-09-23). «Проект черепах: проектирование и реализация вложенной виртуализации» (PDF) . Usenix.org . Получено 2014-12-16 .
- ^ Алекс Фишман; Майк Рапопорт; Евгений Будиловский; Изик Эйдус (2013-06-25). «HVX: виртуализация облака» (PDF) . rackcdn.com . Получено 2014-12-16 .
- ^ «Процессоры 4-го поколения Intel Core VPRO с тени VMCS Intel» (PDF) . Intel . 2013 . Получено 2014-12-16 .
Дальнейшее чтение
[ редактировать ]- Джеймс Э. Смит, Рави Наир, Виртуальные машины: универсальные платформы для систем и процессов , Морган Кауфманн, май 2005 г., ISBN 1-55860-910-5 , 656 страниц (охватывает виртуальные машины процесса и системы)
- Крейг, Иэн Д. Виртуальные машины . Springer , 2006, ISBN 1-85233-969-1 , 269 страниц (охватывает только виртуальные машины процесса)
Внешние ссылки
[ редактировать ]- Мендель Розенблум (2004-08-31). «Реинкарнация виртуальных машин» . Acm queue . Тол. 2, нет. 5
- Национальные лаборатории Sandia используют 1 миллион ядер Linux в качестве виртуальных машин
- Дизайн виртуальной машины Anferno от Phil Winterbottom и Rob Pike