Научная статья на тему 'ВИРТУАЛИЗАЦИЯ ОС «ЭЛЬБРУС»'

ВИРТУАЛИЗАЦИЯ ОС «ЭЛЬБРУС» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
197
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВИРТУАЛИЗАЦИЯ / ВЫЧИСЛИТЕЛЬНЫЙ РЕСУРС / ПАРАЛЛЕЛЬНОЕ ИСПОЛНЕНИЕ / ОПЕРАЦИОННАЯ СИСТЕМА / ГИПЕРВИЗОР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рыбаков С. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ELBRUS OS VIRTUALIZATION

A milestone on the way towards high-performance and secure virtualization systems is the implementation of hardware support for this technology in microprocessors. The article provides an overview of the virtualization methods adapted for the Elbrus architecture, taking into account the hardware support implemented in the next generation Elbrus-16S microprocessors.

Текст научной работы на тему «ВИРТУАЛИЗАЦИЯ ОС «ЭЛЬБРУС»»

https://doi.org/10.38013/2542-0542-2021-4-67-75 УДК 004.414.23

Виртуализация ОС «Эльбрус»

С. А. Рыбаков

Федеральное государственное бюджетное образовательное учреждение высшего образования "МИРЭА -Российский технологический университет", Москва, Российская Федерация

Акционерное общество «МЦСТ», Москва, Российская Федерация

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

Ключевые слова: виртуализация, вычислительный ресурс, параллельное исполнение, операционная система, гипервизор

Для цитирования: Рыбаков С. А. Виртуализация ОС «Эльбрус» // Вестник Концерна ВКО «Алмаз -Антей». 2021. № 4. С. 67-75. https://doi.org/10.38013/2542-0542-2021-4-67-75

For citation: Rybakov S. A. Elbrus OS Virtualization// Vestnik Koncerna VKO "Almaz - Antey". 2021. No. 4. P. 67-75. https://doi.org/10.38013/2542-0542-2021-4-67-75

Поступила 03.03.2021 Отрецензирована 16.03.2021 Одобрена 11.11.2021 Опубликована 27.12.2021

Введение

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

© Рыбаков С. А., 2021

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

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

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

полная виртуализация уступает паравиртуа-лизации, особенно в области виртуализации ввода-вывода. Этот недостаток часто компенсируется установкой дополнительных, пара-виртуализированных драйверов устройств в гостевые ОС.

Гипервизор QEMU-KVM

В ОС «Эльбрус» в роли гипервизора выступает связка пользовательского приложения QEMU (Quick Emulator) [1] и модулей ядра ОС Linux KVM (Kernel Virtual Machine) [2]. При этом QEMU отвечает в основном за начальную настройку ВМ и эмуляцию ввода-вывода, а KVM - за предоставление ВМ вычислительных ресурсов и эмуляцию гостевой виртуальной памяти (поддержание актуальности таблиц страниц). Для передачи управления в KVM QEMU использует специальные системные вызовы IOCTL (Input/Output Control).

Каждый процесс QEMU эмулирует одну виртуальную машину. Гостевые вычислительные ядра (vCPU) и виртуальные устройства ввода-вывода эмулируются отдельными потоками процесса QEMU, исполняющимися параллельно. Оперативная память ВМ эмулируется с помощью виртуальной памяти про-^ цесса QEMU.

0 Т-.

™ В отличие от автономных гипервизоров

^ типа 1, запускаемых непосредственно на аппа-

— ратном обеспечении, приложение QEMU, | запускаемое поверх ОС (называемой хосто-< вой), является гипервизором 2-го типа. Однако Д благодаря модулям KVM, имеющим прямой

ам доступ к оборудованию, достигается высокий

уровень производительности виртуализации,

§ не уступающий гипервизорам 1-го типа. m

а

се Аппаратная поддержка виртуализации

? в микропроцессорах «Эльбрус»

