Bochs

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Bochs
Bochs.png
Эмулятор x86 с открытым кодом
Тип

эмуляция

Разработчик

Bochs Project

Написана на

C++

Операционная система

GNU, GNU/Linux, *BSD, Unix-подобные ОС, Microsoft Windows, iOS

Языки интерфейса

английский

Первый выпуск

1994[1]

Последняя версия

2.6.6 (15 июня 2014)

Лицензия

GNU LGPL

Сайт

bochs.sourceforge.net

Bochs на Викискладе

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

Написана на C++ и работает на GNU/Linux, Windows 9x, Windows NT, *BSD, Android, iOS, PSP и др.

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

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

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

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

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

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

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

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

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

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


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

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

Существует вариант Bochs для Android версий 2.2 и выше; на котором существует техническая возможность запуска сложных ОС, например, Windows XP, с крайне низкой скоростью эмуляции.

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]