Добавлен: 06.07.2023
Просмотров: 23
Скачиваний: 2
Виртуальная машина
Виртуальная машина - программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target — целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-платформе (host — хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы также спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования Си»).
Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. Помимо процессора, ВМ может эмулировать работу как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жёсткий диск и другие периферийные устройства). В последнем случае в ВМ, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот). На одном компьютере может функционировать несколько виртуальных машин (это может использоваться для имитации нескольких серверов на одном реальном сервере с целью оптимизации использования ресурсов сервера).
Немного теории
Концепция виртуальной машины как совокупности ресурсов, которые симулируют поведение реальной машины, появилась в Кембридже в конце 1960-х годов в виде расширения концепции виртуальной памяти манчестерской вычислительной машины Atlas. В целом вычислительный процесс определяется в рамках этой концепции содержимым того рабочего пространства памяти, к которому он имеет доступ. При условии, что конкретная ситуация в этом рабочем пространстве соответствует ожидаемой, процесс не имеет никаких средств для определения того, является ли представленный ему ресурс действительно физическим ресурсом этого типа, или же он имитируется действиями других ресурсов, которые приводят к аналогичным изменениям содержимого рабочего пространства процесса.
Применение
Виртуальные машины могут использоваться для:
- защиты информации и ограничения возможностей программ (см.: песочница);
- исследования производительности ПО или новой компьютерной архитектуры;
- эмуляции различных архитектур (например, эмулятор игровой приставки);
- оптимизации использования ресурсов мейнфреймов и прочих мощных компьютеров
- запуска вредоносного кода с целью перехвата управления инфицированной системой: вирус PMBS, обнаруженный в 1993 году, а также руткит SubVirt, созданный в 2006 году в Microsoft Research, создавали виртуальную систему, которой ограничивался пользователь и все защитные программы (антивирусы и прочие).
- моделирования информационных систем с клиент-серверной архитектурой на одной ЭВМ (эмуляция компьютерной сети с помощью нескольких виртуальных машин).
- упрощения управления кластерами — виртуальные машины могут просто мигрировать с одной физической машины на другую во время работы.
- тестирования и отладки системного программного обеспечения;
- проверки программ на содержание вредоносного ПО.
Как использовать виртуальные машины дома
Большинство пользователей персональных компьютеров часто сталкиваются с проблемой использования потенциально опасных или нестабильных приложений, которые могут либо повредить операционную систему, либо оказать влияние на работу других программ. Зачастую домашний компьютер, на котором расположены также и рабочие документы, используется несколькими людьми, среди которых не все понимают, как правильно с ним обращаться, чтобы не повредить важные данные или операционную систему. Создание учетных записей типа «User» не решает этой проблемы, поскольку для установки многих приложений необходимы административные права, и работа за компьютером в таком режиме существенно ограничивает его использование. Безусловно, многие сталкиваются также и с проблемой перенесения операционной системы и установленных приложений на другой компьютер при его покупке. Категория пользователей, активно использующих ноутбуки, сталкивается с проблемой синхронизации данных между ним и стационарным компьютером. Ведь необходима не только синхронизация файлов, но требуется также использовать одни и те приложения на работе и дома. Для множества людей, немаловажна также возможность обучения работе с различными операционными системами, от которых в этом случае не требуется высокого быстродействия. При этом, например, работая в Linux, пользователю требуется обращаться к Windows-приложениям, и для этого приходится перезагружать компьютер. И главной проблемой при обучении является невозможность моделирования реальной сети между несколькими компьютерами при наличии в распоряжении одного. Все эти и множество других проблем, позволяет решить использование виртуальных машин в настольных системах виртуализации.
Настольные платформы виртуализации в бизнесе
Для большинства компаний, когда идет речь о виртуализации, это, в первую очередь, означает виртуализацию серверной инфраструктуры предприятия. Однако есть множество решений на базе виртуальных машин для конечных пользователей, значительно повышающих эффективность работы сотрудников компании. Рассмотрим основные сферы применения виртуальных машин в бизнесе на платформах виртуализации пользователей настольных компьютеров: