OSDev http://osdev.su/ |
|
Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" http://osdev.su/viewtopic.php?f=5&t=621 |
Страница 1 из 2 |
Автор: | gaghyp [ 24 авг 2012, 15:24 ] |
Заголовок сообщения: | Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
На сайте osdev предлагаются минимальный примеры ОС. Как ни гуглю, не могу найти (действительно) минимального примера VMM/hypervisor, который для простоты использовал бы аппаратную виртуализацию процессора и мог бы запустить и мониторить 2+ ОС того же минимального уровня. vmm - это, конечно, ещё не ОС, но уже и не БИОС - т.е. формально не специфика osdev. Но тогда какого сайта? Спец. ресурсов, посвящённых исключительно написанию vmm, я не встречал, поэтому всё же наконец-то пробую спросить у вас. Складывается такое впечатление, что существует какая-то фундаментальная причина невозможности написания именно минимального гипервизора, использующего аппаратную виртуализацию. Не перестаю надеяться, что оно всё же ошибочно. |
Автор: | Yoda [ 24 авг 2012, 15:29 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
Проблема заключается в том, что помимо процессора необходимо виртуализировать и всё аппаратное обеспечение компьютера. Тут два пути – либо пытаться разделить доступ к существующему железу, решая вопросы конфликтов доступа к нему с разных ОС, либо предоставлять ОСям некое виртуальное железо, которое необходимо эмулировать. |
Автор: | D-S [ 24 авг 2012, 15:31 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
А я всегда считал,что VMM это Virtual memory manager. Наверно отстал от жизни... |
Автор: | SII [ 24 авг 2012, 15:32 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
Причём разделить железо в общем случае невозможно, а виртуализировать на ПК -- крайне сложно. |
Автор: | gaghyp [ 24 авг 2012, 18:14 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
Yoda писал(а): необходимо виртуализировать и всё аппаратное обеспечение компьютера Я как раз хочу увидеть hello world, поэтому явно упомянул, что запускать под монитором буду hello world OS. Да, ввод с клавы и примитивный вывод на экран нужны. Может ещё таймер и последовательный порт, но не более. D-S писал(а): А я всегда считал,что VMM это Virtual memory manager. Наверно отстал от жизни... Вот зная, что пишу на OSdev, и расшифровал, что имею ввиду Раз всё ещё хелловорлда для VMM нет, то ещё точно не так отстал. SII писал(а): Причём разделить железо в общем случае невозможно, а виртуализировать на ПК -- крайне сложно. Учитывая упомянутый мною случай, при переключении ОС управление клавой, видео-выводом переходят активной ОС. Остальные ОС работают себе, могут считать чего, но при обращении к не хелловордно-разделяемым ресурсам получают нефатальный отказ или просто вызов блокируется до переключения в эту хелловордную ОС. |
Автор: | Yoda [ 24 авг 2012, 18:25 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
gaghyp писал(а): Я как раз хочу увидеть hello world, поэтому явно упомянул, что запускать под монитором буду hello world OS. Да, ввод с клавы и примитивный вывод на экран нужны. Может ещё таймер и последовательный порт, но не более. А выводить "Hello, World!\n" куда? В вакуум? (виртуализация видеоадаптера - весьма непростая задача). А грузить образ ОС откуда? Тоже из вакуума? (виртуализация ATA/SATA/FDD...) |
Автор: | pavia [ 24 авг 2012, 18:44 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
Давайте прикинем что нам надо натурализовать? Что-бы запустить 2 ОС паролельно. RAM - легко CMOS - легко RTC - легко PIT - легко PIC - легко DMA - легко CPU - трудно PCI - легко/средне HDD - средне BIOS - трудно видео карта. - средне сетевая карта - средне клавиатура - легко мышь - легко 9х5 4х30 2х100 За год можно сделать минимальный гипер визор. Но лучше взять готовое. быстрее будет. Нужно взять готовую ОС. Взять готовую виртуальную машину. И присобачить драйвер который и будет гипервизором. Он будет перехватывать обращения к запрещённым командам и портам и передавать в виртуалку. Т.е по факту будем виртуализовать только CPU. |
Автор: | SII [ 24 авг 2012, 18:50 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
Видюху, даже простую (типа VGA) -- отнюдь не просто. Ну а современные и вовсе близко к невозможному -- хотя б из-за отсутствия документации. А вот процессор эмулировать как раз особых проблем не составляет -- даже такой дурной, как ИА-32. |
Автор: | pavia [ 24 авг 2012, 18:59 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
Видюху как раз таки несложно. К ней доступ в нормальных ОС идёт через БИОС. Документация есть. Плюс основные порты. Остальное потом можно доделать. А вот проц, как раз сложнее там фигни много всякой документация неверна или неточна. |
Автор: | SII [ 24 авг 2012, 19:10 ] |
Заголовок сообщения: | Re: Virtual Machine Monitor (VMM) уровня "Здравствуй мир!" |
У каких это осей доступ обычно через БИОС? У МС-ДОС? Даже у хелловорлд-осей, скорей всего, доступ будет в видеопамять. Ну а если делать что-то серьёзнее, чем древний VGA, то сразу проблемы, ведь даже у доисторических S3 были уже примитивные функции ускорения. О современных же графически процессорах и говорить нечего. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |