SlideShare a Scribd company logo
1 of 9
Download to read offline
Архитектура VirtualBox




          Николай Иготти
Идеологические моменты
• Высокопроизводительный эмулятор x86 на
  x86
• Использование динамического транслятора
  (на основе QEMU) при необходимости
• Использование динамической модификации
  привилегированного кода гостя,
  исполняемого в R1 (зачем?)
• Использование аппаратной виртуализации
  при возможности
• Модели устройств частично в R0/GC
• Поддержка vSMP

                                            2
Проблемы производительности

• Привилегированные инструкции и
  системные вызовы (GC->R0->R3->GC)
• Управление памятью (различные режимы
  адресации: битность, PAE, large pages)
• Обработка прерываний (внешних,
  внутренних)
• Обмен информации между R0/GC/R3
  компонентами гипервизора
• Ввод-вывод, особенно видеопамять, диск и
  сеть

                                             3
Подходы к решению
• Максимум непосредственного исполнения
• Интенсивное использование MMU
  процессора (защита чувствительных
  страниц)
• Диспетчеризация прерываний прямо в R0
  (GC(03)->R0->GC(03))
• Значительная часть кода гипервизора в ядре
• Или в контексте гостевой ОС (в кольце 1)
• Код в GC полностью релоцируемый
• Динамический поиск и модификация
  участков кода ядра гостя с
  привилегированными инструкциями
                                             4
Подходы к решению (2)
• Явное разделение кода модели
  устройства на R0/GC/R3 части
• Сложная логика в R3, часто
  исполняемый код в R0/GC
• 16-битный код исполняется
  динамическим транслятором
• «Ленивое» выделение физической
  памяти
• Теневые или вложенные таблицы
  страниц, в зависимости от
  возможностей MMU процессора
                                   5
Теневые таблицы страниц




                          6
Вложенные таблицы страниц*




* Взято из документации AMD   7
Организация ввода/вывода
• Обработка привилегированных операций и
  MMIO из обработчиков исключений
• Самобалансирующееся AVL дерево
  обработчиков с ключом – физическим
  адресом/размером
• “Впрыск” прерываний в гостевую ОС
• Паравиртуализованные драйвера
• Оптимизация доступа к VESA
  фреймбуфферу
• Доступ к реальным устройствам (USB,
  проброс PCI)

                                           8
Вопросы, информация
 Пожелания по курсу
 Экзамен, записывайтесь на
  igotti@gmail.com




                              9

More Related Content

What's hot

Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10Computer Science Club
 
VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?Anton Zhbankov
 
Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI Yandex
 
СУБД осень 2012 вестник 4
СУБД осень 2012 вестник 4СУБД осень 2012 вестник 4
СУБД осень 2012 вестник 4Technopark
 
Масштабирование CinemaVR
Масштабирование CinemaVRМасштабирование CinemaVR
Масштабирование CinemaVRAndrey Tatarinov
 
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Ontico
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Mikhail Chusavitin
 
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеViolin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеКРОК
 
EMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожиданияEMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожиданияКРОК
 
лекция 3
лекция 3лекция 3
лекция 3JIuc
 
2 х пр-ные серверы hp pro liant dl380
2 х пр-ные серверы hp pro liant dl3802 х пр-ные серверы hp pro liant dl380
2 х пр-ные серверы hp pro liant dl380Mikhail Ostroverkhiy
 

What's hot (13)

Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
Н. Иготти. Виртуализация и виртуальные машины. Лекция 10
 
Хранилище 101
Хранилище 101Хранилище 101
Хранилище 101
 
VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?
 
Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI
 
СУБД осень 2012 вестник 4
СУБД осень 2012 вестник 4СУБД осень 2012 вестник 4
СУБД осень 2012 вестник 4
 
Масштабирование CinemaVR
Масштабирование CinemaVRМасштабирование CinemaVR
Масштабирование CinemaVR
 
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?
 
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решениеViolin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
Violin Memory. Первая скрипка Huawei Dorado. Антикризисное решение
 
EMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожиданияEMC XtremIO. Превосходя ожидания
EMC XtremIO. Превосходя ожидания
 
лекция 3
лекция 3лекция 3
лекция 3
 
Cobbler
CobblerCobbler
Cobbler
 
2 х пр-ные серверы hp pro liant dl380
2 х пр-ные серверы hp pro liant dl3802 х пр-ные серверы hp pro liant dl380
2 х пр-ные серверы hp pro liant dl380
 

Viewers also liked

20081104 auctions nikolenko_lecture05
20081104 auctions nikolenko_lecture0520081104 auctions nikolenko_lecture05
20081104 auctions nikolenko_lecture05Computer Science Club
 
Брачный выбор как модель жизни
Брачный выбор как модель жизниБрачный выбор как модель жизни
Брачный выбор как модель жизниzalcman96
 
20091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture0620091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture06Computer Science Club
 
20081005 auctions nikolenko_lecture01
20081005 auctions nikolenko_lecture0120081005 auctions nikolenko_lecture01
20081005 auctions nikolenko_lecture01Computer Science Club
 
20081109 auctions nikolenko_lecture08
20081109 auctions nikolenko_lecture0820081109 auctions nikolenko_lecture08
20081109 auctions nikolenko_lecture08Computer Science Club
 
20080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture0320080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture03Computer Science Club
 
20080309 efficientalgorithms kulikov_lecture16
20080309 efficientalgorithms kulikov_lecture1620080309 efficientalgorithms kulikov_lecture16
20080309 efficientalgorithms kulikov_lecture16Computer Science Club
 
Quigley_Ventures_Medium
Quigley_Ventures_MediumQuigley_Ventures_Medium
Quigley_Ventures_MediumAlli Quigley
 
20091004 cryptoprotocols nikolenko_lecture05
20091004 cryptoprotocols nikolenko_lecture0520091004 cryptoprotocols nikolenko_lecture05
20091004 cryptoprotocols nikolenko_lecture05Computer Science Club
 
LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...
LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...
LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...CYNTIA
 
Ubuntu: El fenómeno SIMS y el Hikkikomori
Ubuntu: El fenómeno SIMS y el HikkikomoriUbuntu: El fenómeno SIMS y el Hikkikomori
Ubuntu: El fenómeno SIMS y el HikkikomoriDavid VePri
 
Directores escuelas de práctica
Directores escuelas de prácticaDirectores escuelas de práctica
Directores escuelas de prácticaJacqueline Lemos
 

Viewers also liked (20)

20081104 auctions nikolenko_lecture05
20081104 auctions nikolenko_lecture0520081104 auctions nikolenko_lecture05
20081104 auctions nikolenko_lecture05
 
Брачный выбор как модель жизни
Брачный выбор как модель жизниБрачный выбор как модель жизни
Брачный выбор как модель жизни
 
20091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture0620091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture06
 
199912 outsight
199912 outsight199912 outsight
199912 outsight
 
20081005 auctions nikolenko_lecture01
20081005 auctions nikolenko_lecture0120081005 auctions nikolenko_lecture01
20081005 auctions nikolenko_lecture01
 
20081109 auctions nikolenko_lecture08
20081109 auctions nikolenko_lecture0820081109 auctions nikolenko_lecture08
20081109 auctions nikolenko_lecture08
 
Bbhita
BbhitaBbhita
Bbhita
 
brunswick bow front door
brunswick bow front doorbrunswick bow front door
brunswick bow front door
 
paj partners
paj partnerspaj partners
paj partners
 
20080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture0320080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture03
 
20080309 efficientalgorithms kulikov_lecture16
20080309 efficientalgorithms kulikov_lecture1620080309 efficientalgorithms kulikov_lecture16
20080309 efficientalgorithms kulikov_lecture16
 
