Что такое виртуализация
hard

Что такое виртуализация

Как запустить операционку внутри операционки внутри операционки

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

Что такое виртуализация

Представьте, что у вас есть компьютер на Windows, но вы хотите попробовать немного поработать в Linux — познакомиться с этой операционной системой и решить, стоит ли на неё переходить. Очевидный способ — скачать систему на флешку, загрузиться с неё и установить полноценный Linux на компьютер.

Но у такого подхода есть минус, покажем на примере:

  1. Вы установили Linux второй системой, чтобы, если что, — можно было перезагрузиться назад в Windows.
  2. Загрузились в Linux.
  3. Увидели, что всё остановилось на командной строке, а что вводить дальше — непонятно.
  4. Перезагрузились в Windows, нашли решение в интернете, записали команды на листочек.
  5. Перезагрузились обратно в Linux, ввели команды, появился рабочий стол и графический интерфейс, но интернета нет.
  6. Перезагрузились в Windows, и всё по новой.

Получается, что системы на компьютере две, но толком поработать не получается ни в одной — по крайней мере, первое время.

Есть другой способ — использовать виртуальную систему и поставить Linux туда. Работает это, например, так:

  1. Запускаете Windows.
  2. Устанавливаете специальную программу, которая создаст внутри вашей системы виртуальный компьютер.
  3. Устанавливаете туда Linux, и он там работает как будто на отдельном компьютере.
  4. А для Windows такая виртуальная система будет выглядеть как одна большая программа, которую в любой момент можно свернуть, закрыть или переключиться с неё на другую программу.

Это не единственный способ виртуализации, но он самый популярный среди обычных пользователей. Удобство в том, что таких виртуальных компьютеров можно создать много и запускать одновременно (если хватает ресурсов) или по очереди. Например, внутри Windows можно создать одну виртуальную машину для тестовой установки Ubuntu, а в другой поставить Debian и софт для тестирования серверных приложений. 

Гипервизор

Гипервизор — это программа, которая работает на компьютере и превращает часть реального железа в начинку для виртуального компьютера. Например, у нас есть процессор 8 ядер, 16 гигабайт оперативной памяти, SSD на 512 гигабайт и Wi-Fi.

После запуска гипервизор берёт это железо, отщипывает от него понемножку и собирает это всё в один виртуальный компьютер. При этом Wi-Fi он не делит, а берёт целиком, но пропускает через себя, как будто в компьютере стоит другой модуль беспроводной связи. На выходе у нас получается виртуальный компьютер, где стоит 4 гигабайта оперативной памяти, двухъядерный процессор и 100 гигабайт на жёстком диске.

Задача гипервизора — следить за тем, чтобы гостевая система работала только внутри выделенных ресурсов и не залезала в хост-систему. А ещё он смотрит за работоспособностью гостевой системы и сообщает, если что-то идёт не так.

Как запустить операционку внутри операционки внутри операционки

Программная виртуализация

Программный гипервизор — это эмулятор, программа, которая запускается внутри операционной системы и имитирует работу виртуального компьютера. Всё, что она делает, — это выделяет немного ресурсов и следит за тем, чтобы гостевая система не вышла за их пределы. Иногда такой гипервизор позволяет обращаться к секторам диска или регистрам процессора напрямую, но так бывает не всегда.

Программные гипервизоры проще в установке и могут работать почти на любом железе. Но из-за того, что все команды и разрешения на доступ к железу проходит через них, то реальная скорость работы системы на таком гипервизоре ниже, чем на таком же, но настоящем железе.

Как запустить операционку внутри операционки внутри операционки
Ubuntu работает внутри Windows благодаря гипервизору Oracle VirtualBox
Как запустить операционку внутри операционки внутри операционки
Четыре виртуальные системы, запущенные одновременно. Гипервизор — VMWare Workstation

👉 Кстати, Bluestack, эмулятор Андроида на ПК — это программный гипервизор, который превращает часть ресурсов компьютера в телефонное железо:

Как запустить операционку внутри операционки внутри операционки

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

Аппаратный гипервизор работает иначе: вместо того чтобы запускаться на хост-системе, он сам становится такой системой. По сути, аппаратный гипервизор — это такая мини-операционная система, единственная задача которой запускать поверх себя любые другие операционные системы и давать им больше свободы в доступе к железу. 

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

Как запустить операционку внутри операционки внутри операционки
Окно настроек аппаратного гипервизора Xen

Где применяются виртуальные системы

Главная задача виртуальных систем — использовать железо по максимуму. Для этого гипервизоры ставят:

  • на серверы в интернете, чтобы получить виртуальные серверы, на которых можно, например, сделать свой хостинг;
  • на игровые видеосерверы — так работает облачный гейминг;
  • для тестирования софта — например, если нужно протестировать одну и ту же программу сразу в нескольких версиях Windows;
  • на домашние компьютеры, чтобы одновременно работать в нескольких операционных системах или тестировать новые возможности систем;
  • для создания безопасных «песочниц», куда можно запускать вирусы и трояны, чтобы изучить их поведение.

С чего начать

Популярные софтовые гипервизоры — VMWare Workstation, Parallels Desktop и Oracle Virtualbox. Устанавливаете любой, какой вам понравится, и разворачиваете в нём нужную операционку. Всё.

Что дальше

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

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
hard