ОС. Виртуализация
Лекция 10
Что такое виртуализация?
Зачем нужна виртуализация?
Эффективная виртуализация
Подходы к виртуализации
Эффективная бинарная трансляция
Пример трансляции базового блока
addl $4, %esp
movl %cr0, %eax
orl $(1 << 31), %eax
addl $4, %esp
movl %cr0, %eax
orl $(1 << 31), %eax
movl %eax, %cr0 // *bad
pushl $enable_64bit_gdt
call videomem_puts // branch
pushl %eax
call trap_set_cr0
pushl $enable_64bit_gdt
pushl $videomem_puts
call trap_call
* not actually, use it just as an example
Бинарная трансляция и привилегии
* мы могли бы использовать Ring1 или Ring2, чтобы обеспечить большую степень изоляции
Аппаратная поддержка виртуализации CPU
Аппаратная поддержка виртуализации CPU
Виртуализация памяти
Адресные пространства при виртуализации
Shadow Tables
Shadow Tables
Shadow Tables Updates
Аппаратная поддержка виртуализации MMU
Виртуализация IO
Ballon драйвер
Q&A