Abstract
AbstractAbstract
Abstract
 
Quigley_Ventures_Medium
Quigley_Ventures_MediumQuigley_Ventures_Medium
Quigley_Ventures_Medium
 
Hong1212
Hong1212Hong1212
Hong1212
 
20091206 mfcs itsykson_lecture10-11
20091206 mfcs itsykson_lecture10-1120091206 mfcs itsykson_lecture10-11
20091206 mfcs itsykson_lecture10-11
 
20091004 cryptoprotocols nikolenko_lecture05
20091004 cryptoprotocols nikolenko_lecture0520091004 cryptoprotocols nikolenko_lecture05
20091004 cryptoprotocols nikolenko_lecture05
 
LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...
LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...
LEY SOPA, LEY PIPA, CIERRE DE UPLOAD Y CRIMINALIZACION EN LA PROPIEDAD INTELE...
 
El ser humano.ppt
El ser humano.pptEl ser humano.ppt
El ser humano.ppt
 
Ubuntu: El fenómeno SIMS y el Hikkikomori
Ubuntu: El fenómeno SIMS y el HikkikomoriUbuntu: El fenómeno SIMS y el Hikkikomori
Ubuntu: El fenómeno SIMS y el Hikkikomori
 
Directores escuelas de práctica
Directores escuelas de prácticaDirectores escuelas de práctica
Directores escuelas de práctica
 

Similar to Н. Иготти. Виртуализация и виртуальные машины. Лекция 12

AQ_Server_MPT070420-TO_SEND.pdf
AQ_Server_MPT070420-TO_SEND.pdfAQ_Server_MPT070420-TO_SEND.pdf
AQ_Server_MPT070420-TO_SEND.pdfTest946133
 
SPCUA - Virtual SharePoint (Russian version)
SPCUA - Virtual SharePoint (Russian version)SPCUA - Virtual SharePoint (Russian version)
SPCUA - Virtual SharePoint (Russian version)Michael Noel
 
Доклад Майкла Ноэла на SPCUA 2012
Доклад Майкла Ноэла на SPCUA 2012Доклад Майкла Ноэла на SPCUA 2012
Доклад Майкла Ноэла на SPCUA 2012Lizard Soft
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageDEPO Computers
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06Computer Science Club
 
Hardware maintenance of_the_computer
Hardware maintenance of_the_computerHardware maintenance of_the_computer
Hardware maintenance of_the_computerVitusKK
 
нэта
нэтанэта
нэтаBDA
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...VThn18
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
нэта
нэтанэта
нэтаBDA
 
нэта
нэтанэта
нэтаBDA
 
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Mikhail Kurnosov
 
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"Радик Кутлов
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Ontico
 
Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...
Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...
Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...Cisco Russia
 
Новейшие серверные решения от Fujitsu и как они позволяют экономить
Новейшие серверные решения от Fujitsu и как они позволяют экономитьНовейшие серверные решения от Fujitsu и как они позволяют экономить
Новейшие серверные решения от Fujitsu и как они позволяют экономитьFujitsu Russia
 
Scalablehw Лагунцов
Scalablehw ЛагунцовScalablehw Лагунцов
Scalablehw ЛагунцовOntico
 
Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...
Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...
Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...Fujitsu Russia
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ontico
 

Similar to Н. Иготти. Виртуализация и виртуальные машины. Лекция 12 (20)

AQ_Server_MPT070420-TO_SEND.pdf
AQ_Server_MPT070420-TO_SEND.pdfAQ_Server_MPT070420-TO_SEND.pdf
AQ_Server_MPT070420-TO_SEND.pdf
 
SPCUA - Virtual SharePoint (Russian version)
SPCUA - Virtual SharePoint (Russian version)SPCUA - Virtual SharePoint (Russian version)
SPCUA - Virtual SharePoint (Russian version)
 
