OSDev
http://osdev.su/

Эмуляторы
http://osdev.su/viewtopic.php?f=18&t=471
Страница 1 из 5

Автор:  pavia [ 27 ноя 2011, 17:00 ]
Заголовок сообщения:  Эмуляторы

Какими эмуляторами вы пользуетесь и чего вам не хватает в них?

Автор:  Yoda [ 27 ноя 2011, 21:57 ]
Заголовок сообщения:  Re: Эмуляторы

Пользуюсь Bochs.
Не хватает выбора типа проца и поддержки USB.

Автор:  SII [ 28 ноя 2011, 20:39 ]
Заголовок сообщения:  Re: Эмуляторы

Не пользуюсь вообще. Главная причина -- полное отсутствие действительно качественной и надёжной эмуляции (меня в принципе не устраивает ситуация, когда программа нормально работает на реальном железе, но не на эмуляторе, или наоборот). Подозреваю, что для ПК создать настоящий высококачественный эмулятор вообще на практике невозможно (слишком уж уродская и незадокументированная платформа, даже процессоры не документированы в полном объёме, а временами и хуже: ведут себя не так, как положено, если верить документации). Но и на АРМах та же история: ну нет нормальных эмуляторов, и всё тут, хотя степень документированности существенно выше.

Автор:  Yoda [ 29 ноя 2011, 10:01 ]
Заголовок сообщения:  Re: Эмуляторы

Ну не знаю. В рамках Бокса идут все имеющиеся операционные системы и работает любой софт, следовательно, эмуляция вполне приличная. Опираться на недокументированные возможности - значит копать под себя. Если что-то работает на реальном железе и не работает в боксе, это, как правило, из-за ошибок в ПО. Если выясняется, что виной тому эмуляция, - баг-репорт и быстрое устранение глюка. В любом случае, имеющейся пользы от эмулятора существенно больше, чем потенциального вреда.

Автор:  phantom-84 [ 29 ноя 2011, 10:33 ]
Заголовок сообщения:  Re: Эмуляторы

Пользуюсь разными эмуляторами, но "контрольное" тестирование системы выполняю только в Bochs, т.е. ради совместимости с Bochs могу скорректировать код ядра и драйверов. Не хватает прежде всего автоматической синхронизации таймера с хостом в дистрибутивах под Windows.

Yoda писал(а):
Ну не знаю. В рамках Бокса идут все имеющиеся операционные системы и работает любой софт, следовательно, эмуляция вполне приличная. Опираться на недокументированные возможности - значит копать под себя. Если что-то работает на реальном железе и не работает в боксе, это, как правило, из-за ошибок в ПО.
Так даже документированные возможности далеко не все поддерживаются. Я тестирую систему на совместимость с боксом. Разработчики бокса, видимо, тестируют его на совместимость с самыми популярными системами. Доработками на прохождение подобных тестов все и ограничивается.

Автор:  SII [ 29 ноя 2011, 13:24 ]
Заголовок сообщения:  Re: Эмуляторы

phantom-84 писал(а):
Так даже документированные возможности далеко не все поддерживаются. Я тестирую систему на совместимость с боксом. Разработчики бокса, видимо, тестируют его на совместимость с самыми популярными системами. Доработками на прохождение подобных тестов все и ограничивается.


О чём и речь. Интересно, хоть процессор они эмулируют полностью и совершенно корректно?.. Он же документирован на 100% (если говорить о вещах, полезных для "нормальных" программ и операционок, а не для БИОС, которые пользуются всякими там MSR для настройки контроллера памяти, кэша, множителей системы синхронизации и т.д. и т.п.). Точнее, если что-то оказывается не задокументированным, этим "чем-то" пользоваться попросту не следует, т.е. при создании эмулятора можно исходить из того, что интеловские мануалы описывают всю архитектуру IA-32 от начала до конца.

Автор:  phantom-84 [ 29 ноя 2011, 15:03 ]
Заголовок сообщения:  Re: Эмуляторы

Нет документирования на 100%. К примеру никак не могут определиться с инструкциями int1 или salc, которые стабильно поддерживаются всеми процами с "древних" времен. Инструкция loadall вообще мегафантомная.

Бокс тоже работает по принципу: "раз жалоб не поступало, значит, все в порядке". К примеру обнуляет старшее слово eip при 16-разрядном far jump'е, хотя в документации (по крайней мере за последние несколько лет) четко сказано, что данная инструкция влияет только на младшее слово (ip) - из-за такого поведения бокса я долго использовал не совсем корректный код (при помощи условной компиляции делал выбор между 16- и 32-разрядной инструкцией в зависимости от размерности внутрисегментного смещения назначения) при переходе из реального режима в защищенный (хотя правильный вариант - всегда использовать 32-разрядную инструкцию).

Автор:  phantom-84 [ 29 ноя 2011, 16:16 ]
Заголовок сообщения:  Re: Эмуляторы

Зы:
Я писал(а):
В Bochs'е не развиты до конца даже те возможности оборудования, которые описаны в спецификациях. Разработчики в этом плане пока ориентируются на традиционные методы взаимодействия программ с устройствами, т.е. на те, которые используются в распространенных ОС. У меня, например, с видео были проблемы - пришлось пойти другим путем, чтобы добиться нужного результата. У некоторых с интервальным таймером возникают проблемы. И т.п. Однако из эмуляторов я чаще всего все равно использую Bochs, потому что в других эмуляторах глюков не меньше, а может даже больше. Свою ось я в основном тестирую на реальном железе, причем на разном, потому что уверен, что там точно нет никакого разрушительного кода, а результаты будут более правдоподобными, чем в эмуляторах.

SII писал(а):
Совершенно согласен. Фактически я хотел своим постом сказать, что при возникновении глюков необходимо проверить, не связаны ли они с погрешностями эмулятора, и лишь затем углубляться в анализ своего кода (иначе может получиться, что ищешь ошибку, которой у тебя нет). Сам я гоняю свои программки как на эмуляторе (пока только Parallels -- мне на халяву лицензионная версия досталась, но думаю скачать Bochs, а также крякнуть VMWare, если кряка к ней не найдётся -- хочется посмотреть, как одна и та же программа ведёт себя в разных эмуляторах), так и на реальных компах (цельные три штуки -- очень старый пень-2, старый, но двухпроцессорный Xeon и медленный, но почти что современный ноутбук).

Источник: Эмуляторы

Автор:  418ImATeapot [ 29 ноя 2011, 16:39 ]
Заголовок сообщения:  Re: Эмуляторы

QEMU с оболочкой.
Не хватает хорошего отладчика - с возможностью редактировать память и, желательно, граф. интерфейсом.
Может, когда проект будет серьезнее, перейду на бокс. А пока в отладочных целях QEMU хватает.

Автор:  418ImATeapot [ 29 ноя 2011, 16:40 ]
Заголовок сообщения:  Re: Эмуляторы

SII писал(а):
Не пользуюсь вообще..

У вас, наверное, много пушечного железа.

Страница 1 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/