Как работают виртуальные машины – принцип работы
Как мы и обещали, сегодня мы продолжим разговор на интересную тему виртуализации. Виртуализация – это одна из наиболее сложных и полезных технологий. Давайте разберемся в том, как работают виртуальные машины, и узнаем принцип работы виртуальных машин.
Виртуальная машина, которая используется пользователем, по своей сути создает специальное (особое) окружение для операционной системы и программного обеспечения, запускаемого в ней. Это особое окружение практически не чем не отличается от самого настоящего компьютера. Как и компьютер, виртуальное окружение состоит из виртуального жесткого диска, процессора, видеокарты, контроллеров устройств, оперативной памяти и тп. При этом виртуальная машина может одновременно с ПК взаимодействовать с реальными устройствами, например, такими как DVD-привод, USB-флэшка, веб-камера…
Операционная система, в которой включается виртуальная машина (окружение) принято называть – основной или “хостом”; а система, установленная на виртуальной машине именуется как гостевая ОС.
Виртуальные компоненты (процессор, оперативная память и другие устройств), при создании окружения, создает так называемый монитор виртуальной машины (Virtual Machine Monitor — VMM), также данный монитор еще называют гипервизором. Гипервизор является ключевым компонентом для абсолютно всех виртуальных сред, с помощью которых выполняется изоляция основной операционной системы (хоста) от гостевой. Кроме того, именно гипервизор отвечает за получение и разделение ресурсов компьютера между запущенными системами. Если говорить иначе, то именно от работы Virtual Machine Monitor полностью зависит правильная и стабильная работа гостевой ОС. При всем при этом, гостевая операционная система в большинстве случаев вообще не подозревает о существовании гипервизора, и думает, что она работает на обычном железе. Собственно говоря, этот “обман” являете основой технологии виртуализации (имеется ввиду ее домашнее использование).
Бывают такие ситуации, когда система сообщает виртуальной машине о нереальности ее окружения и дает возможность гостевой ОС напрямую взаимодействовать с VMM (гипервизором), в таком случае уже не стоит называть ее виртуализацией – это уже другая технология, называемая паравиртуализацией.
Поскольку технология виртуализации относится к достаточно сложным, одной из главных задач разработчиков, создающих решения для виртуализации является контроль исполнения кода гостевой операционной системы. Современные ОС устроены так, что не могут существовать без проблем в рамках одного компьютера, и если попробовать исполнять их код в таком виде как он есть, то такой эксперимент не приведет ни к чему хорошему. Вместо привычной и комфортной рабочей среды, пользователь получит постоянно зависающую, постоянно перезагружающуюся рабочую среду, или такую рабочую среду, в которой будет только “синий экран смети” и больше ничего. Чтобы пользователю не сталкиваться со всеми перечисленными выше проблемами, решения для виртуализации не позволяют гостевой ОС получить прямой доступ к управлению аппаратными ресурсами компьютера и получению данных о реальном состоянии системы.
Есть два способа, с помощью которых обманывают гостевую ОС: бинарная трансляция и поддержка аппаратной виртуализации. Редко, но все же, к этим способам еще причисляют и паравиртуализацию, но как мы уже писали выше, технология паравертуализации подразумевает под собой, что гостевая ОС знает о существовании гипервизора и умеет с ним взаимодействовать. По этой причине паравертуализация очень слабо относится к виртуальным машинам и о ней говорить мы не будем.
Надеемся хотя бы в общих чертах, но нашим читателям стало понятно, как работают виртуальные машины и на каком принципе основывается их работа.
Виртуальная машина. Принцип виртуализации.
Виртуальная машина. Принцип виртуализации.
Построение виртуальных ресурсов, их распределение и использование теперь используется практически в любой ОС. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов (мониторов) и использовать единую централизованную схему распределения ресурсов. Наиболее естественным и законченным проявлением концепции виртуальности является понятие виртуальной машины. По сути, любая операционная система, являясь средством распределения ресурсов и организуя по определенным правилам управление процессами, скрывает от пользователя и его приложений реальные аппаратные и иные ресурсы, заменяя их некоторой абстракцией. В результате пользователи видят и используют виртуальную машину как некое устройство, способное воспринимать их программы, написанные на определённом языке программирования, выполнять их и выдавать результаты. При таком языковом представлении пользователя совершенно не интересует реальная конфигурация вычислительной системы, способы эффективного использования её компонентов и подсистем. Он мыслит и работает с машиной в терминах используемого им языка и тех ресурсов, которые ему предоставляются в рамках виртуальной машины.
— единообразная по логике работы память (виртуальная) практически неограниченного объёма. Среднее время доступа соизмеримо со значением этого параметра оперативной памяти. Организация работы с информацией в такой памяти производится в терминах обработки данных – в терминах работы с сегментами данных на уровне выбранного пользователем языка программирования;
— произвольное количество процессоров (виртуальных), способных работать параллельно и взаимодействовать во время работы. Способы управления процессорами, в том числе синхронизация и информационные взаимодействия, реализованы и доступны пользователям на уровне используемого языка в терминах управления процессами;
— произвольное количество внешних устройств (виртуальных), способных работать с памятью виртуальной машины параллельно или последовательно, асинхронно или синхронно по отношению к работе того или иного виртуального процессора, которые инициируют работу этих устройств.
Степень приближения к «идеальной» виртуальной машине может быть большей или меньшей в каждом конкретном случае. Чем больше виртуальная машина, реализуемая средствами ОС на базе конкретной аппаратуры, приближена к «идеальной» по характеристикам машине и, следовательно, чем больше ее архитектурно-логические характеристики отличны от реально существующих, тем больше степень виртуальности у полученной пользователем машины. Одним из аспектов виртуализации является организация возможности выполнения в данной ОС приложений, которые разрабатывались для других ОС. Реализация этого принципа позволяет такой ОС иметь очень сильное преимущество перед аналогичными ОС, не имеющими такой возможности.
Принципы работы и практика использования виртуальных машин
1. Курсовая работа на тему:
«Принципы работы и практикаиспользования виртуальных машин»
Выполнил: студент
группы ПИ-23-13
Фролов Артем.
Актуальность курсовой работы
Определяется быстрым развитием
технологий виртуальных машин и
виртуализацией информационных систем.
Цель работы
Анализ архитектуры виртуальной машины и
освоение принципа ее работы.
Предмет исследования
Aрхитектура виртуальной машины и
принцип ее работы.
5. Задачи исследования:
1. Изучить назначение функций виртуальной2. Освоить технологии работы.
3. Провести сравнительный анализ.
4. Практическое применение виртуальной
машины.
6. Глава 1. Архитектура виртуальных машин
1.1 Общие сведения о виртуальных машинах1.2 Сравнительный анализ виртуальных машин
7. 1.1 Общие сведения о виртуальных машинах
На данный момент история развития ВМ исчисляется уже пятымдесятком лет. Первым проектом, в котором появилась концепция
виртуальных машин был проект IBM 7044Х-7044М.
Компания IBM признала важность виртуализации еще в 1960-х вместе с
развитием мэйнфрэймов IBM System/360 Model 40, затем IBM System/360
Model 67 и IBM System/370. Первая версия собственно VM, VM/370, была
выпущена в 1972 году для семейства компьютеров IBM System/370. VM/370
виртуализировала все интерфейсы оборудования через Virtual Machine
Monitor (VMM). Такую операционную систему называли супервизор. Когда
стало возможным запускать одну операционную систему на другой
операционной системе, появился термин гипервизор.
8. 1.1 Общие сведения о виртуальных машинах
Инженеры корпорации IBM изначально заложили в архитектуру своихпроцессоров потенциальную возможность виртуализации и создателям
операционной системы VM не пришлось преодолевать специфические
аппаратные проблемы. Но архитектура процессоров Intel х86 значительно
отличается от архитектуры процессоров IBM и не может быть
виртуализирована «простым» способом. Здесь по определению
предполагается, что ядру работающей на этой платформе операционной
системе будут доступны абсолютно все ресурсы процессора. Поэтому
отчуждение отдельно взятой операционной системы от процессора и
установка промежуточных виртуализирующих слоев теоретически
невозможна. Попытка запустить две операционные системы на одном
компьютере просто приведет к конфликту между ними.
Принцип работы MCS & PVS
В данной статье я попытаюсь максимально просто описать принципы работы двух основных методов развертывания виртуальных машин в инфраструктуре Citrix.
Принцип работы MCS
Citrix Machine Creation Services является одним из двух типов массового автоматизированного развертывания виртуальных машин и в сравнении с Provisioning Services (PVS) MCS является встроенным функционалом XenDesktop.
Нижеследующие шаги описывают процесс создания каталога виртуальных машин для их дальнейшего развертывания механизмом MCS.
Создание виртуальных машин в каталоге можно условно разделить на следующие этапы:
1. Будем исходить из того, что ваша виртуальная машина полностью проинсталлирована и готова к развёртыванию. Прежде всего необходимо сделать снимок виртуальной машины (Snapshot), если его не сделать вручную, то он будет сделан автоматически и ему будет присвоено имя состоящие из имени каталога и даты.
2. На базе основного диска и снепшота будет создана новая версия, так называемый Base Disk. Base Disk является основой для последующего создания виртуальных машин каталога.
3. Средствами гипервизора создается (клонируется) заданное при конфигурации количество виртуальных машин. При применении гипервизора vSphere используется технология Linked Clone.
Описание: Types of Clone: Full and Linked
Каждая созданная виртуальная машина состоит из двух дисков:
a. Difference (Delta) Disk – на этом диске содержится временная информация, используемая операционной системой. После каждой перезагрузки вся записанная информация удаляется. Difference Disk можно считать аналогом Write Cache Disk в PVS.
b. Identity Disk – на нем сохраняется информация, делающую систему уникальной, например SID, имя компьютера, пароль. Размер диска составляет всего 16 MB.
4. Для каждой машины создается учетная запись в Active Directory.4. Для каждой машины создается учетная запись в Active Directory.
5. После перезагрузки, созданные виртуальных машины получают IP-адрес от DHCP-сервера.
Каждая последующая актуализация системы требует повторения шагов от 1 до 3.
Full Clone
MCS Full Clone – создание полноценной копии виртуальной машины
В версии XenDesktop 7.11 появилась возможность выбора, использовать ли Full Clone или Linked Clone. Основное преимущество Full Clone, — это возможность создания резервной копии виртуальной машины, что в свою очередь упрощает процесс миграции виртуальных машин.
Использование технологии Full Clone имеет, к сожалению, и недостатки, а именно: значительно увеличивается время создания / обновления каталогов, требуется больше места на СХД и Full Clone применима только для настольных операционных систем (Windows 10).
Принцип работы PVS
PVS — это технология, которая обеспечивает одновременную загрузку операционной системы по сети с помощью стриминга на множество целевых систем (виртуальных или физических). Целевые компьютеры, в отличие от классического ПК, не имеют жесткого диска с установленной операционной системой и запускаются непосредственно из сети. Передачи нескольких сотен мегабайт уже достаточно для старта операционной системы и регистрации пользователя в ней. Например, окно регистрации в системе Windows 10 появляется после загрузки 250 MB.
Ключевым элементом инфраструктуры PVS является Provisioning Server. Сервер PVS не только отвечает за управление средой PVS, но и является центральной точкой потоковой передачи vDisk-ов. Все настройки конфигурации хранятся в базе данных MS SQL. По сравнению с MCS, PVS не является частью XenApp / XenDesktop.
Для достижения высокой доступности требуется как минимум два сервера PVS. Серверы PVS используют протокол IPC для связи друг с другом.
Следующие шаги описывают принцип работы PVS:
- PVS Streaming Service предоставляет файл (PXE-Bootstrap File: ARDBP32.BIN) для начальной загрузки. PXE-Bootstrap File содержит инструкции для запроса виртуального диска.
- На основании MAC-адреса проверяется, имеет ли целевая система запись в базе данных PVS.
- vDisk передается по сети целевой системе. Передача данных осуществляется по UDP протоколу.
Master Image — vDisk
Для создания vDisk-а необходимо на операционной системе (серверной или настольной) установить PVS Target Device. Задача PVS Target Device сконвертировать диск операционной системы в vhd-файл (с версии 7.7 у вас есть выбор между VHD и VHDX) и сохранить его в соответствующей папке (PVS Store). Для конвертации используется XenConvert Tool.
В папке PVS Store сохраняются файлы следующих типов:
- .vhdx (vhd) – диск операционной системы
- .lok – файл блокировки доступа, активен если vDisk используется
- .pvp – конфигурационный файл vDisk
- .avhd — (z.B. .1.avhdx) – файл с последними сохранёнными изменениями (Differencing Disk)
Методы загрузки
Существует три различных способа загрузки целевых систем в среде PVS: DHCP, PXE и BDM:
1. DHCP Метод
DHCP является наиболее широко используемым и пожалуй самым популярным методом. Клиент получает IP-адрес от DHCP-сервера, который включает в себя следующие параметры:- Option 66 – здесь указывается IP-адрес PVS сервера — Option 67 – имя файла загрузки (ARDBP32.bin)
2. PXE Метод
Клиент получает только IP-адрес с сервера DCHP, так как на DHCP-сервере не настроены опции 66 и 67. PVS сервер сам реагирует на запрос клиента и отвечает ему передавая параметры опций 66 / 67. Данный метод крайне редок и не всегда возможен, ввиду определённой зависимости от конфигурации сети.
3. BDM (Boot Device Manager)
В этом случае целевая система запускается непосредственно с физического загрузочного носителя (CD). Этот метод бывает единственно возможным для использования PVS, так как опции 66 / 67 уже используются другими системами (например, SCCM или Matrix42).
Пошаговое описание процесса загрузки
1. Получение IP адреса — целевое устройство получает IP-адрес от DHCP сервера. Вместе с IP-адресом передаются также адрес TFTP-сервера (Option 66) и название файла загрузки (Option 67).
2. Загрузка Bootstrap файла — загрузочный файл (ARDBP32.bin) скачивается с TFTP-сервера на целевое устройство.
3. Процесс входа в систему PVS — после того, как целевое устройство получило IP-адрес и скачало загрузочный файл, оно регистрируется на PVS-сервере, чтобы начать стриминг vDisk-а.
4. Single Read Mode – целевое устройство начинает отправлять запросы на PVS-сервер в так называемом режиме одиночного чтения и делать это до тех пор, пока операционная система не начнет загружать драйверы, и не загрузит BNISTACK-драйвер.
5. BNISTACK / MIO Read Mode – заключительная фаза загрузки системы. BNISTACK загружается в память и продолжает управлять коммуникацией между сервером и целевым устройством. BNISTACK использует параллельно несколько потоков для связи с сервером PVS. Multiple Input/Output — один канал используется для запроса и множество для получения ответа от сервера PVS.
PVS Store
Store – это место физического хранения для vDisk-ов. Данная папка может находиться как на любом из PVS-серверов, так и на общем хранилище (Shared Storage). Важно позаботиться о достаточном количестве места на диске и быстром доступе к нему (IOPS performance).
Использование совместного хранилища (Shared Storage) не требует дополнительных механизмов для синхронизации vDisks-ов.
Сервера PVS не имеют встроенных механизмов для репликации vDisk-ов между собой. Для этого чаще всего используется простой и удобный метод, — скрипт на основе команды robocopy. Использование распределенной файловой системы (DFS) также возможно.
Write Cache
В стандартном режиме (Standard Mode) vDisk доступен только для чтения (read only), и все данные, которые обычно записываются на системный диск виртуальной машины, переносятся в Write Cache. Существует несколько различных режимов настроек Write Cache.
Write Cache — это временная память, содержащая данные, созданные операционной системой во время работы, а также информация, которую следует сохранить после перезагрузки (например, журналы событий, сигнатуры вирусов, кэш App-V). Write Cache Disk также является типичным местом для хранения Pagefile-файла.
Write-Cache файл (vdiskdiff.vhdx) постоянно растет в течении работы системы и обнуляется только после перезагрузки. vdiskdiff фактически и является следующими опциями “Cache on Target Device Hard Drive” и „Cache in device RAM withoverflow on hard disk“
Текущая версия PVS предлагает шесть различных опций для хранения Write-Cache. У каждого варианта есть свои плюсы и минусы. Рекомендуется использовать „Cache in device RAM with overflow on hard disk“
Возможные варианты размещения Write Cache
Кэш на жестком диске целевого устройства (Cache on device hard disk)
В данном случае Write Cache расположен на жестком диски целевого устройства. До недавнего времени данный вариант был самым предпочтительным решением.
Постоянный кэш на жестком диске целевого устройства и сервера (Cache on device hard disk persisted / Cache on server, persistent)
Как следует из названия, речь идет о постоянном, не сбрасываемом после перезагрузки файла кэша.
Write Cache в рабочей памяти целевого устройства (Cache in device RAM)
Если вы хотите получить максимально возможную производительность, то этот вариант будет наиболее предпочтителен, но крайне дорогостоящим.
Write Cache на жестком диске PVS сервера (Cache on server)
Данный способ наиболее неэффективный из всех перечисленных. Write Cache расположен на PVS-сервере, доступ к которому осуществляется по сети.
Write Cache в рабочей памяти целевого устройства с переполнением на жесткий диск (Cache in device RAM with overflow on hard disk)
Данная опция представляет собой идеальный баланс между производительностью и стоимостью. Опция имеет два уровня. Вначале все изменения хранятся в памяти виртуальной машины. Размер памяти, вернее его максимальное значение для каждого виртуального диска настраивается в конфигурации. Не забывайте о том, что выделенная память будет взята из общей памяти виртуальной машины. Когда выделенная память будет заполнена, наименее востребованные данные, будут перемещены из области ОЗУ в файл (vdiskdif.vhdx) на жестокий диск виртуальной машины. В настоящее время данная опция является рекомендованной производителем.
Режим доступа к vDisk
Private Mode — в этом случае vDisk находится в состоянии записи и соединен только с одной виртуальной машиной.
Standard Mode — vDisk доступен только для чтения и используется многими виртуальными машинами одновременно.
Иными словами, в Private Mode диск всегда имеет отношение 1:1, в стандартном режиме всегда соотношение 1:n.
Обновление vDisk-а
Как вы можете видеть на приведенных ниже рисунках, целевое устройство может быть загружено с разных версий диска. Differencing Disk (.avhdx) – это всегда зависимый от предыдущей версии снимок файловой системы, по функциональности сравнимый со снапшотом. Все .avhdx-файлы последовательно нумеруются. Differencing Disk используется для установки программного обеспечения, обновлений или исправлений.
Существует три различных метода доступа: обслуживание (Maintenance), тестирование и рабочий (Produktion)
Maintenance — является доступной для записи версией, которая может использоваться только одной виртуальной машиной, чаще всего специально созданной для этих целей.
Test — это версия, предназначенная только для чтения, используемая для тестирования.
Produktion – рабочая версия, из которой загружены все виртуальные машины каталога
Дополнительная полезная информация
Подробные диаграммы и описание процесса загрузки (постер): Citrix Provisioning Services Boot Process
Best Practices for Configuring Provisioning Services Server on a Network (CTX117374) — Прочитать
Guidance on PVS Ports and Threads — Прочитать
Understanding Write Cache in Provisioning Services Server (CTX119469) — Прочитать
Size Matters: PVS RAM Cache Overflow Sizing — Прочитать
Достаточно много полезной информации вы найдете в этом видео — Citrix Synergy 2016 — SYN219 — Getting up close and personal with MCS and PVS
Всегда рад Вашим отзывам, комментариям и конструктивной критике
[Подробное объяснение принципа работы виртуальной машины Java]
Представьте принцип работы виртуальной машины Java на макроуровне. Исходя из того, как мы написали исходный файл Java (файл .java), как выполнять его шаг за шагом, как показано на рисунке ниже, сначала исходный файл Java компилируется интерфейсным компилятором (javac или ECJ). Файл Java в файл байт-кода Java Затем JRE загружает файл байт-кода Java, загружает его в область памяти, выделенную системой для JVM, и затем выполняет механизм для интерпретации или компиляции файла класса, а затем байт-код преобразуется в машинный код мгновенным компилятором. Он в основном представляет две части загрузчика классов и область данных времени выполнения на следующем рисунке.
Класс загрузки
Загрузка класса относится к чтению двоичных данных из файла байт-кода класса (.class) в память, помещению их в область метода области данных времени выполнения, а затем созданию объекта java.lang.Class в куче, инкапсуляции класса в Структура данных в области метода. Конечным продуктом загрузки классов является объект класса, расположенный в куче. Объект класса инкапсулирует структуру данных класса в области метода и предоставляет интерфейс для программы JAVA для доступа к структуре данных в области метода. Ниже приведена иерархическая схема загрузчиков классов.
- Загрузчик классов загрузки (BootstrapClassLoader). Он создается во время работы JVM и отвечает за загрузку файлов классов, хранящихся в каталоге jre \ lib в каталоге установки JDK, или по пути, заданному параметром -Xbootclasspath, и может быть распознан виртуальной машиной. (Например, rt.jar, все классы, начинающиеся с java. * Загружаются Bootstrap ClassLoader). На класс запуска нельзя напрямую ссылаться из программы JAVA.
- Загрузчик классов расширений (Extension ClassLoader): этот загрузчик классов отвечает за загрузку класса \ jre \ lib \ ext в каталог установки JDK или всех библиотек по пути, указанному в системной переменной java.ext.dirs, разработчики также могут Используйте загрузчик классов расширений напрямую.
- Загрузчик классов приложения (AppClassLoader): отвечает за загрузку класса, указанного пользователем classpath (Classpath), разработчики могут напрямую использовать этот загрузчик классов, если приложение не определило свой собственный загрузчик классов, загрузчик классов Загрузчик классов по умолчанию.
- Пользовательский загрузчик классов (User ClassLoader): собственный загрузчик классов JVM загружает стандартные файлы классов Java из локальной файловой системы, и пользовательский загрузчик классов может автоматически проверять число перед выполнением ненадежного кода. Подпишите, динамически создайте настраиваемый класс сборки, который отвечает конкретным потребностям пользователей, и получите класс Java из определенного места (база данных, сеть)
Подсистема загрузчика классов:
В виртуальной машине Java есть два типа загрузчиков классов: первичные загрузчики классов и объекты загрузчиков классов. Исходный загрузчик классов является частью реализации виртуальной машины Java, а объект загрузчика классов является частью работающей программы. Классы, загруженные разными загрузчиками классов, делятся на разные пространства имен. Загрузчик классов вызывает много других частей виртуальной машины Java и множество классов в пакете java.lang. Например, объект загрузки класса является экземпляром подкласса java.lang.ClassLoader. Методы в классе ClassLoader могут обращаться к механизму загрузки класса в виртуальной машине, каждый класс, загружаемый виртуальной машиной Java, представляется как java.lang.Class. Экземпляр класса. Как и другие объекты, и объект загрузчика классов, и объект Class сохраняются в куче, а загруженная информация сохраняется в области методов. 1. Загрузка, связывание и инициализация Подсистема загрузки классов отвечает не только за поиск и загрузку файлов классов, он сделал много других вещей в соответствии со следующими строгими шагами: (Более подробную информацию см. В главе 7 «Жизненный цикл класса») 1), загрузить: найти и импортировать двоичную информацию указанного типа (класс и интерфейс) 2). Подключить: проверить, подготовить и разобрать ① Проверка: убедитесь в правильности типа импорта ② Подготовка: выделить память для типа и инициализировать значение по умолчанию ③ Синтаксический анализ: разрешите ссылку на символ для непосредственного питья. 3) Инициализация: вызов Java-кода для инициализации переменных класса соответствующими значениями. 2. Изначальный класс Loader Каждая виртуальная машина Java должна реализовывать примитивный загрузчик классов, который может загружать классы, которые соответствуют формату файлов классов и являются доверенными. Однако спецификация виртуальной машины Java не определяет способ загрузки класса, который определяется разработчиком виртуальной машины Java. Для типа с данным именем типа исходный загрузчик должен найти файл с именем типа плюс «.class» и загрузить его в виртуальную машину. 3. Класс загрузчика объектов Хотя объект загрузчика классов является частью Java-программы, три метода в классе ClassLoader могут обращаться к подсистеме загрузки классов в виртуальной машине Java. 1) Защищенный конечный класс defineClass (...): Используйте этот метод для доступа к байтовому массиву для определения нового типа. 2). Защищенный класс findSystemClass (String name): загрузить указанный класс, если он уже загружен, вернуть напрямую. 3) Защищенный конечный void resolClass (Class c): метод defineClass () просто загружает класс, и этот метод отвечает за последующее динамическое соединение и инициализацию. Для получения конкретной информации см. Главу 8 «Модель связывания». 4. Пространство имен Когда несколько загрузчиков классов загружают один и тот же класс, чтобы обеспечить уникальность их имен, идентификатор загрузчика класса, который загружает класс, должен быть добавлен перед именем класса. Для получения конкретной информации см. Главу 8 «Модель связывания».
Область данных времени выполнения
Первый шаг загрузки байт-кода с последующей аутентификацией, подготовкой, анализом и инициализацией
Область данных времени выполнения в основном делится на область методов, кучу Java, стек виртуальных машин, стек локальных методов и счетчик программ. Область методов, как и куча Java, представляет собой область памяти, совместно используемую различными потоками, а стек виртуальной машины, стек локальных методов и счетчик программ являются частными областями памяти потоков.
- Куча Java: Куча Java — это самая большая часть памяти, управляемая виртуальной машиной Java, которая используется всеми потоками процесса и создается при запуске виртуальной машины. Единственная цель этой области — хранить экземпляры объектов. Здесь почти всем экземплярам объектов выделяется память. С развитием JIT-компилятора и технологии escape-ветви постепенно развиваются, методы оптимизации, такие как распределение в стеке и скалярная замена, делают объекты в куче. Выделение памяти становится менее «абсолютным». Куча Java — это основная область, управляемая сборщиком мусора. Поскольку сборщики тока в основном используют алгоритмы сбора поколений, куча Java также может быть разделена на старое поколение и новое поколение (Eden, From Survivor, To Survivor). Согласно спецификации виртуальной машины Java, куча Java может находиться в физически несмежном пространстве памяти, если она логически непрерывна. Размер этой области может быть расширен параметрами -Xmx и -Xms.Если в куче нет памяти для завершения выделения экземпляра, и куча не может быть расширена, будет выдано исключение OutOfMemoryError.
- Область метода: используется для хранения данных, таких как информация о классе, константы, статические переменные и код, скомпилированный компилятором реального времени, загруженным виртуальной машиной Java. В отличие от кучи Java, спецификация виртуальной машины Java очень слабо ограничивает область метода, и вы можете отказаться от сборки мусора. Однако это не значит, что данные попадают в область метода для «постоянного» существования. Цель восстановления памяти в этой области — в основном для восстановления постоянного пула и выгрузки типов. Если в этой области недостаточно памяти, также будет выдано исключение OutOfMemoryError.
- Постоянный пул: этот термин может быть общим для всех, он является частью области метода. В дополнение к версии класса, полям, методам, интерфейсам и другой информации описания файл класса также имеет постоянный пул, который используется для хранения различных литералов и ссылок на символы, сгенерированных во время компиляции. Во время работы виртуальной машины Java новые константы также могут быть помещены в пул констант (например, метод intern () класса String).
- Стек виртуальной машины: поток является частным и имеет тот же жизненный цикл, что и поток. Стек виртуальной машины описывает модель памяти выполнения метода Java: каждый метод создает кадр стека для хранения таблицы локальных переменных, стека операндов, динамического соединения, выхода метода и другой информации во время выполнения. Процесс от вызова до завершения каждого метода соответствует процессу укладки кадра стека из стека виртуальной машины в стек. Если запрашиваемая глубина станции превышает глубину, разрешенную виртуальной машиной, будет выдано исключение StackOverflowError. Если стек виртуальной машины не может динамически применить достаточное количество памяти во время динамического расширения, будет выдано исключение OutOfMemoryError.
- Стек локальных методов: аналогично стеку виртуальных машин, но стек виртуальных машин выполняет службы метода Java (байт-код) для виртуальной машины, а стек локальных методов обслуживает собственные методы, используемые виртуальной машиной. Эта область также сообщит об исключениях StackOverflowError и OutOfMemoryError.
- Счетчик программы: Небольшое пространство памяти, которое можно рассматривать как индикатор номера строки байт-кода, выполняемого текущим потоком. Интерпретатор байт-кода работает, изменяя значение этого счетчика, чтобы выбрать следующую команду байт-кода, которая должна быть выполнена.Для завершения выполнения базовых функций, таких как разветвление, зацикливание, переход, обработка исключений и восстановление потока, требуется этот счетчик. Если поток выполняет метод Java, счетчик записывает адрес выполняемой инструкции байт-кода виртуальной машины. Если выполняется собственный метод, значение счетчика является пустым. Эта область памяти является единственной, в которой не указана ошибка OutOfMemoryError в Спецификации виртуальной машины Java.
Принцип Sun Generation Collecting (сборка мусора) от Sun состоит в следующем: объект делится на молодое поколение (Young), старое поколение (Tenured), постоянное поколение (Perm), использующее разные объекты для разных жизненных циклов.алгоритм
Что такое аппаратная виртуализация (Hardware Virtualization) и как она работает
#Virtualization #Виртуализация
Аппаратная виртуализация (Hardware Virtualization) – создание виртуальных машин и сред на основе процессора и его свойств.
Такой подход позволяет создавать множество изолированных виртуальных систем на одном оборудовании.
Принцип работы
Использование аппаратной виртуализации (HV) возможно только на процессорах, которые поддерживают набор инструкций Virtual Machine Extension (VMX). Они предоставляют прямой доступ из ОС виртуальных машин к ресурсам центрального процессора (-ов). Такие операционные системы еще называют «гостевыми», так как они запущены в виртуальной среде.
Для создания виртуальных машин используется специализированное ПО под названием гипервизор (Hypervisor). Оно как раз разделяет гостевые ОС на независимые друг от друга объекты, которые при этом совместно используют общие ресурсы сервера.
Преимущество такого разделения – виртуальные машины не могут влиять на скорость других и изменять выделенное количество ресурсов.
Решения для виртуализации
Основные функции
Любая аппаратная виртуализация должна обеспечивать следующие функции для стабильной работы:
- Виртуализация процессоров. Все технологии и инструкции, которые доступны физическому процессору, становятся доступны и виртуальным.
- Графические представления. Виртуализация обеспечивает доступ гостевым ОС к графическому адаптеру и его функциям независимо друг от друга.
- Ввод/вывод (I/O). Гипервизор разделяет доступ к устройствам ввода/вывода и другой периферией между виртуальными системами без конфликтов и зависаний.
Intel и AMD
Первыми создали аппаратную виртуализацию две конкурирующих компании – Intel и AMD. Технологии называются Intel-VT и AMD-V соответственно. Между ними есть существенная разница.
При использовании процессоров Intel сначала запускают программное обеспечение (Virtual Machine Monitor/Manager, VMM), которое активирует режим виртуализации. После этого администраторы работают только через VMM и создают виртуальные машины.
AMD работает на основе собственной технологии Direct Connect. После ее запуска VMM считает, что все операционные системы, которые запущены на оборудовании с процессором AMD, являются гостевыми.
Аппаратная виртуализация обеспечивает надежное и стабильное создание виртуальных машин на одном физическом оборудовании. В 2021 году все процессоры Intel и AMD поддерживают аппаратную виртуализацию с необходимым набором инструкций.
Программа для виртуальной операционной системы. Что такое виртуальные машины и как ими пользоваться. Причины установки ВМ
Виртуальная машина (ВМ) – это ещё один компьютер, запущенный на вашем рабочем столе. Т.е, в окошке запускается как будто второй (виртуальный) монитор, а котором загружается ещё один компьютер.
У этого компьютера есть своё виртуальное оборудование и на него можно установить любую настоящую операционную систему (ОС), например, виртуальный Windows. На таком «компьютере» можно полноценно работать и мне очень нравится эта тема.
Для чего можно использовать «виртуалки»
- для тестов или обучения в других операционных системах (Windows, Linux, MacOS и т.д.)
- разработка программ для других ОС
- работать в разных местах с одинаковым программным окружением
- для анонимности
Думаю, можно ещё придумать способы применения, это первое что пришло мне в голову. Например, на бывшей работе я не мог поставить нужные мне программы на компьютер, хоть и был админом. Это было связано с безопасностью и лицензионными вопросами. Тогда я установил себе виртуальную машину, поставил на неё Windows и все нужные мне программы, и в ней работал. Вечером записывал образ на внешний жёсткий диск и уносил с собой домой.
К тому же, рабочий интернет был сильно урезан по скорости, но был доступ к другому провайдеру. Я поставил вторую сетевую карту и настроил её в виртуальной машине. Т.е., в «обычной» винде на неё даже не стояли драйвера, а в виртуальной среде через неё работал быстрый интернет.
Виртуальный жёсткий диск хранится в одном файле и его данные можно шифровать. Т.е., если кто-то приходит к вам без спроса, то можно просто закрыть виртуальную операционную систему и кроме браузера и Excel’а на вашем компьютере ничего найти не получится 🙂
Какие существуют виртуальные машины для Windows
Самые популярные и используемые:
- Oracle VM VirtualBox – бесплатная, умеет практически всё, что нужно рядовому пользователю
- Hyper-V – бесплатная, встроена в Windows 8/8.1/10 версий Pro и Enterprise
- – платная, максимальный функционал, для профессиональных разработчиков
VMware довольно массивный пакет программного обеспечения, стоит немало, и рассчитан для коммерческого применения. Для описанных мной целей хватит и первых двух. Но, кто умеет качать с торрентов, можно поставить и его. Принцип работы и настройки плюс/минус везде одинаковые.
Как установить виртуальную машину на VirtualBox
Весь процесс проходит в несколько простых этапов:
- Скачать и установить VirtualBox
- Создать ВМ с помощью мастера
- Подключить установочный образ с операционной системой
- Установить ОС как на обычный компьютер
Собственно, я снял видео:
Чтобы скачать программу нужно кликнуть сюда:
Во время установки будут всплывать окошки с запросом на установку дополнительных драйверов виртуальных устройств, нужно на всё соглашаться.
В главном окне программы нажимаем кнопку «Создать» и попадаем в мастер виртуальных машин. Чтобы видеть все опции нужно ещё кликнуть по кнопке «Экспертный режим»:
Имя : любое название
Тип : выбираем будущую операционную систему (Windows, Linux, BSD и т.д.)
Версия : точная версия устанавливаемой ОС (семёрка, десятка, ).
В списке может не быть выбора x64 версий, если нет аппаратной виртуализации, но об этом будет ниже.
Оперативная память
Объём памяти – та оперативная память, которая будет доступна в виртуальной Windows. Например, если в компьютере установлено 8 ГБ оперативной памяти, то для ВМ можно отвести до 4 ГБ. И после запуска ВМ эти 4 гигабайта отнимутся у вашей Windows, т.к. станут использоваться виртуальной ОС. Поэтому нужно выбирать этот объём, исходя из таких соображений:
- Для Windows 7/8/10 x86 нужно минимум 1 ГБ памяти, а для более-менее нормальной работы от 2 Гб
- Для Windows x64 понадобится от 2 ГБ памяти, а чтобы всё как-то шевелилось – хотя бы 3 ГБ
Соответственно, выбираем такой объём виртуальной памяти, чтобы устанавливаемой виртуальной винде хватило, и вашей Windows также осталось сколько нужно. В общем случае, если у вас 4 гигабайта памяти, то ставим здесь 1024МБ, а если у вас есть от 8ГБ, то выбираем здесь 3000-4000 мегабайт.
Жёсткий диск
Я подозреваю, что виртуального жёсткого диска у вас нет, потому переходим к его созданию на следующем шаге:
Первое важное – «Расположение ». Поменяйте на папку на диске, где больше места. Например, у многих диск C: не очень большой, и рассчитан на одну операционную систему, а диск D: для остальных файлов. Вот если у вас тоже так, то выбираем там и создаём какую-нибудь папку на диске D:
Размер – для семейства Windows ставьте от 40 ГБ.
Тип – оставляем по умолчанию «VDI». Вряд ли вам понадобится подключать этот «диск» к другим виртуальным системам.
Формат хранения – «Динамический». При этом размер файла такого диска будет расти по мере его заполнения. Если же поставить «Фиксированный», то все 40 ГБ сразу займут место на диске D:, например.
На этом создание виртуальной машины закончено.
Настройка VM VirtualBox
Сейчас уже можно запустить виртуалку, но она пустая, без операционной системы. Нужно вставить в виртуальный дисковод «диск». В качестве установочного «DVD-диска» выступает ISO-образ, тот самый, который мы записываем на реальный двд или на флешку .
Заходим в настройки нашей ВМ на вкладку «Носители»:
Нажимаем по «приводу» со значением «Пусто», затем по значку ДВД-диска и выбираем в меню «Выбрать образ оптического диска…», где и указываем путь к iso-образу. А если есть физический диск с установкой, то просто вставьте его в привод и поставьте галочку «Живой CD/DVD». Важно, что нужно устанавливать ту версию, которую вы выбрали на этапе создания машины, особенно на счёт разрядности.
Теперь всё готово для запуска виртуальной машины. Нажимаем кнопку «Запустить»
Начнётся загрузка виртуального компьютера и такой же процесс установки Windows, как если бы вы это сделали на своём компьютере или ноутбуке. После установки Windows вы будете запускать ВМ и будет грузиться уже ваша виртуальная винда.
Хост-клавиша
Важная деталь – хост-клавиша. Когда вы кликните по окну виртуальной машины, то всё «внимание» от нажатий на кнопки клавиатуры и движений мышки перейдёт к виртуалке (гостевая операционка). Чтобы «освободить» клаву и мышь, т.е. вернуть их к родной Windows, нужно нажать правый Ctrl . Эту кнопку можно сменить в настройках. К слову, буфер обмена вашей системы и виртуальной, как бы, общий. Т.е., если копируете текст в буфер на реальном компьютере, то можете вставлять его в виртуальном, очень удобно.
Аппаратная виртуализация
Чтобы ВМ работали быстрее и лучше, а также чтобы можно было устанавливать 64-битные (x64) версии операционных систем нужно чтобы была включена аппаратная виртуализация. Сама эта поддержка встроена в процессоры и у всех современных процессоров она есть (может не быть только у древних двухядерников и более старых).
Называются технологии Intel VT-x и VT-d (в дорогих процессорах) и AMD-V. Смысл её заключается в том, что команды подаются напрямую на процессор, минуя драйверы операционной системы. Включается аппаратная виртуализация в настройках ВМ на вкладке «Система -> Ускорение »
Но у вас это может не заработать, потому что эта опция по умолчанию отключена в БИОСе в целях безопасности. Может выдаваться ошибка «Функции аппаратной виртуализации VT-x/AMD-V включены, но не функционируют». Поэтому нам нужно перезагрузить компьютер и .
Если не знаете как, и лень читать статью, то в двух словах: сразу после включения компьютера в течении 10 секунд жмём кнопки F1, F2, Delete или если написано на экране, то читаем какую кнопку нажать. Смотрим какой у вас биос по фоткам и ищем похожую настройку:
С графическим интерфейсом
Жмём дополнительно, входим в расширенный режим, далее «Конфигурация ЦП»
Ищем настройку «Intel Virtualization Technology» и меняем на положение «Вкл.» (On)
Если же у вас процессор от AMD, то настройка будет называться «Secure Virtual Machines». Сохраняем изменения кнопкой «F10».
С текстовым интерфейсом:
Идём в «Security -> Virtualization »
Включаем технологию аппаратной виртуализации в положение «Enabled»
Сохраняем настройки F10, произойдёт перезагрузка. Если не используете виртуальные машины, то в целях безопасности виртуализацию лучше выключать, т.к. вирусы могут создавать свои пространства.
Второй причиной почему может не работать аппаратная виртуализация в Windows 8/10 — это включённая встроенная виртуальная машина Hyper-V.
Иногда, для различных целей, пользователю необходимо использовать сразу несколько систем. Есть вариант, конечно же, пользоваться несколькими компьютерами сразу или поставить на один несколько систем, но это неудобно, да и непрактично. В этой ситуации один выход, который давно уже используется среди программистов и разработчиков – установка виртуальной машины для Windows. В этой статье вы узнаете, как установить «виртуалку» под Windows 7, 8, 10.
Какую виртуальную машину выбрать?
Вы, возможно, не поверите, но виртуальных машин достаточно большой выбор. Каждая из них имеет свой определённый функционал и особенности. Обратите внимание, что мощную виртуалку поставить на слабый компьютер не получится, да и вообще, слабые компьютеры трудно переносят программы такого рода. Если у вас на ПК менее 2 ГБ оперативной памяти и менее 100 ГБ свободного месте на жёстком диске, виртуальную машину ставить не рекомендуем. Сначала сделайте увеличение памяти, а уже потом используйте её по максимуму.
Для повседневных задач и постоянного использования рекомендуем воспользоваться программой VMware Workstation , которая являет собой целый комплекс приложений для работы с виртуальной ОС. В ней вы сможете разобраться, даже если никогда не пользовались такими программами. Она проста в использовании, не ест много оперативной памяти и включает в себя интегрирование виртуальной системы в основную, что позволяет использовать их параллельно в одной рабочей среде. Предлагаем внимательно рассмотреть процесс инсталляции VMware.
Мы протестировали 11 версию этого программного обеспечения, она поддерживает всё то, что будет необходимо как начинающему пользователю, так и опытному.
Процесс установки VMware Workstation
На этом процесс установки завершен, теперь плавно переходим к тому, как же установить ОС на виртуальную машину для Windows. Обратим внимание, что для установки подходит любая ОС, которая имеет установочный файл. Рассмотрим пример установки Windows 7 Максимальная в VMware Workstation.
Как установить операционную систему на VMware Workstation
Сначала вам нужно загрузить файл установки ОС к себе на компьютер. Вы можете воспользоваться поиском и найти этот файл, а может просто попросить у кого-то установочный диск (самодельный) и скачать оттуда.
После загрузки «винды» к себе на компьютер, начнём процесс установки ОС.
- Создаем новую виртуальную машину. Для этого переходим в меню «Файл – Новая виртуальная машина» ;
- Начнётся согласование параметров будущей ВМ. В первом же окне, вас спросят, как вы хотите установить её. Предлагаем выбрать «Выборочный» тип конфигурации и нажимаем «Далее» ;
- В следующем окне тоже нажимаем «Далее» ;
- В следующем окне вам будет предложено выбрать исходник для установки «гостевой» ОС. Если вы брали установочный диск, укажите привод, а если скачали из Интернета, укажите путь к файлу с помощью кнопки «Обзор» . После этого кликните «Далее» ;
- Теперь вам нужно указать ключ продукта и данные о пользователе ОС. Рекомендуем лишь выбрать «Windows 7 Ultimate» , а остальное пропустить;
- Введите имя для новой виртуальной машины или оставьте старое, а потом определите параметры. Начнём с вида прошивки – оставьте BIOS, а количество процессоров — 1/4 от доступных у вас. У нас 4, поэтому ставим 1, но с двумя ядрами. С ОЗУ примерно так же, но 1/3 от общей доступной памяти. У нас 4, но доступно около 3, поэтому ставим 1 ГБ;
- Теперь разберёмся с Интернетом для виртуальной машины. Оставляем всё как есть и далее, там, где спросят о контроллере, типе виртуального диска;
- Рекомендуем поставить 20-30 ГБ для жёсткого диска виртуальной ОС, а затем указать путь, где будет хранится файл виртуалки;
- Проверьте все установленные параметры и установка ОС будет начата;
- Дальше будет происходить стандартная установка ОС. Просто следите за ходом событий и, если потребуется, введите данные о пользователе;
- После успешной установки запустите виртуальную машину и проверьте работоспособность;
- После успешного запуска виртуальной машины, начнётся запуск системы. Дождитесь завершения;
- После загрузки вы попадаете на«Рабочий стол» виртуалки и можете начинать работу;
- Чтобы управлять виртуальной машиной для Windows, нужно кликнуть мышкой по рабочему столу;
- Когда работа в гостевой ОС будет завершена, необходимо так же правильно, как и при использовании постоянной системы, выключать виртуальную машину – «Пуск — «Завершение работы» , иначе вы можете «сломать» её. Удачного использования ВМ для Windows 7, 8, 10!
Стремительное развитие технологий виртуализации оказало значительное влияние не только на развитие ИТ-инфраструктуры крупных предприятий. Мощности настольных персональных компьютеров достигли такого уровня, когда одна физическая машина может поддерживать несколько одновременно запущенных операционных систем в виртуальных машинах. Еще несколько лет назад виртуальные машины были чем-то экзотическим для конечных пользователей, которые устанавливали их, большей частью, в ознакомительных целях. Теперь многоядерные процессоры и большие объемы оперативной памяти на домашнем или офисном компьютере не редкость, и это позволяет придумывать новые варианты их использования в контексте технологий виртуализации.
Множество пользователей находят разнообразные применения настольным платформам виртуализации, как дома, так и на работе. Ведь виртуальная машина, по сравнению с физической, обладает существенно большей гибкостью в отношении переносимости на другую физическую платформу. К тому же, за последние пару лет существенно выросло качество настольных платформ виртуализации в отношении функциональности, простоты использования и быстродействия. Появившаяся сравнительно недавно поддержка аппаратной виртуализации в настольных системах говорит, что ведущие производители процессоров, такие как Intel и AMD, верят в будущее технологий виртуализации на персональных компьютерах.
Безусловно, такие громоздкие и требовательные к аппаратным ресурсам операционные системы, как Windows Vista, способны поглотить мощности пользовательских десктопов, какими бы высокими они не были, однако прогресс не стоит на месте, и дальнейшее развитие настольных аппаратных платформ вскоре даст возможность поддерживать несколько таких систем одновременно, удовлетворяя требованиям по быстродействию. Тем не менее, многие пользователи считают, что применение технологий виртуализации дома не является необходимым и считают виртуализацию еще одной специфической технологией, которая не окажет на них большого влияния. Большей частью, это связано с тем, что они не видят достойных путей применения виртуальных машин.
В сфере бизнеса, технологии виртуализации внедряются в основном для поддержания виртуальной инфраструктуры серверов компании и на конечных пользователей оказывают весьма малое влияние. В этой статье мы покажем, что практически любой пользователь персонального компьютера может применять технологии виртуализации, чтобы повысить эффективность своей работы за персональным компьютером дома, а также для повседневных задач на рабочем месте.
Как использовать виртуальные машины дома
Большинство пользователей персональных компьютеров часто сталкиваются с проблемой использования потенциально опасных или нестабильных приложений, которые могут либо повредить операционную систему, либо оказать влияние на работу других программ. Зачастую домашний компьютер, на котором расположены также и рабочие документы, используется несколькими людьми, среди которых не все понимают, как правильно с ним обращаться, чтобы не повредить важные данные или операционную систему. Создание учетных записей типа «User» не решает этой проблемы, поскольку для установки многих приложений необходимы административные права, и работа за компьютером в таком режиме существенно ограничивает его использование. Безусловно, многие сталкиваются также и с проблемой перенесения операционной системы и установленных приложений на другой компьютер при его покупке. Категория пользователей, активно использующих ноутбуки, сталкивается с проблемой синхронизации данных между ним и стационарным компьютером. Ведь необходима не только синхронизация файлов, но требуется также использовать одни и те приложения на работе и дома. Для множества людей, немаловажна также возможность обучения работе с различными операционными системами, от которых в этом случае не требуется высокого быстродействия. При этом, например, работая в Linux, пользователю требуется обращаться к Windows-приложениям, и для этого приходится перезагружать компьютер. И главной проблемой при обучении является невозможность моделирования реальной сети между несколькими компьютерами при наличии в распоряжении одного. Все эти и множество других проблем, позволяет решить использование виртуальных машин в настольных системах виртуализации.
Основными вариантами домашнего использования виртуальных машин являются следующие:
- Создание персональной виртуальной среды, изолированной от хостовой системы, что позволяет использовать на одном компьютере несколько копий рабочих окружений, полностью изолированных друг от друга. К сожалению, такая модель исключает вариант использования виртуальных сред для 3D-игр, поскольку производители платформ виртуализации не научились еще полноценно поддерживать эмуляцию всех функций видеоадаптеров. Впереди всех на данный момент в этом отношении компания VMware, которая в последних версиях своей настольной платформы VMware Workstation включила функции по экспериментальной поддержке Direct-3D и шейдеров. Тем не менее, не так давно компания PCI-SIG, занимающаяся разработкой стандарта PCI Express, опубликовала новые спецификации стандарта PCI Express 2.0, в которых заявляется о поддержке функций виртуализации ввода-вывода, которые значительно упрощают гостевым системам доступ к физическому железу. Бесспорно, не за горами то время, когда мы будем играть в игры на виртуальных машинах.
- Создание переносных виртуальных машин, готовых к использованию на любой другой совместимой по архитектуре платформе. Если вам необходимо продемонстрировать работу какой-либо программы, при этом она или окружение операционной системы должны быть определенным образом настроены — виртуальные машины лучший вариант в этом случае. Сделайте в виртуальной машине все необходимые действия, запишите ее на DVD-диск и там, где вам нужно показать, как все работает, установите платформу виртуализации и запустите виртуальную машину.
- Получение безопасных пользовательских окружений для Интернет. При работе в сети Интернет, которая, как всем известно, изрядно наполнена вирусами и «троянскими конями», запуск интернет-браузера в режиме user-mode для многих не является приемлемым решением, с точки зрения безопасности. Ведь в программном обеспечении, в том числе и в операционных системах, существует множество уязвимостей, сквозь которые вредоносное ПО может повредить важные данные. Виртуальная машина в этом случае является более выигрышным вариантом, поскольку вредоносная программа после получения контроля над операционной системой в виртуальной машине, может причинить вред только внутри нее, не затрагивая при этом хостовую ОС. Кстати, в последнее время начали появляться вирусы, обнаруживающие свое присутствие в виртуальной машине и не выдающие себя в этом случае, однако пока таких вредоносных программ единицы, и в любом случае вред важным данным нанесен не будет, пока зараженные объекты не будут перенесены в хостовую ОС. Поэтому применение виртуальных машин в этом случае нисколько не исключает использование антивирусного ПО.
- Создание сред для экспериментов с потенциально опасным программным обеспечением. На виртуальной машине вы можете безболезненно опробовать новый чистильщик реестра или дисковую утилиту. Вы также можете без всякого риска устанавливать прикладное ПО, которое может при определенных условиях повредить систему или ваши данные. В этом случае виртуальная машина выступает в роли «песочницы», в которой играются ваши программы. Вы можете спокойно наблюдать за их работой и изучать их, не беспокоясь при этом за сохранность данных.
- Удобное и простое резервное копирование пользовательских сред. В конечном счете, виртуальная машина — это всего лишь папка с файлами на вашем компьютере, которая может быть скопирована на резервный носитель, а потом легко восстановлена. В этом случае не требуется создавать образов жесткого диска, чтобы сделать резервную копию вашей системы.
- Возможность обучения работе с операционными системами, отличными от вашей хостовой. Безусловно, можно установить вторую ОС параллельно с вашей основной системой, но в таком случае, если вам понадобится какое-либо приложение из основной системы, вам придется перезагрузиться. В этом случае виртуальная машина идеальный вариант: вы запускаете нужную вам ОС параллельно с хостовой и переключаетесь между ними в случае необходимости. Во многих системах обмен файлами между гостевой и хостовой системой организован просто — перетаскиванием файлов и папок указателем мыши.
Мы перечислили лишь основные варианты использования виртуальных машин дома, конечно, есть и другие, более специфические сферы их применения. Но настоящие перспективы при использовании настольных систем виртуализации открываются в бизнесе, где важны, прежде всего, доступность и экономия времени, и затрат на приобретение дополнительного оборудования.
Настольные платформы виртуализации в бизнесе
Для большинства компаний, когда идет речь о виртуализации, это, в первую очередь, означает виртуализацию серверной инфраструктуры предприятия. Однако есть множество решений на базе виртуальных машин для конечных пользователей, значительно повышающих эффективность работы сотрудников компании. Рассмотрим основные сферы применения виртуальных машин в бизнесе на платформах виртуализации пользователей настольных компьютеров:
- Создание хранилищ типовых шаблонов рабочих окружений пользователей. В зависимости от специфики работы организации, ее сотрудникам необходимо применение определенного набора программного обеспечения. При приходе в организацию нового сотрудника, ему необходимо установить операционную систему, определенным образом настроить ее, в соответствии с требованиями организации и политиками безопасности, а также установить все необходимое прикладное ПО. При использовании шаблонов виртуальных машин эта проблема решается очень просто: сотруднику устанавливается настольная платформа виртуализации, а в ней запускается виртуальная машина из набора шаблонов организации, в которой установлено все необходимое ПО и сделаны соответствующие настройки операционной системы. Такая модель позволит существенно сократить временные затраты на развертывание, а также обеспечить высокую гибкость при переносе виртуального десктопа сотрудника на другую физическую машину. Безусловно, такой вариант использования, возможно, потребует повышенных аппаратных ресурсов оборудования, однако это с лихвой окупится, если сотруднику приходится оперировать большими объемами разнородных данных, резервное копирование которых потребует значительного времени. Например, сотрудники службы маркетинга, которые устанавливают множество необходимых им программ, ежедневно пробуют что-то и работают с различными документами. В этом случае, они могут копировать папку с файлами их рабочей виртуальной машины в конце рабочего дня, не боясь при этом, что завтра при установке очередной программы все «сломается».
- Создание виртуальной инфраструктуры десктопов, позволяющей централизованно хранить пользовательские окружения на защищенных серверах компании. Сами конечные пользователи при этом используют средства удаленного доступа к рабочему столу своих окружений (например, Terminal Services), хранящихся в корпоративном датацентре. Такой вариант использования виртуальных машин требует значительных затрат на его внедрение, поскольку в этом случае требуется поддержка серверных платформ виртуализации датацентра компании. Однако в этом случае обеспечивается наилучший уровень безопасности и доступности. Поскольку все рабочие среды хранятся и обслуживаются централизованно в защищенном средствами безопасности датацентре, вероятность утечки конфиденциальной информации существенно снижается. При этом степень доступности таких окружений значительно повышается, ведь доступ к ним может быть обеспечен из любой точки с высокоскоростным соединением. Строго говоря, это решение не относится к настольным платформам виртуализации, однако затрагивает конечных пользователей. Примером такого решения может служить VMware Virtual Desktop Infrastructure, основанное на виртуальной инфраструктуре серверов организации в корпоративном датацентре. Структура такой модели приведена на рисунке:
- Применение защищенных политиками безопасности виртуальных машин. IT-профессионалам, которым требуется обеспечение конфиденциальности их персональных данных, а также частая демонстрация различного программного обеспечения заказчикам, отлично подойдут решения для создания защищенных виртуальных машин, которые предоставляют средства разграничения доступа к различным функциям по работе с виртуальной машиной. Также можно установить срок действия виртуальной машины и таким образом распространить программное обеспечение, чтобы определенный круг лиц не мог использовать виртуальную машину свыше дозволенного времени. Примером такого решения служит продукт ACE Manager компании VMware.
- Упрощение обучения пользователей за счет создания учебных классов с виртуальными машинами, где установлены различные операционные системы и прикладное программное обеспечение. В случае если группу сотрудников организации необходимо обучить использованию какого-либо продукта или программы, можно создать один шаблон виртуальной машины и установить платформу виртуализации на каждом из компьютеров учебного класса. Далее виртуальная машина может быть скопирована на все компьютеры и запущена со всем необходимым количеством программ. Если понадобится обучение другому продукту, можно создать новый шаблон виртуальной машины и также развернуть его на всех компьютерах учебного класса.
- Разработка и тестирование программного обеспечения в компании. Виртуальная машина, являясь изолированной средой, идеально подходит для разработки ПО. Разработчики и тестеры могут создавать необходимые им конфигурации операционных систем и пользовательских окружений для симуляции поведения программы на различных платформах. В рамках этого варианта использования возможно также моделирование рабочих связок виртуальных машин на одной физической платформе, осуществляющих между собой сетевое взаимодействие. Кроме того, некоторые платформы, такие как VMware Workstation, позволяют создавать деревья состояний виртуальных машин, в каждом из которых сохранена определенная пользовательская конфигурация. К каждому из таких состояний возможен откат одним кликом мыши. Пример такого дерева:
Сравнительный обзор настольных платформ виртуализации
Ведущие компании в сфере производства настольных платформ виртуализации за последние два года много сделали, чтобы максимально упростить их использование и сделать доступными даже самому неискушенному пользователю. Лидерами в производстве систем виртуализации для конечных пользователей на данный момент являются компании: VMware с продуктами VMware Workstation, VMware ACE и VMware Fusion, Microsoft с продуктом Virtual PC, Parallels, продвигающая свою платформу виртуализации для Mac OS с продуктом Parallels Desktop for Mac, и компания InnoTek с бесплатной платформой с открытым исходным кодом VirtualBox. Кратко рассмотрим возможности некоторых из этих продуктов.
VMware Workstation
Компания VMware является на сегодняшний день безусловным лидером в области настольных систем виртуализации. Ее продукты просты в использовании, обладают широкими функциональными возможностями и отличаются высоким быстродействием. На продукт ориентируются практически все производители настольных платформ виртуализации. Процесс создания виртуальной машины и установки гостевой операционной системы не вызывает особых трудностей: при создании необходимо указать объем оперативной памяти, выделяемой под гостевую систему, тип и размер виртуального диска, папку, где будут расположены файлы виртуальной машины и тип устанавливаемой гостевой ОС. В качестве установочного дистрибутива гостевой системы может использоваться загрузочный CD или DVD-диск или ISO-образ. После установки операционной системы в виртуальной машине обязательно необходимо установить VMware Tools и отключить все ненужные эмулируемые устройства в настройках в целях оптимизации быстродействия. Также можно создать мгновенный снимок (snapshot) «чистого» состояния гостевой системы, при этом все данные виртуальных дисков на этот момент будут сохранены, и в любое время можно будет вернуться к их сохраненному состоянию. К ключевым особенностям VMware Workstation можно отнести:
- Поддержку различных типов виртуальных дисков (эмулируются контроллеры как для IDE, так и для SCSI дисков):
- фиксированного размера (Preallocated) или растущие по мере заполнения (Growing), при этом первые оптимизированы по быстродействию, а вторые удобны тем, что не занимают много места до того, как будут заполнены
- независимые (Independent) диски, на которые не оказывает влияния создание снимков состояния операционной системы. Такие диски удобны для организации хранилищ файлов, изменение которых не требуется при работе со снимками состояний гостевой системы
- поддержка дисков, состояние которых не сохраняется при выключении виртуальной машины
- возможность прямой записи на физический диск
- Поддержку различных типов сетевого взаимодействия между виртуальными машинами, включая объединение виртуальных машин в «команды» (Teams), что позволяет создавать виртуальные подсети, состоящие из виртуальных машин с различным количеством виртуальных сетевых адаптеров (до трех). Виртуальный сетевой интерфейс при этом может работать в трех различных режимах:
- Bridged Networking — виртуальная машина разделяет ресурсы сетевой карты с хостовой операционной системой и работает с внешней по отношению к ней сетью как самостоятельная машина.
- Host-only Networking — виртуальная машина получает IP-адрес в собственной подсети хоста от DHCP-сервера VMware. Соответственно, работать в сети можно только с другими виртуальными машинами на этом хосте и с ОС самого хоста.
- NAT — виртуальная машина работает также в собственной подсети хоста (но другой), однако, через NAT сервер VMware, может инициировать соединения во внешнюю сеть. Из внешней сети инициировать соединение с такой виртуальной машиной невозможно. В пределах хоста сетевое взаимодействие обеспечивается.
- Диски также можно монтировать в хостовую систему с помощью утилиты vmware-mount и расширять с помощью утилиты vmware-vdiskmanager (эта утилита служит также для выполнения еще ряда действий над виртуальными дисками).
- Возможность простого обмена файлами с помощью интерфейса Drag&Drop, а также путем создания общих папок (Shared Folders) между хостом и гостевой ОС.
- Поддержку большого списка гостевых и хостовых операционных систем.
В последней версии VMware Workstation 6 включены также следующие полезные функции:
- полная поддержка интерфейса USB 2.0
- возможность записи активности виртуальной машины
- интегрированный продукт VMware Converter (для Windows-хостов) для импорта виртуальных машин других производителей
- запуск виртуальной машины в качестве сервиса
Стоит также отметить, что продукт VMware Workstation является на данный момент единственной платформой виртуализации, экспериментально поддерживающей Direct-3D в гостевых операционных системах. Основным и, пожалуй, единственным недостатком этой платформы является тот факт, что она не бесплатна.
Microsoft Virtual PC
Появившись как конкурент VMware Workstation, продукт компании Connectix, купленный впоследствии корпорацией Microsoft вместе с компанией, не получил в ее руках достойного развития. В результате, на данный момент, практически по всем параметрам он проигрывает платформе VMware Workstation и может быть запущен только в хостовой операционной системе Windows. Однако достаточное количество пользователей применяют его в качестве настольной платформы виртуализации, поскольку Virtual PC является бесплатным и удовлетворяет основные потребности в отношении использования виртуальных машин. Процесс установки гостевой системы также весьма прост и интуитивен. После того, как операционная система будет установлена, необходимо установить Virtual Machine Additions (аналог VMware Tools в VMware Workstation), существенно повышающие быстродействие гостевой ОС, за счет улучшения техники виртуализации. VM Additions также можно установить и в гостевых операционных системах Linux.
К основным достоинствам продукта Microsoft Virtual PC можно отнести следующие возможности:
- Полная поддержка Windows Vista как в качестве хостовой, так и в качестве гостевой операционной системы. В отношении быстродействия в Virtual PC 2007 был сделан существенный шаг вперед по сравнению с прошлой версией, и теперь быстродействие Windows Vista в виртуальной машине вполне приемлемо.
- Поддержка 64-битных хостовых Windows-систем.
- Повышенное быстродействие за счет использования улучшений, введенных в Microsoft Virtual Server 2005 R2.
- Наличие различных типов виртуальных дисков:
- Dynamically expanding (аналог Growing в VMware Workstation)
- Fixed Size (аналог Preallocated в VMware Workstation)
- Differencing — диск, хранящий в себе изменения от текущего состояния виртуального диска
- Linked to a hard disk (аналог прямой записи на диск в VMware Workstation)
- Наличие различных типов сетевого взаимодействия между виртуальными машинами и хостом:
- аналог Bridged Networking в VMware Workstation
- Local only (аналог Host-only в VMware Workstation)
- Shared Networking (аналог NAT в VMware Workstation)
Нужно отметить, что продукт Virtual PC направлен, скорее, на применение домашними пользователями, нежели IT-профессионалами и разработчиками программного обеспечения, в то время как VMware Workstation, обладая значительно большей функциональностью, способен покрыть потребности последних. В то же время, Virtual PC бесплатен и предназначен в основном для упрощения миграции на новые операционные системы Microsoft и поддержки их устаревших версий. И, безусловно, на популярность платформы Virtual PC оказывает ее бесплатность, создавая определенную нишу для применения этого продукта.
Parallels Workstation и Parallels Desktop for Mac
Продукт предназначен для использования на Windows и Linux-платформах в качестве настольной системы виртуализации. В связи с тем, что компания Parallels (фактически принадлежащая российской компании SWSoft) сосредоточилась сейчас в основном на продукте , развитие этого продукта в данный момент несколько приостановилось и по функциональным возможностям он уступает двум ведущим настольным платформам от VMware и Microsoft. Поэтому расскажем о платформе Parallels Desktop for Mac, которая сейчас является основной для компьютеров от Apple. К тому же в данный момент развитие этой платформы весьма динамично, что обусловлено, в первую очередь, тем, что копания VMware всерьез намерена вторгнуться на рынок виртуализации для Маков со своим практически готовым к окончательному релизу продуктом VMware Fusion. Ключевые возможности платформы Parallels Desktop for Mac:
- Простое создание виртуальных машин в три шага с помощью Parallels Installation Assistant. Чтобы создать виртуальную машину и установить в ней гостевую операционную систему, не потребуется лишних усилий.
- Наличие утилиты Parallels Transporter, позволяющей осуществить миграцию с физической машины на виртуальную.
- Полная поддержка гостевой ОС Windows Vista. При этом обеспечивается простой обмен файлами между гостевой и хостовой операционной системами
- Поддержка интерфейса USB 2.0
- Поддержка Mac OS X «Leopard»
Как и большинство продуктов для платформы Mac OS X, Parallels Desktop предоставляет пользователю простой и удобный интерфейс. Не секрет, что многие пользователи платформы Mac зачастую испытывают потребность в использовании продуктов для Windows, и Parallels Desktop предоставляет им такую возможность, позволяя чувствовать себя «в двух мирах».
Также можно упомянуть такие продукты компании Parallels, как Parallels Compressor Workstation и Parallels Compressor Server, позволяющие сжимать диски не только виртуальных машин Parallels, но и VMware, что является решением одной из проблем, часто возникающих у пользователей.
VirtualBox
Компания InnoTek недавно появилась на рынке настольных систем виртуализации с неожиданным бесплатным решением с открытым исходным кодом. В то время, когда, казалось бы, новую платформу виртуализации сложно вывести на достойный уровень, компания InnoTek добилась неожиданно быстрого успеха и народного признания.
Многие блоггеры, лояльно настроенные к компании VMware, тем не менее, заявили, что на их десктопах виртуальные машины на платформе работают заметно быстрее, чем виртуальные машины в VMware Workstation. К тому же до недавнего времени платформа VirtualBox была доступна только для Linux и Windows хостов, а в конце апреля появилась первая сборка для Mac OS X, где планируется конкуренция платформы с такими «монстрами» систем виртуализации, как Parallels и VMware. И, безусловно, у нее есть все шансы на победу. Учитывая полную открытость платформы и ее бесплатность, множество энтузиастов готовы взяться за доработку платформы и наращивание функционала, будем надеяться, без ущерба ее производительности. На данный момент VirtualBox обладает не такой широкой функциональностью, как ведущие платформы, не поддерживает 64-битные системы и сетевое взаимодействие с Windows Vista, но на сайте можно получить оперативную информацию, над какими функциями системы ведется работа. На данный момент платформа обладает следующими основными возможностями:
- Достаточно большой список поддерживаемых хостовых и гостевых операционных систем.
- Поддержка множественных снимков текущего состояния гостевой системы (snapshots).
- Динамически расширяющиеся и фиксированного размера диски.
- Возможность установки Guest Additions (аналог VMware Tools) для повышения степени интеграции с хостовой ОС
Безусловно, касательно функциональности, VirtualBox является весьма незрелым продуктом, однако показатели его быстродействия говорят, что у платформы есть будущее, и сообщество Open Source приложит все усилия к его совершенствованию и развитию.
Что выбрать в качестве настольной системы виртуализации?
Подводя итоги, можно сказать, что каждая из описанных выше платформ занимает на данный момент свою нишу в области применения технологий виртуализации на настольных компьютерах. Каждая из систем виртуализации имеет достоинства и недостатки. Со временем, конечно, многие из них приобретут необходимый функционал, удовлетворяющий большинство потребностей пользователей. Хочется также надеяться на то, что будут предоставлены средства для конвертирования форматов виртуальных машин между платформами.
Бесспорно, когда речь идет об использовании настольной системы виртуализации дома на Windows хостах, следует выбирать между платформами Microsoft Virtual PC или VirtualBox, поскольку они бесплатны и обладают необходимым функционалом для поддержки виртуальных машин дома. Однако когда речь идет о применении виртуальных машин в бизнесе, в корпоративной среде предприятия, где развертывание настольных систем виртуализации предъявляет высокие требования к функциональности и надежности, не обойтись без VMware Workstation, существенно превосходящего другие описанные платформы. Здесь также может найти свое место и продукт VirtualBox, как наиболее оптимизированный по быстродействию.
Virtual PC следует использовать при обеспечении поддержки старых версий Windows и обкатке Windows Vista в качестве гостевой ОС. А без продукта Parallels Desktop пользователям платформы Мак не обойтись: об этом говорит тот факт, что результат в более чем 100 000 проданных копий продукта был зафиксирован еще в 2006 году. Пользователям Маков следует также обратить внимание на платформу VMware Fusion, которая в будущем претендует на лидерство в сфере настольных платформ виртуализации.
Технологии виртуализации для персональных компьютеров становятся все ближе к конечному пользователю и сейчас могут использоваться как повседневной работе сотрудников организаций, так и на домашних компьютерах для создания защищенных или изолированных персональных сред. К тому же использование виртуальных машин на десктопах не ограничивается описанными вариантами. Например, в виртуальной машине VMware, в оконном режиме консоли гостевой операционной системы, можно выставить большее поддерживаемого монитором разрешение, при этом у окна гостевой системы появятся полосы прокрутки. Это позволит протестировать веб-сайт или приложение на высоких разрешениях при отсутствии соответствующего монитора. Этот пример показывает, что варианты использования виртуальных машин на настольных компьютерах зависят от вашей фантазии. А стремительно развивающиеся пользовательские платформы виртуализации помогут вам в удовлетворении ваших потребностей.
Bluestacks App Player – представляет собой бесплатный эмулятор, который предназначается для системы Андроид. Это нужно для того чтобы запускать приложения Андроид на вашем компьютере, используя управление системы Виндовс. Эмулятор андроид Bluestacks 4 помогает пользователю знакомиться со специальными устройствами, предназначенными для платформы мобильного типа. Если вы желаете играть в игры, либо проводить синхронизацию данного приложения с собственным мобильным устройством, тогда нужно лишь скачать данный эмулятор. При этом скачать программу бесплатно на…
Nox App Player – это удобная и функциональная программа для работы с приложениями типа Android в системах Windows (также подходит и для Windows 10, что идет 64 бит) и Mac OSX. Если вам нужно приложение в последней его версии скачать на русском бесплатно для ПК, то на данной странице есть такая возможность. Эмулятор андроид имеет содействие всех утилит Google Play. Это идеальное приложение для геймеров. Устанавливается Nox App Player 6…
Что такое виртуальная машина? A Tutorial
Виртуальная машина — это смоделированная компьютерная система, работающая на физическом компьютере. Другими словами, виртуальная машина — это компьютер внутри компьютера. Виртуальные машины выделяют память, виртуальный ЦП, дисковое пространство для хранения и сетевой интерфейс. Это означает, что у нас может быть компьютер с Windows, на котором работает несколько виртуальных машин, состоящих из Ubuntu Linux, macOS, Windows 10, Solaris и CentOS, и все они будут полностью отделены от нашей родительской операционной системы Windows.
Вся идея виртуальной машины вращается вокруг наличия системы, которая распределяет ресурсы с нашего физического хоста в нашу виртуальную среду. Распределение ресурсов настраивается в соответствии с потребностями пользователя, поэтому могут быть установлены конкретные ограничения с точки зрения использования ЦП или пространства, выделенного для нашей виртуальной машины. Обычно эти настройки создаются и применяются во время установки / настройки нашей виртуальной машины, а гипервизор контролирует фактическое распределение ресурсов.
Этот метод позволяет нам запускать несколько виртуальных машин, ограниченных только доступными ресурсами родительской ОС.Когда виртуальная машина не работает, ресурсы используются вашим хост-компьютером (физическим сервером, на котором работает виртуальная машина), поэтому ресурсы не удерживаются в подвешенном состоянии и не резервируются исключительно для виртуальной машины, когда она выключена.
Как работают виртуальные машины?
Виртуальные машины работают с использованием технологии виртуализации. Как упоминалось ранее, эти приложения виртуализации используют специальное программное обеспечение для эффективного создания изолированного виртуального пространства, в котором работают разные операционные системы и отдельные ресурсы распределяются между каждым виртуальным экземпляром.
У нас может быть несколько виртуальных машин, работающих на нашем хост-компьютере, и эти ОС, работающие под ним, называются гостевыми виртуальными машинами. Поскольку гостевая операционная система изолирована от родительской и других гостевых операционных систем, любые внесенные изменения не влияют на родительский компьютер или другие виртуальные машины. Для упрощения программное обеспечение виртуализации запускает компьютеры меньшего размера, которые используют выделенные нами ресурсы.
Что такое гипервизор?
Гипервизор — это то, что делает возможной виртуализацию, поскольку это система управления созданными виртуальными машинами.Это программное обеспечение, которое можно установить поверх операционной системы или установить непосредственно на оборудование. Его основная обязанность — использовать доступные физические ресурсы и распределить их по одной или нескольким виртуальным машинам. Гипервизор является важной частью виртуализации, поскольку он действует как барьер между операционной системой хоста и виртуальными машинами, фактически делая его двумя полностью отдельными объектами на одном физическом устройстве. Его основная способность — моделировать аппаратные компоненты в операционной системе хоста, в которой будут работать виртуальные машины.
Типы гипервизоров
Есть два основных типа гипервизоров
- Bare Metal Hypervisors (Process VMs)
- Hosted Hypervisors (System VMs)
Иногда разница между этими типами виртуализации не всегда очевидна . Например, в ядре Linux есть модуль, представленный в 2007 году, который эффективно модифицирует операционную систему хоста на гипервизор типа 1. Это позволяет использовать как аппаратный, так и программный гипервизор.
Bare Metal Hypervisor (Process VM)
Голый гипервизор или гипервизоры типа 1 работают непосредственно на аппаратном обеспечении хоста для контроля и управления гостевой ОС. Гипервизоры «на чистом железе» в основном используются в корпоративных средах, поскольку они позволяют «перераспределять» физические ресурсы. С гипервизором типа 1 мы можем выделить дополнительные ресурсы для группы виртуальных машин.
Вы можете спросить: « Как мне добавить память, которой у меня нет ?
Допустим, у нашего хост-сервера есть 128 ГБ оперативной памяти.Теперь, если мы создадим восемь виртуальных машин и назначим каждой по 24 ГБ ОЗУ. Это составляет 192 ГБ ОЗУ, однако сами виртуальные машины « фактически не будут использовать все 24 ГБ ОЗУ », назначенные хосту !. Виртуальные машины считают, что у них есть полные 24 ГБ ОЗУ, но на самом деле они будут использовать только объем ОЗУ, необходимый для выполнения определенных задач. Таким образом, гипервизор выделяет только объем оперативной памяти, необходимый для полной работоспособности экземпляра.
Одним из примеров гипервизора типа 1, распространенного в среде хостинга, является KVM (виртуальная машина на основе ядра).KVM позволяет ядру функционировать как гипервизор с неизмененными образами Linux или Windows. Используя KVM, мы можем запускать множество виртуальных машин, каждая из которых имеет уникальный объем дискового пространства, графический адаптер, сетевую карту и т. Д.
Размещенный гипервизор (системная виртуальная машина)
Размещенный гипервизор или гипервизор типа 2 будет работать внутри операционная система на физическом хост-сервере. Вот почему они называются «размещенный гипервизор ». Основное различие между гипервизорами типа 1 и типа 2 заключается в том, что тип 1 работает на оборудовании, а тип 2 — в операционной системе.
Гипервизоры типа 2 обычно используются в средах, где требуется меньшее количество серверов. Кроме того, в гипервизорах типа 2 перераспределение ресурсов невозможно, поскольку это заблокирует полный объем выделенной оперативной памяти и приведет к сбою хост-машины. Управление гипервизором типа 2 проще, чем гипервизором типа 1, поскольку задачи выполняются на главном сервере, на котором установлена консоль управления.
Консоль управления также позволяет использовать другие функции, такие как мониторинг, создание и использование моментальных снимков, или создание шаблонов с предварительно установленными приложениями, которые будут автоматически развернуты при установке VMware или VirtualBox на нашем хост-компьютере.
Что такое виртуализация?
Виртуализация — это процесс запуска одного или нескольких виртуальных экземпляров (ВМ) на другом компьютере. Идея была впервые выдвинута в 1960-х годах, когда системные аналитики искали способы логически разделить системные ресурсы внутри мэйнфрейма между различными приложениями.
Сегодня современные компьютеры обладают значительно большей вычислительной мощностью и объемом памяти. Тем не менее, для подавляющего большинства эти ресурсы используются не на полную мощность.Технология виртуализации помогает решить эту проблему недостаточного использования ресурсов, создавая несколько виртуальных машин, которые работают с одного аппаратного устройства или сервера. « cloud » — это пример того, как виртуализация может улучшить использование ресурсов и вычислительную мощность, поскольку она распределяет ресурсы, делая ее очень рентабельной. Мы рассмотрим три основных типа виртуализации.
Полная виртуализация
Идея полной виртуализации заключается в том, что виртуальная машина полностью изолирована от гостевой ОС.Виртуальная машина будет имитировать оборудования, но полностью отключена от реального оборудования уровнем виртуализации. Несколько типичных примеров полной виртуализации, которые мы видим сегодня, — это KVM, VMware Fusion, Microsoft Virtual PC и VirtualBox.
Аппаратная виртуализация
Аппаратная виртуализация использует физические устройства хостов для поддержки программного обеспечения, которое создает виртуальные машины и управляет ими. Они также позволяют виртуальным машинам выполнять привилегированные инструкции непосредственно на процессоре, не затрагивая хост.Тип гипервизора — фундаментальный компонент такого рода виртуализации.
Виртуализация на уровне ОС
В этом типе виртуализации ядро ОС позволяет использовать множество экземпляров пользовательского пространства, которые отделены и изолированы от других. Этот модуль виртуализации на основе ядра позволяет этим экземплярам работать поверх существующей операционной системы хоста для создания образа сервера.
Эта виртуализация на уровне машины создает изолированные контейнеры или разделы на одном физическом сервере.Каждый из этих экземпляров работает независимо от других, но использует одни и те же физические ресурсы, доступные на главном сервере. Общие ресурсы для каждого экземпляра ограничены общим объемом ресурсов на хосте. Эти типы экземпляров имеют несколько имен в зависимости от самой ОС. Некоторые распространенные названия — это контейнеры, виртуальные частные серверы или виртуальные среды, и этот тип виртуализации довольно распространен на общем хостинге.
В чем разница между виртуальными машинами и контейнерами?
Одно из основных различий между виртуальной машиной и контейнером заключается в том, что контейнеры работают в базовой операционной системе, в то время как виртуальные машины имеют свою собственную операционную систему с аппаратной поддержкой виртуальных машин.Гипервизоры управляют виртуальными машинами, в то время как контейнерная система будет предоставлять услуги от базового хоста и изолировать приложения с помощью оборудования виртуальной памяти.
Для упрощения виртуальная машина виртуализирует оборудование с помощью гипервизора, а контейнер виртуализирует операционную систему. Контейнеры, как правило, меньше по размеру, используются более ограниченно (например, для тестирования приложений перед развертыванием) и не имеют встроенных операционных систем, таких как виртуальные машины. Напротив, виртуальная машина может имитировать и целые серверы, сети, базы данных и т. Д.
Зачем нужна виртуальная машина?
Преимущества
Гибкость
С точки зрения гибкости виртуализация виртуальной машины позволит быстро развертывать различные типы виртуальных машин. Все они могут быть настроены с точки зрения операционной системы, использования ресурсов и других аспектов. Большинство, если не все поставщики гипервизоров также позволяют нам создавать определенные шаблоны, которые можно развернуть простым нажатием кнопки.
Предположим, у вас есть сервер, на котором размещено несколько виртуальных машин. Если случайно, заражается вредоносным ПО. Весь процесс восстановления будет простым, поскольку у нас есть возможность просто повторно развернуть виртуальную машину со всем уже установленным на ней программным обеспечением. Это снова связано с тем, что мы развертываем виртуальную машину из шаблона. Это экономит драгоценное время при настройке машины, а поскольку виртуальные машины существуют в собственной изолированной среде, нет риска заражения других виртуальных машин.
Стоимость оборудования
Непрерывная стоимость обновления оборудования может быть непомерно высокой в любом бизнесе. Хотя виртуальным машинам все еще может потребоваться питание и лицензирование программного обеспечения, виртуальные машины являются экономически эффективным решением, поскольку использование ресурсов виртуальной машины можно лучше контролировать и настраивать на более дисциплинированное извлечение ресурсов, чем в системах на основе нескольких аппаратных средств.
Control
И снова виртуальные машины работают по централизованной схеме управления, которая позволяет быстро развертывать и контролировать все виртуальные машины из одной точки.Это более эффективно, чем управление несколькими рабочими станциями, в первую очередь, если они расположены в разных местах.
Аварийное восстановление
Риск потери данных в случае аппаратного сбоя невелик, поскольку виртуальные машины делают регулярные резервные копии своей истории. Все можно быстро и легко повторно развернуть, сэкономив драгоценное время на восстановление и повторное развертывание виртуальной машины.
Недостатки
Менее производительные
Виртуальные машины могут быть менее эффективными, чем выделенные серверы, поскольку они не имеют прямого доступа к оборудованию.Другими словами, у них нет собственного оборудования, но они должны полагаться на обмен данными через операционную систему, что может замедлить реакцию оборудования.
Потребление ресурсов
ВМ могут занимать значительный объем системных ресурсов хоста, особенно если мы запускаем несколько экземпляров ВМ. Кроме того, если распределение ресурсов настроено неправильно, это может привести к сбою хоста и всех других виртуальных машин с ним.
Безопасность
Хотя этот вопрос может быть спорным (поскольку виртуальные машины работают изолированно от остальной части операционной системы), они по-прежнему являются программными решениями.Они могут быть уязвимы для вредоносных программ, которые потенциально могут поставить под угрозу безопасность. Если злоумышленнику удастся получить доступ к самому гипервизору, все виртуальные экземпляры могут оказаться под угрозой. В таких ситуациях, если не было достаточного отказоустойчивого варианта, невозможно узнать, что виртуальные машины скомпрометированы. Этот тип сценария особенно пугает, если мы представим себе крупномасштабную операцию виртуализации, в которой задействованы сотни или тысячи виртуальных машин.
Заключение
Виртуализация и облачные системы — это будущее вычислительной техники.Проще говоря, виртуальные машины — это более экономичное решение, которое позволяет нам лучше, с меньшими затратами контролировать весь рабочий процесс среды и более эффективно распределять ресурсы между отдельными виртуальными машинами. Существует множество приложений для виртуализации, от облачных вычислений до простого тестирования новой операционной системы. Поскольку будущее компьютеров находится в облаке, виртуальные машины — долгожданное дополнение. Хотя и у контейнеров, и у виртуальных машин есть свои плюсы и минусы, лучший выбор для вашего бизнеса зависит от текущих потребностей вашего проекта.Однако оба могут быть выдающимися решениями для повышения рентабельности вычислений.
Мы гордимся тем, что являемся самыми полезными людьми в Hosting ™!
Наша служба поддержки всегда готова помочь с любыми вопросами, связанными с этой статьей, 24 часа в сутки, 7 дней в неделю, 365 дней в году.
С нами можно связаться через нашу систему продажи билетов по адресу [email protected], по телефону (800-580-4986) или через LiveChat или любым другим способом, который вы предпочитаете. Мы усердно работаем для вас, чтобы вы могли расслабиться.
Что такое виртуальная машина?
Когда большинство людей думают о виртуальных машинах, они склонны думать о некогда футуристических наборах виртуальной реальности или способе играть в старые видеоигры на вашем современном компьютере. Но мы говорим не о виртуальных машинах. Итак, что же такое виртуальная машина и какое отношение они имеют к разработчикам?
Мы все верим в свои операционные системы. Независимо от того, используете ли вы macOS, Windows, Linux, iOS или Android, у вас, вероятно, есть список причин, по которым ваша операционная система лучше.Ничего страшного — мы такие же.
Но если вы собираетесь сделать это как разработчик, вам придется изучить другие операционные системы, если вы хотите, чтобы ваши приложения и веб-страницы работали везде. Если вы работаете на Mac, как именно вы узнаете, что ваша программа работает в Windows? И кто может сказать, что замечательное веб-приложение, которое вы разработали для Android, будет выглядеть так же и в iOS?
Вот почему разработчики любят виртуальные машины. И, прочитав эту статью, вы тоже поймете, что это такое, как они работают и почему люди их используют.
Ваша операционная система и вы
Прежде чем мы углубимся в подробности виртуальных машин, важно сначала понять, что такое операционная система и как она работает.
Компьютеры, смартфоны и планшеты состоят из физических компонентов или оборудования. Жесткие диски, процессоры, аккумуляторы, вентиляторы и карты памяти — все это часть оборудования.
Операционная система (ОС) — это программное обеспечение, которое напрямую управляет аппаратными компонентами вашего компьютера или устройства.macOS, Windows, Linux, iOS и Android запрограммированы для управления оборудованием по-разному.
Когда вы используете приложение на своем компьютере или устройстве, ваша ОС использует аппаратные компоненты устройства для запуска этого приложения.
Что такое виртуальная машина?
Пока ваш компьютер или устройство имеет аппаратную емкость — достаточно памяти, вычислительной мощности и т. Д. — вы можете запускать практически любое приложение через свою ОС, если программный код совместим с ним.Вы даже можете запустить приложение, которое выглядит так, как будто вы используете совершенно другую ОС.
И это именно то, что представляет собой виртуальная машина. Это программное приложение, которое выглядит и работает как ОС, отличная от ОС, установленной на компьютере, мобильном устройстве или даже сервере.
Как работает виртуальная машина
Чтобы запустить виртуальную машину (ВМ), вам необходимо работать с хост-компьютером или сервером, который предоставляет аппаратные ресурсы. Это называется хост-машиной.Каждая виртуальная машина на конкретном хост-компьютере называется гостевой машиной.
Для управления аппаратными ресурсами хост-машины и гостевые машины используют специальный тип программного обеспечения, называемый гипервизором. Гипервизор разделяет — или резервирует — некоторую аппаратную емкость для виртуальной машины, такую как ЦП, память и хранилище. Таким образом виртуальная машина остается изолированной от остальной части системы хост-машины.
Когда вы используете виртуальную машину, операционная система распознает только выделенные ей ресурсы.Например, если у вас есть компьютер с 16 ГБ ОЗУ, а ваш гипервизор предоставляет виртуальной машине 4 ГБ ОЗУ, то системные настройки в ОС вашей виртуальной машины покажут, что вы используете компьютер с 4 ГБ ОЗУ.
Если виртуальной машине в любой момент требуется больше, чем выделенные ей ресурсы, то гипервизор управляет запросом, чтобы гарантировать, что хост-машина всегда работает в рамках своих ограничений.
Зачем нужна виртуальная машина?
Любой, кто участвует в разработке программного обеспечения — разработчики переднего плана, разработчики серверной части и разработчики полного стека — может извлечь выгоду из использования виртуальной машины.Это потому, что виртуальные машины предлагают большую гибкость тестирования. Можно даже сломать вещи без последствий!
Вот самые большие преимущества виртуальных машин:
Запуск нескольких операционных систем одновременно
Самым большим преимуществом использования виртуальной машины является запуск другой, а иногда и нескольких, разных операционных систем одновременно. Единственными ограничивающими факторами являются аппаратные ресурсы хост-машины.
Это означает, что всякий раз, когда вы разрабатываете приложения или программное обеспечение, вы можете эффективно тестировать свою работу в нескольких операционных системах без необходимости покупать другую физическую машину или использовать другой сервер.
Доступ к мощности сервера из любого места
Если вы используете сервер или хост-машину, то у вас есть доступ к вычислительной мощности сервера, если у вас есть онлайн-соединение с ним. Теоретически вы можете писать, запускать и тестировать высокопроизводительные программы с ноутбука или даже планшета.
Полная изоляция системы
Если вы разрабатываете приложение, последнее, что вам нужно, — это чтобы программа разрушила всю вашу систему из-за ошибки, которую вы упустили.
Виртуальные машины предоставляют разработчикам виртуальную песочницу для тестирования своих приложений перед их запуском непосредственно на физической машине. Если произойдет сбой диска в среде вашей виртуальной машины, это не повлияет на раздел диска хост-машины.
Недостатки виртуальных машин
Хотя виртуальные машины предлагают множество преимуществ, которые делают их отличным выбором для разработчиков, они не предлагают идеального решения. В частности, виртуальные машины снижают эффективность системы и усложняют сеть.
Виртуальные машины менее эффективны
Когда вы запускаете приложение в собственной ОС вашего компьютера, ОС может напрямую обращаться к аппаратным ресурсам компьютера. Но с виртуальной машиной разделенные аппаратные ресурсы доступны только косвенно. Когда вы запускаете приложение на виртуальной машине, виртуальная машина сначала запрашивает доступ к аппаратным ресурсам через ОС хост-машины. Это делает виртуальные машины медленнее и менее эффективными, чем если бы они работали как встроенная ОС.
Виртуальные машины усложняют сеть
Управление и безопасность сети физических машин может оказаться достаточно сложной задачей, и добавление виртуальных машин не упрощает эту задачу. Если вы планируете использовать виртуальную машину в своем следующем проекте разработки, убедитесь, что вы готовы выполнить небольшую дополнительную ИТ-работу, чтобы обеспечить безопасность своей виртуальной машины, или поговорите со своей ИТ-командой.
Используйте виртуальную машину для вашего следующего проекта разработки
Когда вы будете готовы начать изучение того, как создать свое первое приложение — будь то клиентское приложение React, внутреннее приложение JavaScript или приложение Python с Flask или Django — рассмотрите возможность использования виртуальной машины, чтобы увидеть, как она работает в различных средах ОС.
Если вы не знаете, как начать работу со своим первым приложением, ознакомьтесь с нашими карьерными путями. Мы поможем вам приобрести навыки, необходимые для успеха в вашей новой карьере разработчика.
Курсы и учебные пособия по веб-разработке | Codecademy
Веб-разработка — это практика разработки веб-сайтов и веб-приложений, которые живут в Интернете. Независимо от того, интересуетесь ли вы интерфейсом, серверной частью или полным стеком, контент в нашем домене веб-разработки поможет вам в этом.
A Полное руководство из 7 шагов
Виртуальная машина — это среда приложений, которая устанавливается в программном обеспечении. Виртуальная машина ведет себя как настоящий компьютер. Проще говоря, это похоже на создание компьютера на уже существующем компьютере. Он запускается в окне, независимо от того, какую конфронтацию конечный пользователь получает от операционной системы хоста, такой же опыт может возникнуть при использовании виртуальной машины.
Программный уровень, называемый «гипервизором», используется для отделения виртуальной машины в облачных вычислениях от хоста и динамически предоставляет вычислительные ресурсы каждой виртуальной машине, когда это необходимо.
Давайте посмотрим, что мы будем обсуждать в этой статье.
- Что такое виртуальная машина в облачных вычислениях? Обзор
- Каков рабочий процесс облачной виртуальной машины?
- Каковы основные свойства виртуальных машин?
- Что такое облачная виртуальная машина для Windows 10?
- Доступен ли виртуальный рабочий стол?
- Почему предпочтительнее выбирать виртуальную машину Google Cloud?
- Какая бесплатная облачная виртуальная машина пользуется наибольшим доверием?
1.
Что такое виртуальная машина в облачных вычислениях? ОбзорС помощью виртуальной машины в облачных вычислениях виртуальные хосты могут совместно использовать ресурсы между несколькими гостевыми или виртуальными машинами. У каждого из них будет свой экземпляр операционной системы. Двумя основными типами виртуальных машин являются виртуальные машины процессов и системные виртуальные машины.
- Виртуальная машина процессов запускает отдельный процесс как приложение на хост-машине. Виртуальная машина Java (JVM) рассматривается как пример виртуальной машины процесса.Эти типы облачных виртуальных машин позволяют любой системе запускать приложения Java, как если бы они были встроены в эту конкретную систему.
- Системная виртуальная машина — это полностью виртуализированная технология виртуальной машины в облачных вычислениях, предназначенная для замены физической машины. Он работает на другом хост-компьютере при правильном использовании гипервизора, такого как VMware ESXi, для доступа к ресурсам базовой машины.
Virtualbox в облачных вычислениях состоит из оставшейся системы.Это означает, что конкретное программное обеспечение, присутствующее внутри конкретной виртуальной машины в облачных вычислениях, не имеет доступа к компьютерным сбоям или подделкам.
Это непосредственно дает идеальную среду для тестирования других операционных систем, включая создание резервных копий операционной системы, доступность зараженных вирусами данных, бета-версии и запуск программного обеспечения или приложений в операционных системах, для которых они изначально не рассматривались.
2.
Каков рабочий процесс облачной виртуальной машины?Виртуализация 101
Серверы x86 имеют несколько ограничений.Чтобы преодолеть это, многие компании, занимающиеся информационными технологиями, начали развертывание на нескольких серверах. Это привело к увеличению неэффективности и высоким эксплуатационным расходам.
Настоятельно рекомендуется использовать технологию виртуальных машин в облачных вычислениях, которые полагаются только на программное обеспечение, которое напрямую стимулирует функциональность оборудования и которое, в свою очередь, приводит к созданию виртуальной облачной компьютерной системы. Это также позволяет многим компаниям, занимающимся информационными технологиями, запускать и использовать одну или несколько виртуальных сетей, а также несколько операционных систем и приложений, работающих на одном сервере.Преимущество использования этого привело к повышению эффективности и обеспечению масштабируемости экономики.
3.
Каковы основные свойства виртуальных машин? Виртуальная машинаCloud имеет множество важных характеристик, что дает несколько преимуществ. Немного из них:
A.
Сквозная изоляция- Обеспечивает полную изоляцию сбоев и безопасности на аппаратном уровне
- Помогает сохранить производительность с помощью расширенных средств управления ресурсами
B.
Независимость от оборудования- Обеспечивает предоставление или миграцию на любую виртуальную машину или любой физический сервер
C.
Quick Partitioning- Быстро запускает несколько операционных систем на одной физической машине
- Мгновенное разделение системных ресурсов между виртуальными машинами
D.
Включает инкапсуляцию- Легко сохраняет все состояние виртуальной машины в файлы.
- Перемещение и копирование виртуальных машин происходит плавно, как и файлов.
Давайте рассмотрим некоторые общие современные вопросы, связанные с виртуальными машинами.
4.
Что такое облачная виртуальная машина для Windows?Microsoft разработала собственного поставщика облачных услуг под названием «Azure». Azure предоставляет множество услуг для разработчиков программного обеспечения, и одна из этих услуг — «Виртуальные машины». Виртуальные машины создаются виртуально в облачных вычислениях Azure. Они похожи на стандартный компьютер. Виртуальная машина в облачных вычислениях Azure размещает множество образов на облачной платформе и делает развертывание довольно быстрым и простым.
Требования для создания облачной виртуальной машины windows 10-
● Хорошее и стабильное интернет-соединение
● Программное обеспечение RDP
● Edge или другие браузеры
● Зарегистрированная учетная запись в облаке Azure
5.
Доступен ли виртуальный рабочий стол?Виртуальный рабочий стол, в том числе, предназначен для службы виртуализации рабочих столов и приложений, представленных в облаке. Это единственная инфраструктура виртуальных рабочих столов (VDI), которая обеспечивает упрощенное управление, поддержку нескольких сеансов, оптимизацию для корпоративных приложений и среду служб удаленных рабочих столов (RDS).Используя эту облачную виртуальную машину, развертывание и масштабируемость настольных компьютеров и приложений можно выполнить за считанные минуты, а также получить встроенные функции безопасности и соответствия требованиям.
Особенности виртуального рабочего стола —
● Быстрая виртуализация и современное развертывание
● Предоставляет устаревшие настольные приложения для облачной виртуальной машины в течение нескольких минут с унифицированным управлением
● Надежная оптимизация Работа с виртуальной машиной в облаке с низкими затратами
● Инструменты и ресурсы, необходимые для миграции приложений, данных и инфраструктуры, доступны в их собственном темпе
6.
Почему предпочтительнее выбирать виртуальную машину Google Cloud?Выбор виртуальной машины Google может помочь распределить рабочую нагрузку, оптимизировать производительность, масштабируемость и безопасность при одновременном сокращении затрат без какого-либо рефакторинга приложений, которые изменяют миграцию или расширяют локальную среду. Виртуальная машина Google Cloud делает это за несколько минут.
Ключевые особенности виртуальной машины Google
● Посекундная оплата без дополнительных авансовых платежей или платы за завершение — это то, что виртуальная машина Google Cloud предоставляет
● Повышение производительности легко достигается с помощью специальных типов машин и рекомендаций по автоматическому подбору размеров
● Загрузка за считанные секунды благодаря гибкому, быстрому и безопасному хранилищу
● Модернизация предприятий при шифровании данных как в движении, так и в состоянии покоя
7.
Какая бесплатная облачная виртуальная машина пользуется наибольшим доверием?Бесплатная облачная виртуальная машина — это то, что предлагают многие компании. Но наиболее популярным и надежным является AWS (Amazon Web Services). Он дает практический опыт работы с бесплатными облачными платформами, услугами и продуктами виртуальных машин. Он также предлагает доступ к более чем 60 продуктам, чтобы начать создавать свою облачную виртуальную машину.
Ключевые особенности бесплатной облачной виртуальной машины
- Доступны различные типы бесплатных предложений в зависимости от использования продукта
- Бесплатно в течение 12 месяцев после даты первоначальной подписки на AWS
- Также доступны краткосрочные бесплатные пробные предложения, которые активируются в этот день один активирует конкретную услугу
- Упрощенные учебные пособия для нескольких вариантов использования
в облачных вычислениях лучше всего подходит для работы с экземплярами.Зная, что такое виртуальная машина, ее свойства и типы, становится проще понять ее работу. В этом блоге освещены такие вопросы, как определение, типы, последние разработки и т. Д.
Изучение последних разработок в области облачных вычислений на курсах, подготовленных экспертами, открывает ворота в светлое будущее. Взгляните на нашу программу последипломного образования по облачным вычислениям, онлайн-курс продолжительностью 5,5 месяцев под руководством инструктора, который поможет вам стать полноценным профессионалом в области облачных вычислений!
Virtual Machine Monitor — обзор
9.9 Риски безопасности, создаваемые управляющей ОС
Мы часто слышим, что виртуализация повышает безопасность, потому что монитор виртуальной машины или гипервизор значительно меньше операционной системы. Например, VMM Xen , описанный в разделе 5.8, содержит примерно 60 000 строк кода, что на один-два порядка меньше, чем в традиционной операционной системе. 14
Гипервизор поддерживает более сильную изоляцию между виртуальными машинами, работающими под ним, чем изоляция между процессами, поддерживаемая традиционной операционной системой.Тем не менее, гипервизор должен полагаться на управляющую ОС для создания виртуальных машин и передачи данных с гостевой виртуальной машины на устройства хранения и сетевые интерфейсы и обратно.
Небольшой VMM можно тщательно проанализировать; Таким образом, можно сделать вывод, что риски безопасности в виртуальной среде уменьшаются. Мы должны быть осторожны с такими радикальными заявлениями. Действительно, доверенная компьютерная база (TCB) 15 среды облачных вычислений включает не только гипервизор, но и ОС управления. ОС управления поддерживает инструменты администрирования, динамическую миграцию, драйверы устройств и эмуляторы устройств.
Например, TCB среды, основанной на Xen , включает не только оборудование и гипервизор, но и операционную систему управления, работающую в так называемом Dom0 (см. Рисунок 9.3). Системные уязвимости могут быть внесены как в программные компоненты Xen , так и в операционную систему управления. Анализ уязвимостей Xen показывает, что 21 из 23 атак была направлена на служебные компоненты управляющей виртуальной машины [90]; 11 атак были связаны с проблемами в гостевой ОС, вызванными переполнением буфера , 16 и 8 атак типа «отказ в обслуживании».
Рисунок 9.3. Доверенная вычислительная база среды на основе Xen включает оборудование, Xen и операционную систему управления, работающую в Dom0 . ОС управления поддерживает инструменты администрирования, динамическую миграцию, драйверы устройств и эмуляторы устройств. Гостевая операционная система и приложения, работающие под ней, находятся в DomU .
Dom0 управляет построением всех пользовательских доменов ( DomU ), процесс состоит из нескольких шагов:
- 1.
Выделить память в адресном пространстве Dom0 и загрузить ядро гостевой операционной системы из вторичного хранилища.
- 2.
Выделите память для новой виртуальной машины и используйте внешнее отображение 17 для загрузки ядра в новую виртуальную машину.
- 3.
Настройте начальные таблицы страниц для новой виртуальной машины.
- 4.
Освободите внешнее отображение в памяти новой виртуальной машины, настройте регистры виртуального ЦП и запустите новую виртуальную машину.
Вредоносный Dom0 может сыграть несколько неприятных уловок в момент создания DomU [215]:
- •
Отказаться от выполнения шагов, необходимых для запуска новой виртуальной машины, действие это можно рассматривать как атаку типа «отказ в обслуживании» .
- •
Измените ядро гостевой операционной системы таким образом, чтобы третья сторона могла отслеживать и контролировать выполнение приложений, работающих на новой виртуальной машине.
- •
Подорвите целостность новой виртуальной машины, установив неправильные таблицы страниц и / или установив неправильные регистры виртуального ЦП.
- •
Отказать в освобождении внешнего сопоставления и доступе к памяти во время работы новой виртуальной машины.
Давайте теперь обратим наше внимание на взаимодействие во время выполнения между Dom0 и DomU . Напомним, что Dom0 предоставляет набор абстрактных устройств гостевым операционным системам, используя разделенные драйверы .Внешний интерфейс такого драйвера находится в DomU , а его задний конец — в Dom0 , и оба взаимодействуют через кольцо в общей памяти (см. Раздел 5.8).
В исходной реализации Xen служба, работающая в DomU , отправляет данные или принимает данные от клиента, расположенного вне облака, используя сетевой интерфейс в Dom0 ; он передает данные на устройства ввода-вывода с помощью драйвера устройства в Dom0 . 18 Следовательно, мы должны обеспечить шифрование связи во время выполнения через Dom0 .Тем не менее, протокол Transport Layer Security (TLS) не гарантирует, что Dom0 не сможет извлечь криптографические ключи из памяти ОС и приложений, работающих в DomU .
Существенным недостатком безопасности Dom0 является то, что все состояние системы поддерживается XenStore (см. Раздел 5.8). Вредоносная виртуальная машина может запретить доступ к этому критическому элементу системы другим виртуальным машинам; он также может получить доступ к памяти DomU .Это подводит нас к дополнительным требованиям к конфиденциальности и целостности, предъявляемым к Dom0 .
Dom0 должно быть запрещено использовать внешнее отображение для разделения памяти с DomU , если DomU не инициирует процедуру в ответ на гипервызов от Dom0 . Когда это происходит, Dom0 должен быть снабжен зашифрованной копией страниц памяти и регистров виртуального ЦП. Весь процесс должен тщательно контролироваться гипервизором, который после доступа должен проверить целостность затронутого DomU .
Архитектура виртуализации, которая гарантирует конфиденциальность, целостность и доступность TCB системы на основе Xen , представлена в [215]. Безопасная среда, когда Dom0 нельзя доверять, может быть обеспечена только в том случае, если гостевое приложение способно безопасно хранить, обмениваться данными и обрабатывать данные. Таким образом, гостевое программное обеспечение должно иметь доступ к защищенному вторичному хранилищу на удаленном сервере хранения для хранения конфиденциальных данных и сетевых интерфейсов для связи с пользователем.Нам также нужна безопасная система времени выполнения.
Чтобы реализовать безопасную систему времени выполнения, мы должны перехватывать и контролировать гипервызовы, используемые для связи между Dom0 , которому нельзя доверять, и DomU , который мы хотим защитить. Должны быть разрешены гипервызовы Dom0 , которые не читают и не записывают в память DomU или его виртуальные регистры. Остальные гипервызовы следует ограничить полностью или в определенное время окна .Например, гипервызовы, используемые Dom0 для отладки или управления IOMMU 19 , должны быть запрещены.
Мы не можем ограничить некоторые гипервызовы, исходящие от Dom0 , даже если они могут нанести вред безопасности DomU . Например, внешнее отображение и доступ к виртуальным регистрам необходимы для сохранения и восстановления состояния DomU . Мы должны проверить целостность DomU после выполнения таких критически важных для безопасности гипервызовов.
Для защиты необходимы новые гипервызовы:
- •
Конфиденциальность и целостность виртуального ЦП виртуальной машины. Когда Dom0 хочет сохранить состояние виртуальной машины, гипервызов должен быть перехвачен, а содержимое регистров виртуального ЦП должно быть зашифровано. Когда восстанавливается DomU , контекст виртуального ЦП должен быть расшифрован, а затем должна быть выполнена проверка целостности.
- •
Конфиденциальность и целостность виртуальной памяти виртуальной машины.Гипервызов обновления таблицы страниц должен быть перехвачен, а страница должна быть зашифрована, чтобы Dom0 обрабатывал только зашифрованные страницы виртуальной машины. Чтобы гарантировать целостность, гипервизор должен вычислить хэш всех страниц памяти, прежде чем они будут сохранены Dom0 . Поскольку восстановленному DomU может быть выделена другая область памяти, необходима трансляция адресов (см. [215]).
- •
Свежесть виртуального процессора и памяти виртуальной машины.Решение — добавить к хешу номер версии.
Как и ожидалось, повышенный уровень безопасности и конфиденциальности приводит к увеличению накладных расходов. Измерения, представленные в [215], показывают увеличение от 1,7 до 2,3 раз для времени построения домена, от 1,3 до 1,5 для времени сохранения домена и от 1,7 до 1,9 для времени восстановления домена.
Как работает виртуализация серверов | HowStuffWorks
Преимущества виртуализации серверов могут быть настолько заманчивыми, что легко забыть, что этот метод не лишен определенных ограничений.Сетевому администратору важно изучить виртуализацию серверов, архитектуру и потребности своей собственной сети, прежде чем пытаться разработать решение.
Для серверов, предназначенных для приложений с высокими требованиями к вычислительной мощности, виртуализация не лучший выбор. Это потому, что виртуализация по существу делит вычислительную мощность сервера между виртуальными серверами. Когда вычислительная мощность сервера не соответствует требованиям приложений, все замедляется. Задачи, выполнение которых не займет много времени, могут длиться часами.Хуже того, возможно, что система выйдет из строя, если сервер не сможет удовлетворить потребности обработки. Сетевым администраторам следует внимательно изучить использование ЦП, прежде чем разделять физический сервер на несколько виртуальных машин.
Также неразумно перегружать ЦП сервера, создавая слишком много виртуальных серверов на одной физической машине. Чем больше виртуальных машин должен поддерживать физический сервер, тем меньше вычислительной мощности может получить каждый сервер. Кроме того, на физических серверах имеется ограниченный объем дискового пространства.Слишком много виртуальных серверов может повлиять на способность сервера хранить данные.
Еще одно ограничение — миграция. В настоящий момент можно перенести виртуальный сервер с одной физической машины на другую, только если обе физические машины используют процессор одного производителя. Если в сети используется один сервер, работающий на процессоре Intel, а другой — на процессоре AMD, невозможно перенести виртуальный сервер с одной физической машины на другую.
Почему администратору в первую очередь нужно переносить виртуальный сервер? Если физический сервер требует обслуживания, перенос виртуальных серверов на другие машины может сократить время простоя приложений.Если миграция невозможна, все приложения, работающие на виртуальных серверах, размещенных на физической машине, будут недоступны во время обслуживания.
Многие компании инвестируют в виртуализацию серверов, несмотря на ее ограничения. По мере развития технологии виртуализации серверов потребность в огромных центрах обработки данных может уменьшиться. Энергопотребление серверов и тепловыделение также могут снизиться, что сделает использование серверов не только привлекательным с финансовой точки зрения, но и экологической инициативой. По мере того, как сети используют серверы, максимально приближенные к их потенциалу, мы можем увидеть более крупные и эффективные компьютерные сети.Не будет преувеличением сказать, что виртуальные серверы могут привести к полной революции в компьютерной индустрии. Нам просто нужно подождать и посмотреть.
Чтобы узнать больше о виртуализации серверов и других темах, воспользуйтесь множеством ссылок со следующей страницы.
Как виртуальные машины предоставляют функции операционной системы
Как виртуальные машины используют функции ОС
Планирование виртуальных потребностей
Один из основных компонентов, обеспечивающих работу виртуальной машины, называется виртуальным процессором , который управляется планировщиком в самой виртуальной среде.Планировщик процессов , по сути, позволяет одновременно выполнять несколько процессов в ЦП. Это создает необходимые ресурсы, необходимые для многозадачности, которая на сегодняшний день стала стандартом и необходимым выбором для всех текущих операционных систем. Планировщик виртуального ЦП использует часть фактического процессора внутри самого компьютера для выделения определенного количества ресурсов активной виртуальной машине. Вы можете думать об этом как о вторичном цифровом процессоре, на котором виртуальная машина полагается для всех потребностей ЦП.
The Scoop On Input / Output
Компьютерная среда любого типа должна иметь нечто, называемое базовой системой ввода / вывода (BIOS) , которая является одной из наиболее важных частей операционной системы. Он контролирует все аспекты самого компьютера, предоставляя прямой доступ к подключенным к нему устройствам. Виртуальная машина ничем не отличается, но она использует базовую систему ввода / вывода виртуальной машины (VM BIOS) для правильной загрузки операционной системы.BIOS виртуальной машины в некоторой степени более ограничен, чем аппаратный BIOS самого компьютера. Поскольку виртуальные машины представляют собой программные операционные системы, им нужен способ доступа к фактическому оборудованию хоста, чтобы имитировать реальную компьютерную систему. Это позволяет виртуальной машине использовать мышь, жесткие диски и даже принтер в виртуальной среде.
Недостатки
Использование виртуальных машин дает некоторые существенные преимущества, но следует также отметить некоторые ограничения, которые они имеют.Это может быть правдой, что вы можете запускать столько виртуальных машин, сколько хотите в хост-системе, но существуют очевидные физические ограничения относительно того, насколько далеко вы можете их продвинуть.
В зависимости от того, насколько надежна хост-система, попытка одновременного запуска нескольких виртуальных машин может вызвать серьезные проблемы со стабильностью для всей системы, если не используется эффективно. Кроме того, виртуальная машина эмулируется и будет не такой эффективной, как операционная система, использующая аппаратное обеспечение самого компьютера.Это лишь незначительные проблемы, но плюсы обычно перевешивают минусы, когда дело доходит до использования среды виртуальной машины.
Раздувание памяти
Есть несколько отличных методов для оптимизации использования виртуальной машины, особенно при одновременном использовании нескольких экземпляров. Для борьбы с проблемами производительности в виртуальных машинах существует хорошо известный метод экономии памяти, который называется раздутием памяти . Это позволяет основной хост-системе брать неиспользуемую память с других виртуальных машин и перераспределять ее между более требовательными машинами.Раздувание памяти отлично подходит для общих целей, но также может случайно привести к некоторым проблемам с производительностью.
Иногда раздувание памяти может привести к чрезмерной компенсации и опустошению памяти конкретной виртуальной машины, в результате чего она полностью перестает отвечать на запросы. Чтобы справиться с этой проблемой, существует еще один метод экономии памяти, который называется подкачка памяти . Это позволяет выгружать память виртуальных машин на жесткий диск, что позволяет освободить и перераспределить всю память по мере необходимости.Передача данных на диск и с диска повлияет на производительность, замедляя ее, но тогда виртуальные машины смогут работать без перебоев, не беспокоясь о нехватке памяти.
Резюме урока
Виртуальные машины имеют много общего и имеют несколько отличий по сравнению с аппаратной операционной системой. Всем операционным системам требуется BIOS для загрузки и получения доступа к устройствам, подключенным к компьютеру, и это не является исключением для среды виртуальной машины.Им также нужен виртуальный процессор , основанный на реальном оборудовании, чтобы запускать и обрабатывать всю информацию, как на реальном компьютере. При попытке запустить одновременно несколько виртуальных операционных систем потенциально могут возникнуть проблемы с производительностью или памятью. Все это зависит от оборудования в самой хост-системе, но есть несколько методов экономии памяти, которые можно развернуть, чтобы помочь виртуальным машинам работать более эффективно.
Раздувание — это первый метод, который позволяет хост-системе восстанавливать память виртуальных машин и перераспределять их туда, где они больше всего нужны.Иногда это выходит за рамки допустимого и требует слишком много памяти; таким образом, второй используемый метод называется подкачкой памяти . Это заставляет передать память на жесткий диск, чтобы освободить как можно больше памяти. Это может значительно снизить производительность, если вы потребляете много памяти, но поможет поддерживать все виртуальные машины активными и работающими. Как использовать виртуальные машины — решать вам, но в последние годы они приобрели большую популярность благодаря всем значительным преимуществам и функциям, которые они предлагают пользователю.
Что такое виртуальная машина и как она работает?
Виртуальная машина — это не совсем компьютер, это виртуальный или онлайн-файл или изображение, которое функционирует и ведет себя как настоящий компьютер. Вы также можете рассматривать его как компьютер в компьютерной системе.
Он используется для работы в операционных системах, таких как Windows, что почти похоже на любую другую компьютерную программу. Он предоставляет пользователю те же возможности, что и виртуальная машина, которую пользователь использует для доступа к самой операционной системе.
Эта виртуальная машина изолирована (система безопасности, которая отделяет все запущенные программы в операционной системе) от других файлов и приложений компьютера, поэтому программа, используемая внутри виртуальной машины, может нанести вред системе или ускользнуть из нее.
Он обеспечивает идеальную ситуацию для тестирования других операционных систем и программ, включая бета-версии, выявление зараженных программ, выполнение дополнительных функций операционной системы и запуск программ или приложений в операционных системах, для которых они изначально не планировались.
Вы всегда можете иметь несколько виртуальных машин, работающих или работающих в одной компьютерной системе. Что касается серверов, различные операционные системы запускаются одна за другой с небольшим программным обеспечением, называемым гипервизором, для управления ими, в то время как настольные компьютеры обычно используют одну операционную систему для запуска других операционных систем в своих окнах программ.
Каждая виртуальная машина предоставляет свое конкретное виртуальное оборудование, включая процессоры, память, жесткие диски, интерфейсы аранжировки и различные гаджеты.
Затем виртуальное оборудование и система сопоставляются с реальным оборудованием на физической машине, что позволяет сэкономить средства за счет уменьшения требований к физическим аппаратным системам наряду с соответствующими затратами на техническое обслуживание, которые связаны с ними, в дополнение к уменьшению требований к питанию и охлаждению.
Важность и типы виртуальных машин
Виртуальные машины сегодня становятся все более типичными с развитием инноваций и технологий виртуализации.Виртуальные машины часто создаются для выполнения определенных задач, которые не совпадают с задачами, выполняемыми в ситуации и среде хоста.
Виртуальные машины обычно создаются для работы с программными стратегиями копирования или методами аппаратной виртуализации. В зависимости от их использования и уровня соответствия любому физическому КОМПЬЮТЕРУ виртуальные машины можно разделить на два основных типа:
# Системные виртуальные машины :
Системная платформа, которая поддерживает совместное использование физических активов главного компьютера между различными виртуальными машинами, каждая из которых работает со своей конкретной копией операционной системы.Стратегия виртуализации задается программным уровнем, известным как гипервизор, который может работать как на непокрытом оборудовании, так и в операционной системе.
# Виртуальная машина процесса :
Предназначен для обеспечения условия программирования, свободного от платформы, которое скрывает данные скрытого оборудования или операционной системы и позволяет выполнять программы аналогичным образом на любом заданном этапе.
Узнайте о преимуществах виртуальной машины
— Виртуальные машины широко доступны, ими легко управлять и не отставать.
— Предлагает альтернативы инициализации приложений и восстановлению после аварии.
— Разрешает множество ситуаций операционной системы на отдельном физическом компьютере без посредника.
Некоторые другие недостатки виртуальных машин включают
— Они не такие программные, как физический компьютер, потому что аппаратные средства обращаются необычно.
— Различные виртуальные машины, работающие на одной физической машине, могут вызывать плохое выполнение.
Некоторые часто задаваемые вопросы о виртуальной машине
# В чем идея виртуальной машины?
Виртуальная машина также известна как — ВМ — это программа или операционная система, которая не только показывает поведение одиночного или отдельного ПК, но в то же время подходит для выполнения многих задач, например, запуска приложений и компьютерных программ, таких как другой ПК.
# Как работают виртуальные машины?
Виртуальная система ПК известна как «виртуальная машина» или ВМ; Прочно уединенный программный контейнер, который включает внутри операционную систему и приложение.Размещение различных виртуальных машин на одном ПК дает возможность нескольким операционным системам и приложениям продолжать работу только на одном физическом сервере или «хосте».
# Что вы подразумеваете под виртуальной машиной?
Виртуальная машина — это компьютер с программным обеспечением, который похож на любой другой обычный физический компьютер, на котором работает операционная система и приложения. Виртуальная машина включает набор специальных и установочных документов и поддерживается физическими активами хоста.Вам никогда не придется прикасаться к другим основным программам или файлам.
# Какая нагрузка на виртуальную машину?
Гипервизор может имитировать различные этапы виртуального оборудования, которые отделены друг от друга, что позволяет виртуальным машинам запускать операционные системы Windows Server, а также Linux на одном и том же скрытом физическом узле. Виртуализация ограничивает стоимость за счет уменьшения требований к физическим аппаратным системам.
# Какой пример виртуальной машины?
Виртуальные машиныидеально подходят для тестирования других операционных систем — например, новой Windows 8 или других операционных систем Linux.Таким же образом вы всегда можете использовать виртуальные машины для программирования в операционных системах, для которых они не предназначены, так как вы можете запускать программы Windows на Mac с помощью виртуальной машины.
# Как виртуальные машины работают или работают на сервере?
Виртуальные серверы также могут использоваться для увеличения емкости или для объединения различного физического оборудования в единое виртуализированное хранилище. Последний вид — это аппаратная виртуализация, хорошая виртуальная машина состоит из этих частей.Рабочая модель такая же, как у реальной машины, и обычно представляет собой ПК с операционной системой.
# Что такое виртуальная операционная система?
При регистрации виртуальная машина также известна как — ВМ, это копия или эмуляция компьютерной системы. Виртуальные машины зависят от компьютерной системы и архитектуры и обеспечивают полезность физического компьютера. Их использование может включать определенное оборудование, программирование или сочетание того и другого.
# Почему виртуализация так важна?
Важнейшей возможностью виртуализации является возможность запускать различные операционные системы и приложения на одном или отдельных компьютерах или серверах.Это подразумевает расширение и повышение эффективности за счет меньшего количества серверов.
.