Доклад Майкла Ноэла на SPCUA 2012
Доклад Майкла Ноэла на SPCUA 2012Доклад Майкла Ноэла на SPCUA 2012
Доклад Майкла Ноэла на SPCUA 2012
 
Современные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO StorageСовременные серверы DEPO Storm и системы хранения DEPO Storage
Современные серверы DEPO Storm и системы хранения DEPO Storage
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06
 
Hardware maintenance of_the_computer
Hardware maintenance of_the_computerHardware maintenance of_the_computer
Hardware maintenance of_the_computer
 
нэта
нэтанэта
нэта
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
нэта
нэтанэта
нэта
 
нэта
нэтанэта
нэта
 
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
Лекция 5: Многопоточное программирование: часть 1 (Multithreading programming...
 
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
Презентация проекта "Виртуальное частное облако инструмент снижения TCO"
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
 
Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...
Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...
Обзор и новинки продуктовой линейки маршрутизаторов Cisco ASR 1000. Архитекту...
 
Новейшие серверные решения от Fujitsu и как они позволяют экономить
Новейшие серверные решения от Fujitsu и как они позволяют экономитьНовейшие серверные решения от Fujitsu и как они позволяют экономить
Новейшие серверные решения от Fujitsu и как они позволяют экономить
 
WebAssembly
WebAssemblyWebAssembly
WebAssembly
 
Scalablehw Лагунцов
Scalablehw ЛагунцовScalablehw Лагунцов
Scalablehw Лагунцов
 
Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...
Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...
Вебинар «Серверы Fujitsu PRIMEQUEST – уникальная отказоустойчивость и высочай...
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

Н. Иготти. Виртуализация и виртуальные машины. Лекция 12

  • 1. Архитектура VirtualBox Николай Иготти
  • 2. Идеологические моменты • Высокопроизводительный эмулятор x86 на x86 • Использование динамического транслятора (на основе QEMU) при необходимости • Использование динамической модификации привилегированного кода гостя, исполняемого в R1 (зачем?) • Использование аппаратной виртуализации при возможности • Модели устройств частично в R0/GC • Поддержка vSMP 2
  • 3. Проблемы производительности • Привилегированные инструкции и системные вызовы (GC->R0->R3->GC) • Управление памятью (различные режимы адресации: битность, PAE, large pages) • Обработка прерываний (внешних, внутренних) • Обмен информации между R0/GC/R3 компонентами гипервизора • Ввод-вывод, особенно видеопамять, диск и сеть 3
  • 4. Подходы к решению • Максимум непосредственного исполнения • Интенсивное использование MMU процессора (защита чувствительных страниц) • Диспетчеризация прерываний прямо в R0 (GC(03)->R0->GC(03)) • Значительная часть кода гипервизора в ядре • Или в контексте гостевой ОС (в кольце 1) • Код в GC полностью релоцируемый • Динамический поиск и модификация участков кода ядра гостя с привилегированными инструкциями 4
  • 5. Подходы к решению (2) • Явное разделение кода модели устройства на R0/GC/R3 части • Сложная логика в R3, часто исполняемый код в R0/GC • 16-битный код исполняется динамическим транслятором • «Ленивое» выделение физической памяти • Теневые или вложенные таблицы страниц, в зависимости от возможностей MMU процессора 5
  • 7. Вложенные таблицы страниц* * Взято из документации AMD 7
  • 8. Организация ввода/вывода • Обработка привилегированных операций и MMIO из обработчиков исключений • Самобалансирующееся AVL дерево обработчиков с ключом – физическим адресом/размером • “Впрыск” прерываний в гостевую ОС • Паравиртуализованные драйвера • Оптимизация доступа к VESA фреймбуфферу • Доступ к реальным устройствам (USB, проброс PCI) 8
  • 9. Вопросы, информация  Пожелания по курсу  Экзамен, записывайтесь на igotti@gmail.com 9