Главная    Разработка ПО    Виртуальные машины

Виртуальные машины

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

Впервые термин «Виртуальная машина» появился в конце шестидесятых годов прошлого века, когда электронные вычислительные машины стали неотъемлемой частью жизни человека. Однако, они разительно отличались от современных персональных ЭВМ и представляли собой огромные и дорогие устройства. Экономически невыгодно было отдавать таких монстров в единоличное владение отдельным пользователям, поэтому начали развиваться интерактивные многотерминальные системы разделения времени.

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

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

Две виртуальные машины VMware Work Station с установленными ОС Linux Red Hat и Linux Ubuntu, запущенные на ЭВМ с ОС Windows XP

По существу, виртуальная ЭВМ ничем не отличается от реальной и представляет собой набор программных средств, имитирующих работу реальной ЭВМ. Для нее можно выбирать аппаратную конфигурацию, например, объем оперативной памяти и жесткого диска, наличие аудио адаптеров, дисководов, сетевых плат и других элементов ЭВМ.

Когда виртуальная ЭВМ создана и запущена, то создается полная иллюзия работы с реальным компьютером. Все это дает пользователям множество преимуществ, к которым в первую очередь относятся:

1. Возможность запускать в рамках одной реальной ЭВМ несколько виртуальных машин, моделировать вычислительные системы и сети, разрабатывать и отлаживать для них программное обеспечение.

2. Возможность имитировать работу реального оборудования, например, бортовых вычислительных систем на стандартной персональной ЭВМ. Это значительно экономит время при разработке и отладке программного обеспечения, так как дает неограниченный доступ к стенду вычислительной системы, для которой ведется разработка. Так же это дает возможность начать работу над программным обеспечением, не дожидаясь поставки реального оборудования.

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

4. Возможность быстро переносить виртуальные ЭВМ и вычислительные системы с одного реального компьютера на другой, и размножать их простым копированием файлов виртуальных машин.

5. Возможность легко изменять конфигурацию виртуальных ЭВМ, добавляя новое оборудование и изменяя параметры уже выбранных элементов.

Но не все так безоблачно. Существует и ряд недостатков свойственных виртуальным машинам:

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

2. Выход из строя реальной ЭВМ, в рамках которой работало несколько виртуальных машин, приводит к выходу из строя всех этих виртуальных машин.

3. При создании виртуальной вычислительной системы надо жестко следить за распределением ресурсов реальной ЭВМ между виртуальными машинами, так как отдельные ЭВМ виртуальной вычислительной системы могут надолго захватить, скажем, процессор и использовать его практически на 100%, что сразу же приведет к падению производительности остальных виртуальных машин. Аналогичная ситуация может произойти и при сетевом взаимодействии, и при любом другом единоличном использовании элементов ЭВМ.

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

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

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

Естественно, для комфортной работы виртуальной машины, а тем более виртуальной вычислительной системы, необходима достаточно мощная реальная аппаратура. Например, для качественного функционирования виртуальной машины под управлением операционной системы Linux Ubuntu желательно выделить порядка 512 мегабайт оперативной памяти. Соответственно, запуск двух и более аналогичных виртуальных машин потребует значительного увеличения объема оперативной памяти. Не менее серьезные требования предъявляются и к производительности процессора, и к дисковой подсистеме, и к другим элементам ЭВМ. При этом не стоит забывать, что и основной операционной системе (в рамках которой запускаются виртуальные ЭВМ) также необходимы серьезные ресурсы.

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

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


Яндекс.Метрика

Рейтинг@Mail.ru