* Добавленная в микропроцессорах «Эльбрус-

I 16С» нового поколения аппаратная поддерж-

ф ка виртуализации [3] позволяет достичь пол-со

ной виртуализации системы и запускать ОС

«Эльбрус» без изменений. Добавление слоя с? „

™ динамической двоичной трансляции между 8 QEMU и гостевой ОС позволяет запускать w в ВМ ОС Linux или Windows архитектуры Intel

— x86. Аппаратная поддержка также улучшает

защиту и производительность режима пара-виртуализации. Рассмотрим подробнее три области, в которых были проведены аппаратные доработки: средства виртуализации вычислительных ресурсов, памяти и ввода-вывода.

Виртуализация вычислительных ресурсов

Основной цикл запуска ВМ гипервизором изображен на рисунке 1. После начальной настройки ВМ QEMU передает управление в KVM, где программно переключается часть рабочего состояния (пассивный контекст) ги-первизор-гость. Переключение оставшегося и наиболее критичного активного контекста производится атомарно, при выполнении новой инструкции запуска гостя glaunch. Атомарность переключения контекста достигается за счет введения дублирующего комплекта регистров (теневого контекста) и аппаратного переключения ролей активного и теневого контекста при входе и выходе из гостевого режима. В активный контекст входят регистры, необходимые для работы гипервизора во время запуска гостя, например указатели на стеки и таблицы страниц. Реализация переключений контекстов «Эльбрус» ближе к варианту MIPS VM [4], чем вариантам Intel [5] и AMD [6], производящим атомарное переключение при помощи структуры данных в памяти.

В предыдущих поколениях микропроцессоров «Эльбрус» были определены два режима исполнения: привилегированный (для ядра ОС) и пользовательский (для прикладных программ). В микропроцессорах «Эльбрус-16C» поддержано два новых режима: гостевой привилегированный и гостевой пользовательский. И если отличий гостевого пользовательского режима от обычного практически нет, то на гостевой привилегированный режим накладываются дополнительные ограничения: ряд действий в этом режиме приводит к принудительному возврату в гипервизор, перехвату (аналог VM-Exit в Intel VMX [5], VMEXIT в AMD SVM [6] и Hypervisor trap в ARM [7]).

Перехваты возникают при попытке гостя выполнить привилегированное действие (например, доступ к устройству ввода-вывода), при возникновении некоторых особых ситуаций на стороне гипервизора (например,

Пользовательский режим Режим хостовой ОС Режим гостя

(ОЕМи) (КУМ) (ОС или пользователь)

Рис. 1. Цикл запуска ВМ

прерывание или отказ страницы), а также при доступе гостя к ресурсам виртуализации (вложенная виртуализация не поддерживается). Главной задачей гипервизора является устранение причины перехвата и перезапуск гостя - для этого причина всегда сохраняется на специально введенных регистрах intcinfo.

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

Механизм паравиртуальных гипервызовов был также поддержан аппаратно командами hcall (аналог VMMCALL в AMD [6]) и hret. Использование новых команд вместо системных вызовов для явного вызова гипервизора из гостевой ОС позволяет полноценно использовать новые гостевые режимы исполнения

первизором QEMU-KVM

и повысить защиту паравиртуализации, а также сэкономить на переключении контекстов.

Виртуализация подсистемы памяти

Физическая память виртуальной машины эмулируется гипервизором с помощью виртуальной памяти QEMU. Таким образом, при виртуализации можно различить четыре основных типа адресов: системные физические HPA (Host Physical Address), системные виртуальные HVA (Host Virtual Address), гостевые физические GPA (Guest Physical Address) и гостевые виртуальные GVA (Guest Virtual Address). В новом поколении процессоров «Эльбрус» поддержаны два механизма трансляции гостевых адресов в системные физические: теневой и двухуровневый.

