We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Virtualization Technologies

2020/2021
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Informatics
Course type:
Elective course
When:
4 year, 3 module

Instructor


Барашев Дмитрий Валерьевич

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

  • Целями освоения дисциплины «Виртуальные машины» являются формирование у студентов теоретических знаний и практических навыков по основам работы и построения современных виртуальных машин.
Планируемые результаты обучения

Планируемые результаты обучения

  • Знает принципы построения виртуальных машин; основные способы улучшения производительности виртуальных машин; основные особенности реализации существующих ВМ.
  • Умеет создавать виртуальные машины; создавать JIT-компилятор; создавать виртуальные машины с поддержкой многопоточного режима выполнения.
  • Имеет навыки построения безопасных и надежных виртуальных машин; применения алгоритмов реализации JIT-компиляторов, менеджеров физической памяти.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение. Виртуализация и виртуальные машины
    Определение виртуализации и виртуальной машины (в частности гипервизора). Примеры виртуальных машин. Ресурсно–агностическое прикладное программирование. и использование виртуализации для управления вычислительными ресурсами. Сценарии использования виртуализации в современной индустрии ПО. Концепция виртуальной машины и гипервизора.
  • Типичные компоненты ВМ. Многопоточность
    Типичные компоненты ВМ. Виртуализация набора инструкций реальных компьютеров. Критерии Попека–Голдберга. Системы управления памятью. Сборщики мусора. Гипотеза поколений. Устройства управления физической памятью (MMU) и их использование в виртуализованном окружении. Изоляция исполняемых компонент. Многопоточность: преимущества и недостатки. Оптимизации связанные с многопоточностью.
  • Реализация исполняющей компоненты ВМ.
    Реализация исполняющей компоненты виртуальной машины на современных компьютерах. Интерпретаторы, компиляторы, системы непосредственного исполнения. Компиляторы времени исполнения (JIT). Дизайн, архитектура, реализация. Стандартизированный контекст исполнения, и его реализация. Стандартные библиотеки, стандартное аппаратное обеспечение - преимущества и недостатки.
  • Конкурентность, безопасность, надежность. Производительность
    Конкурентность в виртуальных машинах. Парадигмы и моменты реализации. Безопасность и надежность виртуальных машин. Теория и примеры реализации (ядро Linux, VirtualBox, JVM, Native Client). Проблемы производительности и основные техники оптимизации для ВМ.
  • Дизайны виртуальных машин. Примеры реализации
    Дизайн виртуальной машины Hotspot для языка Java. Дизайн VirtualBox — виртуализатор архитектуры x86. Бинарная трансляция на примере эмулятора QEMU. Системы программной верификации машинного кода на примере Native Client. Гарантии и способы реализации безопасности.
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Домашнее задание 4
  • блокирующий Устный экзамен
    Экзамен проводится в онлайн-формате с использованием платформы Zoom.
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (3 модуль)
    0.125 * Домашнее задание 1 + 0.125 * Домашнее задание 2 + 0.125 * Домашнее задание 3 + 0.125 * Домашнее задание 4 + 0.5 * Устный экзамен
Список литературы

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

Рекомендуемая основная литература

  • Li, X.-F. (2017). Advanced Design and Implementation of Virtual Machines. Boca Raton, FL: CRC Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1441419

Рекомендуемая дополнительная литература

  • Малявко А. А. - ФОРМАЛЬНЫЕ ЯЗЫКИ И КОМПИЛЯТОРЫ. Учебное пособие для вузов - М.:Издательство Юрайт - 2020 - 429с. - ISBN: 978-5-534-04288-7 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/formalnye-yazyki-i-kompilyatory-453250