OSDev

для всех
Текущее время: 25 апр 2024, 16:19

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 29 ноя 2011, 17:14 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
phantom-84
Это было тыщу лет назад :) Помучившись с этими самыми эмуляторами и прочими виртуальными машинами, я убедился в их непригодности для серьёзной работы над системным ПО, ну а гонять стандартные оси (которые под ними действительно работают нормально) мне не требуется. Кроме того, у меня нет недостатка с тестовым железом -- как древним (впрочем, основую его массу я выбросил нафиг), как и современным.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 29 ноя 2011, 20:05 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Я не пытался тебя на чем-либо подловить, наоборот наш разговор вызвал во мне чувство дежавю. Я решил покопаться и нашел это. Т.е. действительно мы такое уже проходили :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 29 ноя 2011, 21:07 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Ну, я и не думал, что меня подлавливают. Просто решил, что вызывает антирес, почему сейчас я не использую, если раньше использовал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 29 ноя 2011, 22:11 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
SII писал(а):
Помучившись с этими самыми эмуляторами и прочими виртуальными машинами, я убедился в их непригодности для серьёзной работы над системным ПО, ну а гонять стандартные оси (которые под ними действительно работают нормально)...

SII,
Не слишком ли радикально звучит?? Ведь в боксе работают такие оси, как XP, Vista, современные линуксы и куча других осей, а их несерьёзными никак назвать нельзя. 100% безошибочного ПО не существует, да и невозможно, с этим никто не спорит. Но всё же утверждать о непригодности бокса для серьёзной работы - некорректно.
По поводу обнуления старших 16 бит eip в 16 битном far jump, - честно говоря, я вообще побоялся бы использовать подобные инструкции, несмотря на степень их документированности. Уж очень экстраординарно полагаться на них. И дело даже не в Боксе. Есть куча странных камней - IDT, Rise, NexGen и пр. и совсем не факт, что эти камни тоже на 100% совместимы с интеловской документацией. По крайней мере, точно помню, что один из Cyrix-ов тоже как-то не так вёл себя в некоторых извращённых инструкциях. Да и между поколениями интеловских камней не 100% совместимость по недокументированным "фичам". Таким образом, по минимуму опираясь на "странные" инструкции, мы с большой вероятностью получим надёжную и переносимую ОС.

SII писал(а):
Ну и, кроме того, я уже года 2 как отошёл от работы на IA-32 и вожусь только с АРМами.

Вот в этом я вижу более вескую причину.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 29 ноя 2011, 22:35 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
по поводу far jmp.
Проверил по документации написано что обнуляет. В ближайшее время проверю на процессоре.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 30 ноя 2011, 00:10 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Yoda писал(а):
Не слишком ли радикально звучит?? Ведь в боксе работают такие оси, как XP, Vista, современные линуксы и куча других осей, а их несерьёзными никак назвать нельзя. 100% безошибочного ПО не существует, да и невозможно, с этим никто не спорит. Но всё же утверждать о непригодности бокса для серьёзной работы - некорректно.


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

Цитата:
Вот в этом я вижу более вескую причину.


Ошибаетесь. Я полностью отказался от использования эмуляторов существенно раньше, чем начал возиться с АРМами. Ну а если ещё точнее, я почти их не использовал. Пытался, и мой пост, что процитировал Фантом, относится именно к тому периоду, но увы... Меня такое качество не устроило.

Собственно, из числа того, с чем встречался, единственным "эмулятором", а точней, системой виртуальных машин, которая хорошо годится для разработки системного ПО, является IBM VM/370 (которую у нас скоммуниздили как СВМ ЕС). Но мэйнфрейм -- не ПК, там сама архитектура тщательно продумана и полностью задокументирована, не говоря о том, что там нет сплошных костылей и извратов, коими страдает аппаратура ПК. Соответственно, создать систему виртуальных машин на такой архитектуре было много проще, что IBM и сделала. Ну а ПК... Из-за кривизны архитектуры IA-32 подобную систему хотя бы в теории возможно создать только для процессоров, имеющих аппаратную виртуализацию (для мэйнфреймов этого не требовалось -- VM/370 работала на любой машине Системы 370 или старше, лишь бы там достаточно ОЗУ было -- минимум аж 512 Кбайт), ну а качественно сэмулировать периферию вообще невозможно: половина не документирована никак (в частности, графические процессоры), изрядная часть оставшегося -- плохо документирована, плюс огромное число аппаратных ошибок, которые просто не слишком заметны, пока на них не напорешься... Кстати, с аппаратными ошибками у АРМов та же история. Просто поражаешься временами, как ТАКОЕ можно выпускать на рынок?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 30 ноя 2011, 00:19 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
VMware Workstation пока не подводил. Хотя бывают странности - тормоза и даже глюки, если код значительно изменился (либо вообще первый запуск неизвестной программы). Со второго раза работает нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 30 ноя 2011, 00:53 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Может быть, не спорю. Но, насколько понимаю, VMware не даёт возможности вести низкоуровневую отладку? Т.е. пошаговое выполнение системного кода с отображением содержимого регистров, просмотр памяти и т.д. и т.п.? Если нет, то для разработки ОС такой инструмент почти бесполезен (во всяком случае, если в твоём распоряжении имеется несколько физических компьютеров -- а у меня именно так).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 30 ноя 2011, 01:14 

Зарегистрирован: 18 апр 2010, 15:59
Сообщения: 155
Не знаю как вам, а мне VmWare Workstation сильно облегчает жизнь. В свое время написан фреймворк, который позволяет собирать тестировать мои поделки в два клика: 1-й в Вижле на сборку прокта, 2-й в VmWare на запуск машины. Параллельно почти каждый день, up to date копию на дискете переношу и запускаю на физическом (контрольном) сервере. Бенефит по удобству/производительности разработки на лицо. Так что, лично я рекомендую активное использование виртуальных машин.

SII писал(а):
Может быть, не спорю. Но, насколько понимаю, VMware не даёт возможности вести низкоуровневую отладку? Т.е. пошаговое выполнение системного кода с отображением содержимого регистров, просмотр памяти и т.д. и т.п.? Если нет, то для разработки ОС такой инструмент почти бесполезен (во всяком случае, если в твоём распоряжении имеется несколько физических компьютеров -- а у меня именно так).

При наличии отладчика соответствующего уровня на целевой вирт машине возможность отладки есть. При отсутствии - нету. Это не эмулятор, а виртуальная машина. Но по сравнению с использованием только железа бенефит приносит огромный. Эмуляция процессора кстати вещь то же очень полезная, порой я о ней мечтал. Но весь мой опыт секса с QEMU оставил меня в очень печальном настроении. :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эмуляторы
СообщениеДобавлено: 30 ноя 2011, 01:22 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
pavia писал(а):
по поводу far jmp.
Проверил по документации написано что обнуляет. В ближайшее время проверю на процессоре.
Да, я ошибся. Раньше было написано, что не влияет (это так и было - я проверял), а сейчас написано, что обнуляет. Т.е. либо в современных процессорах изменили поведение инструкции, либо современная документация - полное... Нужно написать тест и прогнать его прежде всего на современных процессорах. Старый тестовый комп я по прежнему использую, поэтому этот же тест нужно прогнать и на нем, чтобы подтвердить мои слова насчет того, что раньше не обнулял. В любом случае бокс скорее всего обнулял всегда, хотя возможно его разработчики уже ориентировались на новое поведение/документацию.

ZarathustrA писал(а):
Не знаю как вам, а мне VmWare Workstation сильно облегчает жизнь. В свое время написан фреймворк, который позволяет собирать тестировать мои поделки в два клика: 1-й в Вижле на сборку прокта, 2-й в VmWare на запуск машины. Параллельно почти каждый день, up to date копию на дискете переношу и запускаю на физическом (контрольном) сервере. Бенефит по удобству/производительности разработки на лицо. Так что, лично я рекомендую активное использование виртуальных машин.
Естественно, что в два клика, иначе бы эмуляторами почти никто не пользовался. Хочу сказать, что все это сильно зависит от того, что тестируется. Если тестов много и их можно (пере)запускать непосредственно в разрабатываемой системе без потери контроля, то и на реальном железе можно поработать. А если здесь же есть и средства разработки, с помощью которых можно подправить тестовую программу и откомпилировать ее заново, то вообще хорошо.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB