Меню Закрыть

Bochs x86 pc emulator

Содержание

Bochs

Эмулятор x86 с открытым кодом
Тип эмуляция
Разработчик Bochs Project
Написана на C++
Операционная система GNU, GNU/Linux, *BSD, Unix-подобные ОС, Microsoft Windows, iOS, Android
Первый выпуск 1994 [1]
Последняя версия 2.6.10 (1 декабря 2019) [2]
Лицензия GNU LGPL
Сайт bochs.sourceforge.net
Медиафайлы на Викискладе

Bochs (произносится «бокс») — свободная программа для эмуляции аппаратного обеспечения IBM PC. Включает в себя эмуляцию процессоров архитектуры x86, устройств ввода-вывода и возможность использовать различные BIOS и видеоадаптеры. Может эмулировать 386, 486, Pentium, Pentium Pro, AMD64 и другие x86-совместимые процессоры, поддерживает MMX, SSE, SSE2, 3DNow!, SSE3, SSE4, x86-64, VMX, расширение системы команд AES. [3]

Содержание

История [ править | править код ]

Изначально Bochs разрабатывался как коммерческое (платное) ПО с опубликованным исходным кодом [4] (с дополнительными условиями для использования в составе других продуктов). 22 марта 2000 года компания Mandrakesoft (ныне Mandriva) купила Bochs у разработчика (Kevin Lawton) и опубликовала его под открытой лицензией GNU Lesser General Public License. [5]

Некоторые разработки bochs используются в более поздних проектах, например, Xen использует BIOS, написанную для bochs. [6]

Особенности [ править | править код ]

Отличается тщательной эмуляцией процессора, может быть запущен на любой аппаратной платформе, в том числе на SPARC, PowerPC, MIPS. [7] Bochs интерпретирует каждую команду виртуального процессора. [8]

При работе на Pentium 2 с частотой 400 МГц bochs достигает производительности порядка 1,5 млн операций в секунду [9] , то есть на выполнение одной команды виртуального процессора уходит в среднем около 260 тактов физического процессора.

Часто применяется для отладки операционных систем и их компонентов. Имеет встроенные возможности по отладке. [10]

Существовал вариант, использующий plex86 для ускорения операций с памятью. В связи с прекращением разработок, plex86 больше не обновлялся.

Читайте также:  Магнитный дата кабель micro usb

Эмулируемое оборудование [ править | править код ]

Класс Устройство
Видеоадаптер Cirrus Logic CL-GD5430 ISA
Cirrus Logic CL-GD5446 PCI
Звуковая карта Sound Blaster 16 (ISA, без Plug & Play), ES1370 (PCI)
сетевая карта Ethernet NE2000 [11] ISA (если в PCI-слоте не прописать ne2k),иначе Realtek RTL8029 PCI, E1000 (PCI)
Чипсет/южный мост Intel 440FX PCI. Мост Host-to-PCI (PMC/DBX), мост PCI-to-ISA, PCI контроллер IDE (PIIX3). Эмулируется 5 PCI слотов.
USB Корневой хаб; мышь, tablet, keypad, usb mass storage. USB xHCI эмулирует контроллер NEC/Renesas uPD720202
Процессоры Поддерживается многоядерность, до 8 ядер.
3D-ускоритель 3dfx Voodoo1 (с версии 2.6.5)
Enhanced BIOS El Torito, EDD v3.0, базовый APM, PCIBIOS, маршрутизация прерываний PCI. ACPI, SMM, SMP.

Интересные факты [ править | править код ]

С использованием bochs был произведен запуск Windows 98 на сотовом телефоне с ОС Windows Mobile [12] и на смартфоне с ОС Andro >[13]

Существует вариант Bochs для Andro >[14] . Версия 2.5.1 была портирована в 2012, а 2.6.8 — в 2016 году. С августа 2016 платформа Android официально поддерживается проектом.

