Статья опубликована в рамках: VII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 25 декабря 2012 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
НОВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. ВИРТУАЛИЗАЦИЯ
Симакова Виктория Егоровна
студент ПГУТИ, г. Самара
E-mail: vicky.simakova@gmail.com
Бедняк Светлана Геннадьевна
канд.пед.наук, доцент, ПГУТИ, г. Самара
E-mail: bsg@psati.ru
Технология виртуализации появилась ещё в 60-е годы прошлого века. На первых больших универсальных ЭВМ она использовалась с целью предоставления каждому из многочисленных пользователей своей, независимой части вычислительного ресурса, благодаря разделению аппаратной платформы на несколько виртуальных машин. Это решало проблему эффективного использования оборудования. Данная технология казалась удачной находкой, а не перспективной разработкой. В начале 1990-х, в связи с появлением недорогих настольных компьютеров вместе с приложениями архитектуры клиент-сервер, рынок мейнфреймов переживал кризис, а виртуальные машины были практически забыты.
Современные компьютеры на базе архитектуры x86,благодаря возросшей вычислительной мощности так же, как и мейнфреймы того времени, сталкиваются с вопросом продуктивного использования вычислительных ресурсов. Расширился и круг задач, решаемых с помощью компьютеров, и как следствие, забытой в 1990-ые годы технологией виртуализации стали пользоваться не только IT-специалисты, но и пользователи домашних компьютеров.
Виртуализация — изоляция вычислительных процессов друг от друга. Это понятие разделяют на две категории: виртуализацию платформ и виртуализацию ресурсов.
Результатом виртуализации платформ является виртуальная машина, которая представляет собойполностью изолированный программный контейнер, работающий с собственной операционной системой и приложениями, подобно физическому компьютеру [5].
В зависимости от степени виртуализации аппаратного обеспечения выделяют следующие методы виртуализации платформ:
·Полная эмуляция. При данном подходе виртуальная машина полностью виртуализует аппаратное обеспечение. Этот метод долгое время использовался при разработке приложений для новых процессоров, физически недоступных на самом этапе разработки.
·Частичная эмуляция. Виртуальная машина виртуализует лишь необходимое количество аппаратного обеспечения, что увеличивает быстродействие гостевой операционной системы, то есть системы, установленной на виртуальной машине. Программные продукты, применяющие частичную эмуляцию, позволяют использовать ОС, разработанные под аппаратное обеспечение, на котором они используются.
·Частичная виртуализация и виртуализация адресного пространства. При данном подходе виртуальные машины не создаются, происходит изоляция процессов на уровне операционной системы. При этом каждая гостевая ОС является приложением, запущенным на исполняющей ОС (установленной на аппаратном обеспечении).
·Паравиртуализация не использует симуляцию аппаратного обеспечения. Вместо этого используется программный интерфейс для взаимодействия с гостевой ОС.
·Виртуализация уровня операционной системы реализуется при помощи технологии виртуальных контейнеров, а не виртуальных машин. Это метод, при которомядро операционной системы поддерживает несколько изолированных экземпляровпространства пользователя, вместо одного [6]. Пространство пользователя — это область памяти, в которой функционируют все приложения пользователя, то есть программы из разных экземпляров пространства пользователя не могут влиять друг на друга.
·Виртуализация уровня приложений. В данном случае приложение со всеми необходимыми для его работы компонентами помещается в контейнер (виртуальное окружение). При переносе такого приложения на другое аппаратное обеспечение, виртуальное окружение решает конфликты между ним и операционной системой, другими приложениями.
При описании виртуализации платформ понятие виртуализации преимущественно применяется к созданию виртуальных машин. С точки зрения пользователя, виртуальная машина — это конкретный экземпляр некой виртуальной вычислительной системы («виртуального компьютера»), созданный с помощью специального программного инструмента [2, с. 8]. Системные виртуальные машины используются широким кругом пользователей для освоения новых операционных систем и использования нескольких ОС на одном компьютере одновременно. Системными называются виртуальные машины, обеспечивающие полнофункциональную постоянно действующую системную среду, в которой могут существовать операционные системы и процессы разных пользователей. Наиболее мощные приложения обеспечивают поддержку более десятка операционных систем.
Недостатком работы в нескольких операционных системах одновременно являются высокие требования, предъявляемые к аппаратному обеспечению, однако виртуальные машины с этой целью применяются и пользователями домашних компьютеров, и IT-специалистами.
Использование нескольких операционных систем позволяет запускать приложения, разработанные под конкретную ОС, устанавливая её на виртуальную машину, а не на реальное аппаратное обеспечение.
Разработчики многоплатформенных программных продуктов применяют виртуальные машины при тестировании приложений под управлением различных операционных систем. Используются виртуальные машины и веб-разработчиками. Например, интернет-гигант Google применяет приложения виртуализации компании VMware для оценки эффективности работы Google с различными браузерами, на различных платформах.
Технология виртуализации позволяет тестировать потенциально опасные приложения. На ранних стадиях разработки программного продукта тестирование может нанести непоправимый вред системе, но так как система, под которой запускается приложение, является виртуальной, и её крах означает лишь повреждение файлов, отсутствие которыхне скажется на работе реальной системы. Другими словами, достигается изоляция реального оборудования от нежелательного влияния программного обеспечения, работающего в среде виртуальной машины [2, с. 7].
Установленная на виртуальной машине, гостевая операционная система работает медленнее, чем система-хозяин (хостовая операционная система или просто хост), установленная на реальном аппаратном обеспечении. Однако наблюдается тенденция приближения показателей производительности гостевых систем к показателям физических операционных систем в пределах одних и тех же ресурсов. Возможно, по мере того, как будут совершенствоваться технологии виртуализации, производительность гостевых систем станет практически равна производительности реальных.
Следует заметить что, операционная система, установленная на аппаратном обеспечении, фактически предоставляет процессную виртуальную машину каждому из приложений, выполняемых одновременно. Это явление стало настолько привычным, что никто не воспринимает его как процесс, протекающий с использованием технологии виртуализации. Процессные виртуальные машины в отличие от системных не обеспечивают постоянно действующую полнофункциональную среду, а создают виртуальные среды, по средствам которых пользовательские приложения, взаимодействуют друг с другом, библиотеками и операционными системами (среды API или ABI). Эти среды создаются с появлением определённого процесса и прекращают своё существование с его завершением.
Основная цель процессных виртуальных машин — обеспечение переносимости программных продуктов. В этих целях процессные виртуальные машины встраиваются в среду разработки приложений на языках высокого уровня. Известным примером виртуальной машины языка высокого уровня является архитектура виртуальной машины Java.
При описании виртуализации платформ понятие виртуализации рассматривалось в узком смысле. Оно преимущественно применялось к процессу создания виртуальных машин. При анализе виртуализации ресурсов рассматриваемое понятие охватывает все подходы к созданию виртуальных систем. Виртуализация ресурсов позволяет концентрировать, абстрагировать и упрощать управление группами ресурсов, таких как сети, хранилища данных и пространства имен [3].
Виды виртуализации ресурсов:
·Объединение, агрегация и концентрация компонентов — объединение нескольких физических или логических объектов в группы (пулы) ресурсов. Примеры данного вида виртуализации: многопроцессорные системы, объединённые в одну мощную систему, и виртуализация систем хранения, используемая при построении сетей хранения данных SAN (Storage Area Network).
·Кластеризация компьютеров и распределённые вычисления — вид виртуализации, включающий в себя техники объединения множества отдельных компьютеров в метакомпьютеры для совместного решения задач.
·Распределение ресурсов. Если два предыдущих метода виртуализации подразумевали объединение ресурсов, то данный вид осуществляет обратное действие — разделение одного большого ресурса на несколько объектов для дальнейшего использования. В сетях хранения данных это называется зонированием ресурсов [3].
·Инкапсуляция. Применительно к виртуализации, этот термин определяется как сокрытие сложностей реализации и предоставление пользователю удобного интерфейса.
Виртуализация значительно продвинулась за последние годы и смогла шагнуть за пределы конкретных устройств, став основой развития облачных технологий. Облачная технология — предоставление IT-ресурсов (вычислительной среды, хранилища данных и др.) в виде сервиса. По мере увеличения мощностей аппаратного обеспечения будут развиваться как сама виртуализация, так и технологии, основанные на ней. Виртуальные машины создаются множеством разработчиков, преследующих самые разные цели. Виртуализация стала важным инструментом разработки компьютерных систем, а виртуальные машины используются в самых разных областях — от операционных систем до языков программирования и архитектуры процессоров [4]. Данная технология избавляет от недостатков интерфейса, ресурсных ограничений, снижает уязвимость системы и повышает переносимость программного обеспечения. В будущем можно ожидать новые операционные системы и языки программирования, разработанные с внедрением технологий виртуализации, так как они внедрилась не только в процесс создания прикладных программ, но и в процесс разработки оборудования.
Список литературы:
- Виртуализация на уровне операционной системы [Электронный ресурс] — Режим доступа. — URL: http://ru.wikipedia.org/wiki/8B (дата обращения: 3.11.2012)
- Гультяев А.К. Виртуальные машины. Несколько компьютеров в одном — СПб.: Питер, 2006. — 224 с.
- Самойленко А. Что такое виртуализация и виртуальные машины [Электронный ресурс] — Режим доступа. — URL: http://www.ixbt.com/cm/virtualization.shtml (дата обращения: 3.11.2012)
- Смит Дж., Наир Р. Архитектура виртуальных машин // Открытые системы. — 2005 — № 05-06. [Электронный ресурс] — Режим доступ. — URL: http://www.osp.ru/os/2005/05-06/185586/ (дата обращения: 3.11.2012)
- VMware История виртуализации [Электронный ресурс] — Режим доступа. — URL: http://www.vmware.com/ru/virtualization/virtualization-basics/history.html (дата обращения: 12.11.2012)
- James E. Smith, Ravi Nair,Virtual Machines. Versatile Platforms For Systems And Processes —Morgan Kaufmann, 2005, 656 с.
дипломов
Оставить комментарий