Эмулятор ЭМУ |
|||
|
Оглавление: НазначениеЭмулятор EMU версии 1.01 - мощное инструментальное средство, позволяющее детально исследовать разнообразное программное обеспечение, функционирующее на аппаратной платформе Intel x86. С точки зрения пользователя эмулятор выглядит как классический отладчик программ, включающий традиционный набор возможностей для программ этого класса:
Использование режима эмуляции позволило реализовать ряд принципиально новых возможностей, которые отсутствуют в обыкновенных отладчиках:
Описание программыЭмулятор EMU по своей сути является виртуальной машиной, аналогичной реальной аппаратной платформе Intel x86. Исследуемая программа функционирует совершенно так же, как и на обыкновенном компьютере и ничего "не подозревает" о том, что она работает в режиме эмуляции. Достигается это за счет достаточно полного моделирования процессора, то есть реализации набора его команд, а так же моделирования того, над чем эти команды оперируют: регистров процессора, адресного пространства процессора (в которое попадают ОЗУ компьютера, ПЗУ системной платы и внешних устройств, ОЗУ внешних устройств, например, видеопамять, и т.д), а так же пространства портов ввода/вывода процессора, обеспечивающего процессору доступ к регистрам внешних устройств. Естественно, что кроме всего вышеперечисленного для нормального функционирования программам нужны внешние устройства, такие как контроллер прерываний, таймер, жесткие и гибкие диски, клавиатура, видеоплата и т.д. Минимально необходимые для работы любых программ, а так же наиболее распространенные устройства представлены в эмуляторе EMU в виде соотвествующих программных моделей. Эмулятор включает в себя программные модели следующих основных частей ПЭВМ:
На моделируемом компьютере выполняются все фазы работы обычного компьютера - "включение питания", загрузка операционной системы, запуск программ и др. Именно за счет данной "виртуализации" и обеспечивается замкнутость программной среды исследуемых программ , что позволяет существенно расширить класс решаемых задач. Под замкнутостью программной среды исследуемых программ понимается следующее: какие бы "вредоносные" действия не попыталась исполнить исследуемая программа, результат этих действий скажется только на функционировании других программ, работающих в режиме эмуляции, но не на работе эмулирующей платформы. Таким образом эксперт, проводящий исследование, всегда находится "снаружи" данной среды и при любых обстоятельствах имеет возможность сохранять контроль над исследуемой программой. Эмулятор EMU функционирует под управлением операционных систем Windows 9x/NT/2000. Это обычная прикладная программа, не накладывающая каких-либо существенных (специальных) ограничений на операционную систему и аппаратные возможности эмулирующего компьютера. У программы имеется развитый графический интерфейс для наиболее удобного исследования эмулируемых программ. Как и традиционные отладчики, эмулятор позволяет выполнять исследуемую программу в непрерывном и в пошаговом режимах. Допускается использование контрольных точек для приостановки работы программы. Количество контрольных точек очень велико (65536) и разнообразно (например, остановка программы при чтении данных из регистра внешнего устройства, при переходе центрального процессора в защищенный режим, при возникновении в процессоре исключения и др.), что позволяет осуществлять гораздо более полный контроль за ходом выполнения исследуемых программ. Возможности отладки, предоставляемые самим центральным процессором, так же моделируются, что позволяет использовать в режиме эмуляции и традиционные отладчики. Содержимое регистров центрального процессора, ячеек оперативной памяти, регистров внешних устройств выводится в отдельных окнах. В процессе работы программы нажатие клавиш на клавиатуре компьютера воспринимается как нажатие клавиш эмулируемого компьютера. Для отображения содержимого видеопамяти адаптера VGA так же используется отдельное окно эмулятора. Типичный вид эмулятора во время работы представлен на рисунке 1.
Эмулятор имеет встроенный дизассемблер, позволяющий динамически дизассемблировать любые участки оперативной памяти. Пользователь также может применять для трассировки листинги, полученные с помощью дизассемблеров других фирм. Рекомендуемая область примененияЭмулятор является программой с широкой областью применения. С его помощью можно решать следующие задачи:
ТребованияПрограмма работает на ПЭВМ (платформа Intel x86). Установка эмулятора требует следующих ресурсов:
Для приемлемого быстродействия работы эмулятора рекомендуется конфигурация не ниже Pentium-II 233 МГц, 64 MБ. ОграниченияЭмулируемый компьютер по сравнению с реальными компьютерами имеет следующие ограничения:
При работе программного обеспечения в режиме эмуляции наблюдается естественное снижение быстродействия по сравнению с быстродействием инструментального компьютера. Так, например, на компьютере с процессором Pentium II ~400 МГц скорость эмуляции составляет около 1.000.000 команд в секунду, что вполне приемлемо для нормальной работы |
Copyright © 2002-2007, Провинциальные Программисты |