Версия собранна из стабильного релиза 2.5 от 27 ноября, с некоторыми изменениями для Андроид, а также моей реализацией звука через SDL.
Работает медленнее чем QEMU, но более стабильна, поэтому более предпочтительна если необходим запуск софта не требующего мощного процессора.
Использует тотже SDL что и QEMU. Название приложения и путь установки изменены, чтобы не конфликтовать с QEMU, но файлы настройки и образов хранятся в папке SDL.
Установка:
1. Установить apk
2. Распаковать архив в sdcard/SDL
3. Положить туда же образ диска (по умолчанию c.img, можно изменить в bochsrc.txt)
Если программа закрывается сразу же после запуска и в папке SDL нет файла bochsout.txt, то скорее всего у вас ошибка в bochsrc.txt:
например неправильный путь к образу (важен правильный регистр в имени папок и файлов) или использование редактора добавляющего спец символы в текст. Если файл bochsout.txt есть, то проблема должна быть описанна в нем. В большинстве случаев — неподдерживаемый формат образа диска.
Управление:
— Для работы мышки не нужны сторонние программы.(Если в образе уже присутствует PowerPro лучше его убрать чтобы мышь работала адекватно). Эмулируется тачпад и кнопки мыши на громкости.
А также клик по экрану равносилен клику левой кнопки мыши (так что можно поберечь кнопку громкости))).
— Назад = BackSpace, Menu = Enter, клик по левому верхнему углу экрана = TAB
— клик по левому нижнему углу экрана вызывает клавиатуру

Читайте также:  Где находятся удаленные фото на андроиде

Дополнительные возможности:

— (на свой страх и риск) возможен прямой доступ к файловой системе телефона (только чтение, запись изменений экспериментальна и скорее всего не работает)
в bochsrc.txt пишем
ata0-slave: type=disk, mode=vvfat, path=/sdcard/HDD, journal=vvfat.redolog
где HDD -папка созданная в корне sdcard

— Поддержка звука через SDL (в оригинальной версии bochs отсутсвует).
для активации звука надо изменить строчку для sb16: на следующую
sb16: wavemode=1, dmatimer=500000

Bochs IRC Chat Transcripts
The Bochs community held an IRC open discussion chat on Sunday, February 1, 2004. We talked about current and future developments (Transcript). Here are some transcripts of earlier conversations: October 13, 2002, April 7, 2002, June 19, 2001, May 30, 2001.

Bochs at ISCA-35
Bochs was presented at ISCA-35 in Beijing, China at "The 1st Workshop on Architectural and Microarchitectural Support for Binary Translation" by a paper
"Virtualization without direct execution — designing a portable VM".
Download paper and presentation slides.

Help Wanted
We currently need help with the following tasks:

  • Bug Reports: Mouse, interrupt controller, timer, IDE controller, network card, keyboard, VGA. Most of our bug reports and feature requests are due to incomplete C++ models of the various PC devices. To improve this, we need PC Hardware Gurus who know where to find the specs for this stuff and improve the hardware models for Bochs. Working on models is a fun way to learn how things work, and unlike designing a real hard disk, you can test out your changes on a real operating system immediately!
  • Disk Images: Our collection of disk images is getting out of date. It would be great to have small or large images of a variety of free operating systems.
  • Documentation: Adding installation help and other useful information into the docs.
Читайте также:  Erisson 32les70t2 нет подсветки

To help with one of these tasks, please contact Volker Ruppert or Stanislav Shwartsman.

Older News

  • December 1, 2019:Bochs 2.6.10 is now available.
  • April 9, 2017:Bochs 2.6.9 is now available.
  • May 3, 2015:Bochs 2.6.8 is now available.
  • November 2, 2014:Bochs 2.6.7 is now available.
  • June 15, 2014:Bochs 2.6.6 is now available.
  • June 1, 2014:Bochs 2.6.5 is now available.
  • May 26, 2013:Bochs 2.6.2 is now available.
  • April 7, 2013:Bochs 2.6.1 is now available.
  • September 2, 2012:Bochs 2.6 is now available.
  • January 6, 2012:Bochs 2.5.1 is now available.
  • November 27, 2011:Bochs 2.5 is now available.
  • February 23, 2011: Bochs project moved to Subversion source control. Bochs 2.4.6 is the last release available from CVS !

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.