Лекция
виртуальная машина (Virtual Machine, VM) - это программное обеспечение или оболочка, которая имитирует работу физической машины (компьютера) в виртуальной среде. Виртуальные машины создаются для изоляции и запуска приложений или операционных систем внутри них, что позволяет использовать одну физическую машину для одновременного выполнения нескольких различных задач и операционных систем.
Основные характеристики виртуальных машин:
Изоляция: Виртуальные машины полностью изолированы друг от друга и от хост-системы (физической машины). Это означает, что приложения и операционные системы, работающие внутри VM, не влияют друг на друга.
Поддержка разных ОС: Вы можете запускать разные операционные системы, такие как Windows, Linux, macOS и другие, на одной физической машине.
Портабельность: Виртуальные машины могут быть легко перемещены с одной физической машины на другую, что обеспечивает высокую портабельность приложений и окружений.
Снимки состояния: Виртуальные машины позволяют создавать снимки состояния, что позволяет сохранять текущее состояние виртуальной машины и восстанавливаться к нему при необходимости.
Использование ресурсов: Виртуальные машины разделяют ресурсы физической машины, такие как процессор, память и хранилище, что делает эффективным использование оборудования.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение компьютера (guest — гостевая платформа) и исполняющая программы для guest-платформы на host-платформе (host — хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы (см.: песочница); также спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования Си»).
Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. Помимо процессора, ВМ может эмулировать работу как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жесткий диск и другие периферийные устройства). В последнем случае на виртуальную машину, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот). На одном компьютере может функционировать несколько виртуальных машин (это может использоваться для имитации нескольких серверов на одном реальном сервере с целью оптимизации использования ресурсов сервера).
Концепция виртуальной машины как совокупности ресурсов, которые симулируют поведение реальной машины, появилась в Кембридже в конце 1960-х годов в виде расширения концепции виртуальной памяти манчестерской вычислительной машины Atlas . В целом вычислительный процесс определяется в рамках этой концепции содержимым того рабочего пространства памяти, к которому он имеет доступ. При условии, что конкретная ситуация в этом рабочем пространстве соответствует ожидаемой, процесс не имеет никаких средств для определения того, является ли представленный ему ресурс действительно физическим ресурсом этого типа, или же он имитируется действиями других ресурсов, которые приводят к аналогичным изменениям содержимого рабочего пространства процесса.
Например, процесс не может определить, монопольно ли он использует процессор или же в режиме мультипрограммирования вместе с другими процессами. В виртуальной машине ни один процесс не может монопольно использовать никакой ресурс, и все системные ресурсы считаются ресурсами потенциально совместного использования. Кроме того, использование виртуальных машин обеспечивает развязку между несколькими пользователями, работающими в одной вычислительной системе, обеспечивая определенный уровень защиты данных.
Идея виртуальной машины лежит в основе целого ряда операционных систем, в частности, IBM VM/CMS (и ее советского клона СВМ) и DEC VAX/VMS.
Виртуальные машины могут использоваться для:
Некоторые известные виртуальные машины:
Среды языков программирования
|
Операционные системы и гипервизоры
|
Автономные эмуляторы компьютеров
|
Применение виртуальных машин включает в себя тестирование и разработку программного обеспечения, обеспечение изоляции приложений, создание тестовых и образов виртуальных машин, обеспечение отказоустойчивости, а также упрощение управления и обслуживания серверов и вычислительных ресурсов. Виртуализация также играет важную роль в области облачных вычислений
Комментарии
Оставить комментарий
Операционные системы и системное программировние
Термины: Операционные системы и системное программировние