• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
07
Апрель

Технологии виртуализации

2020/2021
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс по выбору
Когда читается:
4-й курс, 3 модуль

Преподаватель


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

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

Аннотация

Курс посвящен вопросам, связанным с теоретическими основами и практическими методами создания современных эффективных виртуальных машин, отвечающих требованиям по безопасности и скорости работы. Курс рассчитан на 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