=
mini-FAQ по эмуляторам процессора x86 BOCHS и QEmu =
- Зачем оно нам?
- Эмулятор и враппер
- Для юзера
- Что живет сейчас?
- Как пользоваться BOCHS?
- Как пользоваться QEmu?
- В какую сторону будем рыть
- IPS у BOCHS
Зачем оно нам?
Интересный вопрос. В принципе, наличие этой штуки для Linux, работающей на x86, IMHO не очень оправдано. Однако, как показывает практика, студенты в массе своей
почему-то упорно под «языком С», как они это называют, понимают оболочку BC 3.1. Так что для облегчения «психологического дискомфорта» при переходе на Linux, а также для повышения загрузки этого класса преподавателями (не очень жаждущими перед обучением студентов С проводить
пол-семестра массовый ликбез), неплохо бы научиться запускать
что-нибудь из джентльменского набора DOS под Linux. Вот
тут-то эмулятор процессора и может помочь.
Есть еще одна ситуация, когда он может оказаться полезным при проведении расчетов в DOS старыми программами (часто возникающая ситуация). Windows здесь не очень удобна. Может, это окажется лучше.
Как-нибудь проведу сравнения.
Эмулятор и враппер
Враппер это преобразователь вызовов функций одной ОС в другую (ну или одной железки в другую например, долго ожидаемый враппер из 3DFx в
Open GL?, так и не дошедший даже до альфа стадии). Поэтому такие вещи, как Wine и Winex называть эмуляторами ошибочно они производят преобразование вызовов API Windows в системные функции Linux. Ну и поскольку этот самый API (а также всякие Direct`ы) все
как-то никак не устаканится :), они и выходят регулярно, бесконечно аппроксимируя релиз. Эмулятор же, как видно из названия, эмулирует
что-то, в нашем случае процессор x86. В идеале для программ, работающих под эмулятором, разница не должна быть заметна. На практике все не так безоблачно, поскольку
кое-что не сделано или не доделано (есть надежда на возможность употребления слова «пока»)..
Для юзера
Ну, для пользователя это, в принципе, еще один компьютер, живущий «внутри» системы. Правда, возникают некоторые неудобства, вызванные необходимостью делить одну клавиатуру, мышь и прочие внешние устройства. К сожалению, придется немного повозиться с комбинациями клавиш в сочетании с ALT и CTRL. Также плохо то, что доступ к файловым системам машины, на которой живет эмулятор, хоть и возможен, но строго не рекомендуется. Это еще допустимо для сидюка, ну и для дисковода, но диски же для
хост-системы представляются файлами, в которых и копается эмулятор. Скорость же очень интересна. С одной стороны, это вроде как эмулятор. С другой стороны, если компьютер сравнительно новый, то DOS может вообще не ожить, а если и поднимется, то будет использовать
какую-то долю его мощи. В случае же эмулятора это обычный процесс, который использует все возможности вашего компьютера (со всеми вытекающими отсюда последствиями работы с внешними устройствами и пр.)
Что живет сейчас?
Ну, времени копаться у меня особо нет, поэтому сейчас там живут:
- Turbo C
- Te X? 2.09
- DOS 6.22, с поддержкой расширителей, как-то DOS4GW (вспомним молодость :)
- Всякие VC и NC со своими причиндалами
- Компилятор Zorteсh, и даже с поддержкой своих расширителей
- Графические режимы вплоть до VGA, а вот SVGA уже нет :(
- Всякие arj, zip и rar`ы
- Доктор Web дремучей версии. На эмуляторе новее не понадобится
Как пользоваться BOCHS?
Для запуска BOCHS нужно разместить в ~ файл bochsrc.txt, который уже подготовлен заранее для использования. Также возьмите образы C и D и разместите их в ~. Для этого скопируйте эти три файла в ~, а их месторасположение узнайте у лаборантов
3-07А. Ну или позднее оно здесь появится, может... С клавиатурой особых проблем нет, разве что придеться научиться пользоваться комбинациями клавиш в сочетаниях с ALT и CTRL они используются и файловым менеджером, поэтому там все немного непривычно. С мышью несколько хуже как только мышь попала в окно эмулятора, она им захватывается. Чтобы вернуть мышь, нажмите среднюю кнопку (= нажатию левой и правой кнопок одновременно). Мышь вернется. Монтировать и размонтировать устройства можно с помощью пиктограмм дискет и CD в левом верхнем углу. Верхний правый угол отдан на откуп
чему-то вроде буфера обмена вырезать текст в него, получить снимок экрана.... Еще интересны кнопки Reset и Power в верхнем правом углу окна они говорят сами за себя. Собственно запуск bochs лучше произвести с ключом q, иначе придется потом попользоваться меню для запуска симуляции.
Как пользоваться QEmu?
Для запуска QEmu нужно просто в ключах -hda/-hdb/-hdc/-hdd указать
файлы-образы дисков. В отличие от BOCHS, указывать реальное физическое устройство уже нельзя. Примерно это выглядит так: qemu -hda ./drive_C.image QEmu попроще, чем BOCHS, но зато быстрее и, что главное, в нем работает большая часть нужных мне программ.
В какую сторону будем рыть
Ну, для хорошей жизни надо добиться, чтобы заработало:
- BC 3.1 целиком
- Попробовать Pascal туда вставить
- VESA-режимы графики
- Возможно, имеет смысл завести NE2K, чтоб по сети лазить на диски хоста :)
- Звук, что-ли, еще попробовать оживить....
IPS у BOCHS
Сокращение от Instruction Per Second. К этой величине привязаны всякие внутренние таймеры, поэтому очень важно настроить эту штуку как можно более точно отражающей скорость
хост-системы. Иначе всякие глюки начнутся от неработающего дисковода и внешних портов до проблем с TC. Все исправления, пожелания и дополнения по этому творению сюда