Bochs


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

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

Изначально 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 тактов физического процессора.