Баннер мобильный (1) Пройти тест

Виртуализация

Глоссарий

9 августа 2023

Поделиться

Скопировано

Содержание

    Виртуализация — обособление части логических ресурсов вычислительной системы для выполнения изолированных процессов (или их совокупности) на одном и том физическом устройстве. Эта технология позволяет эффективно расходовать возрастающие возможности аппаратных платформ, распределяя их между несколькими программами или процессами, что широко используется в различных областях IT-индустрии.

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

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

    • аппаратная часть — долговременная память (винчестер, твердотельный накопитель), оперативная память, процессор, устройства ввода-вывода и т.д.;
    • программная часть — БИОС (набор программ для работы с аппаратным обеспечением) и операционная система (ПО для управления компьютером и запуска прикладных приложений).

    Среднестатистический пользователь использует на одном компьютере одну операционную систему — этого достаточно для большинства повседневных задач (игр, серфинга в интернете, общения в соцсетях и т.д.). При этом ОС и установленные в ней прикладные и системные программы задействуют все вычислительные ресурсы компьютера: объем долговременной и оперативной памяти, производительность основного и графического процессора. 

    Однако в некоторых ситуациях могут понадобиться, например, две операционные системы. На Linux удобнее программировать, а на Windows — играть в игры и рисовать в графических редакторах. Чтобы заниматься и тем, и другим, можно использовать три варианта:

    • Купить еще один компьютер под другую операционную систему, что сопряжено с определенными финансовыми тратами.
    • Поставить параллельно две операционные системы на один компьютер. При этом, чтобы программировать, придется переключаться на Linux, а для игр и рисования — на Windows. Не слишком удобно, особенно если в одной из операционных систем вдруг произойдет системная ошибка. Кроме того, каждая ОС при входе в нее будет автоматически «отключать» другую и полностью использовать аппаратные возможности машины. 
    • Создать в одной системе (например, в Windows) виртуальную машину — это изолированная программная среда, имитирующая работу отдельного компьютера. А уже в нее инсталлировать Linux. При этом для «гостевой» операционной системы резервируются отдельные вычислительные мощности. У нее есть свой виртуальный процессор, оперативная и долговременная память, сетевое подключение и т.д. Благодаря этому ОС не конфликтуют за ресурсы и работают независимо друг от друга.

    Третий вариант — как раз один из частных случаев виртуализации. Он очень популярен именно среди пользователей обычных ПК. Его преимущество перед параллельной установкой операционных систем в том, что основная и дополнительная ОС могут работать одновременно. Таких виртуальных компьютеров на одном физическом можно создать сколько угодно — главное, чтобы хватало аппаратных ресурсов. 

    Если рассматривать логическую схему виртуализации, то можно выделить три основных составляющих:

    • хост-система — это основная ОС, в рамках которой происходят создание и функционирование изолированной виртуальной среды;
    • «гостевая» система — это ОС (или иная программа, процесс), которая работает внутри изолированной виртуальной среды;
    • гипервизор — это программа (по сути, тоже ОС), с помощью которой осуществляются создание и управление виртуальной средой, распределение ресурсов между основной и гостевой ОС, их изоляция друг от друга.

    Для понимания виртуализации можно привести следующую приблизительную аналогию: актер, играющий роль другого человека. Находясь в своем сознании, он временно принимает на себя чужую личность, как бы виртуализируя ее. В этом случае его мозг — это аппаратная платформа, основная личность выполняет функцию главной операционной системы, роль, которую он играет, — это «гостевая» ОС, а набор навыков «актерское мастерство» — гипервизор. При этом актер во время работы сознательно изолирует свое «я» от личности, которую он играет. 

    Виды виртуализации

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

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

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

    Благодаря такой архитектуре программная виртуализация отличается простой реализацией и может быть осуществлена практически на любой аппаратной платформе, имеющей достаточные вычислительные мощности. Недостаток такого способа заключается в сравнительно низкой производительности: команды, выработанные гостевой ОС, сначала проходят через гипервизор и основную систему, прежде чем достигнут непосредственно аппаратной части.

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

    Здесь можно привести аналогию с человеком, страдающим диссоциативным расстройством идентичности или, по-простому, множественными личностями. Его мозг — это физическое устройство, «родная» личность — основная операционная система, а появившиеся в результате расстройства новые «я» — это виртуальные машины. При этом его дополнительные личности изолированы как друг от друга, так и от основной. Каждая из них, совершая какие-то действия или реализуя потребности, напрямую задействует мозг и основные психические функции.

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

    Контейнерная. Это отдельный вид виртуализации, отличающийся от предыдущих тем, что в рамках основной операционной системы изолируется не другая ОС, а отдельные процессы. При этом он выполняется (инкапсулируется) в своем собственном окружении — с выделенной сетью, дисковым пространством, файловой системой и т.д. С помощью контейнерной виртуализации нельзя запустить, например, ОС Linux на Windows. Она предназначена в первую очередь для запуска отдельных сервисов и программ, входящих в состав какого-либо ПО.

    Применение виртуализации

    Впервые виртуализация была разработана еще в 60-х годах прошлого века, однако долгое время рассматривалась скорее как интересный технический эксперимент, а не полезная прикладная функция. Лишь компания IBM внедряла поддержку виртуализации в своих мейнфреймах для сохранения старых версий операционных систем. Только в конце 90-х годов, когда начался взрывной рост производительности как серверных, так и обычных персональных ПК, эта технология начала широко применяться для создания нескольких виртуальных машин на одной аппаратной платформе. 

    Сегодня средства виртуализации широко используются в различных направлениях IT-индустрии, например:

    • В веб-хостинге. Виртуализация серверов позволяет создать на одной физической платформе несколько изолированных виртуальных пространств. Тем самым эффективно расходуются возможности аппаратных платформ и уменьшается стоимость хостинговых услуг для владельцев сайтов. 
    • В разработке. С помощью виртуализации можно создать на рабочей платформе изолированные виртуальные среды для тестирования приложений, влияющих на настройки операционной системы. Также эта технология удобна при проверке работоспособности программ в различных ОС, а также самих операционных систем. 
    • В кибербезопасности. Создав изолированную среду виртуализации, можно запускать в нее различные компьютерные вирусы и изучать их поведение. При этом основная операционная система, обеспечивающая работу аппаратной платформы, будет защищена от их проникновения. 
    • В игровой индустрии. Виртуализация позволяет создавать на мощных серверах виртуальные платформы для игр. Подключаясь к ним по широкополосному высокоскоростному интернету, пользователи могут за умеренную плату играть в любые современные игры на маломощных ПК — необходимые вычислительные мощности предоставляет сам сервер. 

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

    Поделиться

    Скопировано

    0 комментариев

    Комментарии