При трансляции гостевых адресов в теневом режиме (рис. 2) не используется формируемая гостевой ОС таблица страниц (ТС): вместо нее работает формируемая гиперви- _ зором теневая таблица страниц. Поскольку | процесс поиска изменений в гостевой ТС й может быть достаточно долгим, гостевая ТС g-полностью закрывается по записи, каждое из- ^ менение ТС гостем (запись элемента ТС PTE, Е.

см о см

< I

(0

а м

О ü CQ

р

<D

о

О <D CQ

CM ■Clio 9

CM ■Clio

CM

w w

QEMU

Гостевая ОС

GVA

GPA Гостевая ТС

^ Не используется

RAM гостя (HVA)

KVM

GVA

^ Перехват записи PTE

HPA

Теневая ТС

Поддерживается гипервизором

Хостовая ОС

HVA

HPA

Хостовая ТС

Аппаратное обеспечение

RAM (HPA)

Рис. 2. Трансляция адресов по теневым таблицам страниц

Page Table Entry) перехватывается и отображается в теневой таблице. Программный механизм теневой трансляции используется для паравиртуализации на многих архитектурах (например, Intel Virtual TLB [5]), но в архитектуре «Эльбрус» этот механизм поддержан и аппаратно. Это позволяет кэшировать промежуточные и конечные результаты гостевых трансляций, увеличивая производительность паравиртуализации.

При полной виртуализации гипервизор не должен вмешиваться в организацию гостевой ТС. Механизм двухуровневой трансляции адресов (Two-Dimensional Paging, TDP) позволяет транслировать гостевые адреса в два независимых этапа: трансляция GVA-GPA производится по гостевым таблицам, а трансляция GPA-HPA - по таблицам гипервизора (рис. 3). Аналогичные механизмы двухуровневой трансляции есть и на других архитектурах: EPT [5], Nested Paging [6] и Two-Stage Address Translation [7]. Главным недостатком этого механизма по сравнению с теневыми таблицами является введение дополнительных ступеней трансляции для каждого уровня таблиц гостя,

что значительно увеличивает суммарное число шагов трансляции адреса.

Виртуализация подсистемы ввода-вывода

Большинство устройств, предоставляемых гипервизором в пользование виртуальным машинам, являются программными моделями, независимыми от реального аппаратного обеспечения сервера. Подход, при котором виртуальный ввод-вывод полностью отделяется от физического, называется интерпозицией ввода-вывода [8].

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

QEMU

Гостевая ОС

GVA

GPA

GPA

GPA

GPA

i___

KVM

GPA

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

HPA

Хостовая ОС

HPA

HPA

HPA

HVA

HPA

Аппаратное обеспечение

Рис. 3. Двухуровневая трансляция адресов

предназначенными для эффективной виртуализации, - virtio [9]. Использование virtio позволяет значительно уменьшить число перехватов и гостевых прерываний, однако требует установки дополнительных, паравиртуальных драйверов в гостевые системы. Для поддержки virtio в ОС Эльбрус были включены и адаптированы соответствующие драйверы диска, сетевого адаптера и серийного порта.

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

Эмуляция ввода-вывода

Эмулятор QEMU содержит большое число моделей устройств ввода-вывода, доступных для использования в виртуальных машинах. При этом доступ драйверов гостевой ОС к регистрам устройства обеспечивается через перехваты, доставка прерываний гостю осуществляется через KVM, а механизм DMA (Direct Memory access) эмулируется благодаря тому, что модель и гостевая ОС работают на общей виртуальной памяти процесса QEMU. Однако из-за частых тяжеловесных перехватов с выходом в QEMU производительность работы с эмулируемым устройством часто оказывается неоптимальной.

Virtió - паравиртуализация ввода-вывода

Вместо эмуляции реальных устройств гиперви-зор QEMU-KVM позволяет гостям работать со специальными виртуальными устройствами,

Прямое назначение (проброс) устройства

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

Для обеспечения безопасного проброса £ устройства гостю необходима аппаратная под- & держка виртуализации. Во-первых, работать Е.

см о см

< i

to

а м

I

О ü CÛ

р

<D

с устройством ВМ будет по гостевым адресам (GVA/GPA ), которые необходимо транслировать в системные (HPA ). Во-вторых, гость получает возможность, по ошибке либо намеренно, работать с чужой памятью по DMA либо генерировать некорректные MSI-прерывания (Message Signaled Interrupts).

Функциональность и безопасность про-броса в проектах «Эльбрус» обеспечиваются блоком IOMMU (Input/Output Memory Management Unit) и контроллером прерываний EPIC (Elbrus Programmable Interrupt Controller) [10]. По аналогии с MMU (Memory Management Unit), IOMMU поддерживает режим двухмерной трансляции DMA адресов с трансляцией GVA-GPA по гостевым таблицам, а GPA-HPA - по гипервизорным. Защита от вредоносного поведения проброшенного устройства осуществляется за счет использования для каждого PCI (Peripheral Component Interconnect) устройства отдельной таблицы страниц. EPIC осуществляет изоляцию, маршрутизацию и прямую доставку прерываний от устройства гостевой ОС.

Работа с устройством по гостевым адресам DMA порождает еще одну проблему. Во избежание отказов страниц при DMA драйвер устройства подкачивает и фиксирует в памяти (резидентирует) все страницы выделяемого буфера. Таким образом, при пробросе гипервизору необходимо резидентировать всю гостевую физическую память, которая может быть использована для DMA. Другими словами, вместе с устройством гипервизор передает гостю в монопольное пользование часть своей оперативной памяти и теряет возможность оптимизации этой памяти.

Механизм трансляции DMA адресов в IOMMU «Эльбрус» в целом схож с аналогом

AMD [11], однако имеется и несколько отличий. Во-первых, на «Эльбрусе» доступно только 3 фиксированных размера страниц: 4 Кб, 2 Мб и 1 Гб, в отличие от произвольного (кратного 4 Кб) размера страниц на AMD. Во-вторых, на «Эльбрусе» не поддержан интерфейс PASID PCI Express (Process Address Space ID, идентификаторы адресного пространства процесса). Таким образом, трансляция DMA от нескольких устройств, проброшенных одной ВМ, будет производиться по единой ТС, без изоляции этих устройств друг от друга.

Сравнение всех трех рассмотренных методов виртуализации ввода-вывода приведено в таблице.

Виртуализация прерываний

Независимо от выбранного метода виртуализации ввода-вывода гипервизор обязан доставлять гостевой ОС прерывания от предоставленных ей устройств. Однако в отсутствие аппаратной поддержки программная доставка гостевых прерываний приводит к значительным потерям производительности ВМ. Во-первых, для доставки прерывания гостевому vCPU гипервизор обязан снять его с исполнения. Во-вторых, при обработке прерывания гостевая ОС неоднократно обращается к контроллеру прерываний (в частности, для определения вектора прерывания и для сигнала об окончании обработки прерывания), что также приводит к перехвату или гипервызову. По аналогии с многими другими архитектурами, в ОС «Эльбрус» применяется программная оптимизация: модель контроллера прерываний реализована в модулях KVM во избежание тяжеловесного переключения контекста при выходе в QEMU.

о

о ф CÛ

см ■clin

9 см ■ci-

10 см

(П (П

Таблица

Сравнение методов виртуализации ввода-вывода

Метод виртуализации ввода-вывода Эмуляция устройства Virtió Прямое назначение устройства

Необходимость установки паравиртуализированных драйверов Нет Да Нет

Необходимость аппаратной поддержки Нет Нет Да

Преимущества интерпозиции ввода-вывода Да Да Нет

Оптимизация гостевой памяти гипервизором Да Да Нет

Масштабируемость Высокая Высокая Низкая

Производительность Низкая Высокая Максимальная

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

В микропроцессорах «Эльбрус» нового поколения регистры контроллера прерываний EPIC были продублированы на каждом вычислительном ядре [12], что позволило разрешить гостю работать с копиями регистров напрямую, без перехватов. При снятии гостя с исполнения (выходе в QEMU либо смене процесса планировщиком) гипервизор сохраняет контекст EPIC в память. При этом атомарность переключения гостевого контекста EPIC поддержана аппаратно. Гостевые прерывания также отличаются от гипервизорных на аппаратном уровне, и если прерывания ги-первизора могут прервать исполнение гостя (вызвать перехват), то гостевые прерывания никак не влияют на работу гипервизора. Если при доставке гостевого прерывания целевой vCPU оказывается снят с исполнения, то прерывание сохраняется в оперативную память и доставляется в момент постановки vCPU на физическое ядро.

Механизм виртуализации прерываний с полным дублированием регистров контроллера «Эльбрус» отличается от аналога в архитектуре Intel [13], где гостевые запросы к регистрам контроллера сводятся к обращениям в оперативную память с аппаратной эмуляцией побочных эффектов для отдельных регистров.

Сравнение показателей производительности

Для оценки производительности ВМ использовался бенчмарк UnixBench версии 5.1.2. Тесты были запущены дважды: внутри ВМ и напрямую на сервере, без слоя виртуализации. Каждый тест UnixBench запускался в 16 экземплярах, равномерно загружая таким образом всю машину. Сервер и ВМ были сконфигурированы идентично с точки зрения как аппаратного, так и программного обеспечения. При этом каждое из 16 ядер ВМ было привязано к соответствующему реальному ядру микропроцессора «Эльбрус-16С». Ввод-вывод на ВМ осуществлялся через virtio. Версия гипервизора QEMU 2.8.0, Linux/KVM 5.4.143-rt63. Результаты замеров изображены на рисунке 4.

Ожидаемо вычислительные тесты Dhrystone 2 и Whetstone не показали значимого понижения производительности в ВМ. Худшие результаты показали тесты скорости копирования файлов: замедление при работе с virtio достигло 13 %. Тесты производительности ядра ОС показали замедление от 4 до 11 % в зависимости от числа необходимых перехватов. Понижение общего индекса производительности системы составило 7,8 %.

Выводы

В статье представлены программные решения, основанные на гипервизоре QEMU-KVM,

Понижение производительности в ВМ, %

Dhrystone 2 (целочисленные операции) Whetstone (операции с плавающей запятой) Пропускная способность execl Копирование файла 2 Мб, буфер 1024 байт Копирование файла 500 Кб, буфер 256 байт Копирование файла 8 Мб, буфер 4096 байт Пропускная способность каналов Переключение контекстов Создание процессов Скрипты командной строки (1 экземпляр) Скрипты командной строки (8 экземпляров) Системные вызовы Индекс производительности системы

■ 0,3 ■ 0,3 ,6 0 1 ,4

7,8

10

12

14

16

те

s

о. о ■fr

Рис. 4. Понижение показателей производительности тестов UnixBench в ВМ

0

2

4

6

8

см о см

< I

со

а м

О СО

р

ф

о

а также аппаратные доработки архитектуры «Эльбрус», направленные на поддержку режима полной виртуализации, улучшение защиты режима паравиртуализации и повышение производительности обоих режимов. Аппаратные решения включают: новые режимы исполнения и переходы между ними, механизмы теневой и двухуровневой трансляции виртуальных адресов, двухуровневую трансляцию DMA адресов, изоляцию устройств ввода-вывода друг от друга, а также изоляцию, маршрутизацию и доставку гостевых прерываний. Совокупный результат представленных новаций соответствует уровню передовых разработок архитектур x86 (Intel и AMD), MIPS и ARM.

Список литературы

1. Bellard F. QEMU, a Fast and Portable Dynamic Translator // Proceedings of the FREENIX Track: 2005 USENIX Annual Technical Conference. P. 41-46.

2. Kivity A., Kamay Y., Laor D. et al. KVM: The Linux virtual machine monitor // Proceedings of the 2007 Ottawa Linux Symposium (OLS). 2007. P. 225-230.

3. Знаменский Д. В., Блинников А. В. Аппаратная поддержка виртуализации архитектуры «Эльбрус» // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2020. № 5. С. 60-66.

4. MIPS64® Architecture for Programmers Volume IV-i: Virtualization Module of the MIPS64® Architecture, Document Number: MD00847 Revision 1.06, December 10, 2013. URL: https://www.mips.com/?do-download=vi-rtualization-module-of-the-mips64-architecture (дата обращения: 27.02.2021).

5. Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3C: System Programming Guide, Part 3, Order Number:

326019-060US, September 2016. URL: https:// www.intel.ru/content/dam/www/public/us/en/ documents/manuals/64-ia-32-architectures-soft-ware-developer-vol-3c-part-3-manual.pdf (дата обращения: 27.02.2021).

6. AMD64® Architecture Programmer's Manual Volume 2: System Progamming, rev.3.33, AMD Corp., 2020. URL: https://www.amd.com/sys-tem/files/TechDocs/24593.pdf (дата обращения: 27.02.2021).

7. Arm® Instruction Set Version 1.0 Reference Guide, Issue 0100-00, 25 October 2018. URL: https://static.docs.arm.com/100076/0100/arm_in-struction_set_reference_guide_100076_0100_00_ en.pdf (дата обращения: 27.02.2021).

8. Bugnion, E., Nieh, J., Tsafrir, D. Hardware and Software Support for Virtualization. Synthesis Lectures on Computer Architecture. 2017.

9. Russell R. Virtio: towards a de-facto standard for virtual I/O devices // ACM SIGOPS Operating Systems Review 42, 5. 2008. P. 95-103.

10. Рыбаков С. А., Поляков Н. Ю. Виртуализация подсистемы ввода-вывода микропроцессоров «Эльбрус» // Радиопромышленность. 2020. Т. 30, № 3. С. 34-39.

11. AMD I/O Virtualization Technology (IOMMU) Specification Revision 2.0. 2011. URL: http://developer.amd.com/wordpress/ media/2012/10/48882.pdf (дата обращения: 27.02.2021).

12. Рыбаков С. А., Деменко Р. В. Виртуализация подсистемы прерываний микропроцессоров «Эльбрус» // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2020. № 5. С. 68-72.

13. Intel Virtualization Technology for Directed I/O (VT-d) Architecture Specification. October 2014. URL: http://www.intel.com/content/dam/ www/public/us/en/documents/product-specifica-tions/vt-directed-io-spec.pdf (дата обращения: 27.02.2021).

о

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

<D СО

CM ■Clio 9

CM ■Clio

CM

w w

Об авторе

Рыбаков Степан Андреевич - аспирант федерального государственного бюджетного образовательного учреждения высшего образования «МИРЭА - Российский технологический университет», старший программист акционерного общества «МЦСТ», Москва, Российская Федерация. Область научных интересов: виртуализация операционных систем.

Elbrus OS Virtualization

Rybakov S. A.

RTU MIREA, Moscow, Russian Federation MCST JSC, Moscow, Russian Federation

A milestone on the way towards high-performance and secure virtualization systems is the implementation of hardware support for this technology in microprocessors. The article provides an overview of the virtualization methods adapted for the Elbrus architecture, taking into account the hardware support implemented in the next generation Elbrus-16S microprocessors.

Keywords: virtualization, computational resource, parallel execution, operating system, hypervisor

Information about the author

Rybakov Stepan Andreyevich - Postgraduate Student, RTU MIREA, Senior Programmer, MCST JSC, Moscow, Russian Federation.

Science research interests: operating system virtualization.

i Надоели баннеры? Вы всегда можете отключить рекламу.