vmx виртуализация

Тема в разделе "WASM.BEGINNERS", создана пользователем XshStasX, 4 дек 2009.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    где можна почитать про написание вирт. машин а также взаимодействие с ними, интересна теор. часть и практическая??
     
  2. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    intel manuals
     
  3. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Есть три(2 с половиной) способа :
    1) Смотреть исходники и документацию(обычно ее мало) на проекты с открытым кодом.
    2) Подключится в один из этих проектов.
    3) Быстро прочитать и понять intel manuals и наняться в коммерческую контору, ибо по другому вас к документации не допустят.
     
  4. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    виртуальная машина - вариант конечного автомата, начальные состояния которого определяются п-кодом этой виртуальной машины. те теория вм (железных хард или софт процессоров/мк тоже) == теория автоматов

    первые виртуальные машины, а в какойто мере и часть современных эмулируют некий, не обязательно существующий, не обязательно полностью, процессор

    наиболее простые п-код машины работают на основе стека, обратной польской нотации и словарей (переменные/функции). таких машин подавляющее большинство. чтоб потренироваться в понимании их работы неплохо попрограммировать на форте/постскрипте.

    есть и более простые и боле совершенные архитектуры, но их лучше рассматривать опосля

    для начала (после разборок/сборок автоматов ак до 10сек на все про все и чтения всяких книг по написанию компилеров (в основном на ен)), таки да, как советует valterg, стоит посмотреть сорцы какой нибудь очень простой вм. в сети довольно часто попадаются учебные интерпретаторы. гдето и у меня валялось несколько. и чтото вспоминается, что в книжке "программное окружение юникс" кернигана и пайка поэтапно, в куче глав, приводится разработка простого интерпретируемого языка. те фронтенда этого языка + виртуальной машины к нему. фронтенд на яцц.
     
  5. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    только щас сообразил, что разговор о х86-пс виртуализации..

    извините, перепутал.

    есть сорцы борща, кемы и vx32. vx32 не полноценная виртуалка, а библиотека для виртуализации x86-32. умеет лоадить ельф-файлы
     
  6. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    я так понимаю литературы по даной теме токо в intel manuals ?
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    XshStasX
    если бы все так просто. проэмулить х86 это только начало. вам надо проэмулить какойнить комплект железа. незаметно для того что вы гонять потом будете
     
  8. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    А кто-то знает хотяб базовые примеры, эмуляци, тоесть литерату для старта(пусть даже на анг. языке) ?
     
  9. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    XshStasX
    это у вас лабы такие?

    туторов - "пишем пс - виртуалку на 1, 2, 3" нету. если об этом и писалось чтото дельное, то немного и отрывками. отрывки эти искать.. ну я вам дал наводку для начала парой постов вверх.

    вообще, эмули применяются не только в виртуалках.

    эмуль проца - это фактически
    1) структура представляющая регистровую структуру проца
    2) декодер (дизассемблер) команд
    3) куча функций вызываемых декодером. по функции на команду (включая ее варианты)

    эмуль компа - это
    1) массив эмулирующий память
    2) набор перехватчиков для эмуляции портов устройств
    3) блок для эмуляции прерываний/исключений
    4) всякие биосы и прочее

    эмуль проца лучше промоддить готовый. если не хотите готовый - я б вам советовал эмулировать какойнить минимально достаточный постарее. например, 486
    с железом тоже самое. чем проще и старее, тем больше вероятности, что вы доживете до конца работ. например, чипсет к 486 на иса плате. видюха - строгая стандартная вга или веса в 24рех битном страничном режиме одного разрешения

    буков по такому железу вы найдете. возможно, и экзампловых эмулей тоже