Виртуализация на платформе x86::Журнал СА 10.2013
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Книжная полка  

Защиты много не бывает

Среди книжных новинок издательства «БХВ» есть несколько изданий, посвященных методам социальной инженерии

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

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

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6330
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7039
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4320
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3063
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3859
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3875
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6363
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3216
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3508
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7329
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10690
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12416
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14056
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9175
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7126
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5435
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4666
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3473
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3196
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3438
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3068
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Виртуализация на платформе x86

Архив номеров / 2013 / Выпуск №10 (131) / Виртуализация на платформе x86

Рубрика: Карьера/Образование /  Пятая пара

Денис Силаков ДЕНИС СИЛАКОВ, к. ф.-м. н., член рабочей группы LSB, старший архитектор ЗАО «РОСА», занимается автоматизацией разработки ОС «РОСА»

Виртуализация на платформе x86

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

Сегодня вряд ли можно найти человека, относящегося к миру ИТ, но не знающего про виртуализацию – возможность запускать несколько ОС на одной физической машине так, что они не подозревают о существовании друг друга. Большинство пользователей ПК познакомились с этой технологией в конце 90-х годов прошлого века, когда компания VMware представила свои продукты для создания виртуальных машин в ОС Windows. С тех пор в сфере виртуализации для платформы x86 произошли фундаментальные изменения, и сегодня эта технология является основой облачных сервисов. Но как же устроены виртуальные машины? Знакомися с теорией и историей вопроса.

Предыстория

Начнем с того, что идея использовать одну физическую машину для параллельной работы нескольких ОС возникла гораздо раньше не только Windows, но и вообще персональных компьютеров. Первые промышленные реализации виртуальных машин были представлены в 60-х годах прошлого века инженерами IBM для платформ System/360 и 370. Эти реализации основывались на аппаратном разграничении привилегий: каждый процесс, выполняемый на машине, работает на определенном уровне, в зависимости от которого ему разрешается либо запрещается выполнение тех или иных инструкций. При попытке выполнить недопустимую для данного уровня инструкцию генерируется аппаратное исключение, которое может быть перехвачено и обработано программами с более высоким уровнем привилегий.

В предложенной инженерами IBM классической схеме виртуализации, получившей название «Trap and Emulate» («лови и эмулируй»), виртуализируемые ОС (следуя современной терминологии, будем называть их «гостевыми») запускаются на одном из непривилегированных уровней, а на уровень снаивысшими привилегиями помещается специальная программа – монитор виртуальных машин (ВМ) или гипервизор.

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

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

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

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

В более формальном виде требования к платформе, необходимые для создания на ней эффективного гипервизора, были впервые сформулированы разработчиками систем виртуализации IBM и по их именам получили название критерия Попека – Голдберга.

Эти требования достаточно очевидны, однако для многих реальных процессоров они не выполняются, особенно если разработчики последних не предполагают, что их изделия будут использоваться для развертывания виртуальных сред. Вчисло таких процессоров попали Intel 8086 и все его потомки, выпущенные в течение почти 27 лет после его появления – до реализации аппаратной поддержки виртуализации. Более того, со временем создание виртуальных машин дляархитектуры Intel x86 только затруднялось, в частности, после внедрения режима DMA, позволяющего работать с устройствами в обход процессора.

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

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

Статью целиком читайте в журнале «Системный администратор», №10 за 2013 г. на страницах 80-84.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru