Interested Article - Bochs
- 2021-06-15
- 1
Bochs (произносится «бокс») — свободное ПО для эмуляции аппаратного обеспечения IBM PC . Включает в себя эмуляцию процессоров архитектуры x86 , устройств ввода-вывода и возможность использовать различные BIOS и видеоадаптеры. Может эмулировать 386 , 486 , Pentium , Pentium Pro , AMD64 и другие x86-совместимые процессоры. Поддерживает расширения MMX , SSE , SSE2 , 3DNow! , SSE3 , SSE4 , x86-64 , VMX , расширение системы команд AES .
Написана на языке программирования C++ и работает на GNU/Linux , Windows 9x , Windows NT , *BSD , Android , iOS , PSP и др.
История
Изначально Bochs разрабатывался как коммерческое (платное) ПО с опубликованным исходным кодом (с дополнительными условиями для использования в составе других продуктов). 22 марта 2000 года компания Mandrakesoft (ныне Mandriva ) купила Bochs у разработчика (Kevin Lawton) и опубликовала его под открытой лицензией GNU Lesser General Public License .
Некоторые разработки bochs используются в более поздних проектах, например, Xen использует BIOS, написанную для bochs.
Особенности
Отличается тщательной эмуляцией процессора, может быть запущен на любой аппаратной платформе, в том числе на SPARC , PowerPC , MIPS . Bochs интерпретирует каждую команду виртуального процессора.
При работе на Pentium 2 с частотой 400 МГц bochs достигает производительности порядка 1,5 млн операций в секунду , то есть на выполнение одной команды виртуального процессора уходит в среднем около 260 тактов физического процессора.
Часто применяется для отладки операционных систем и их компонентов. Имеет встроенные возможности по отладке.
Существовал вариант, использующий для ускорения операций с памятью. В связи с прекращением разработок, plex86 больше не обновлялся.
Эмулируемое оборудование
Класс | Устройство |
---|---|
Видеоадаптер | Cirrus Logic CL-GD5430 ISA |
Cirrus Logic PCI | |
3dfx Voodoo Graphics PCI | |
3dfx Voodoo2 PCI | |
3dfx Banshee AGP | |
3dfx Voodoo3 AGP | |
Звуковая карта | (ISA, без ), ES1370 (PCI) |
сетевая карта Ethernet | NE2000 ISA (если в PCI-слоте не прописать ne2k), иначе Realtek RTL8029 PCI , E1000 (PCI) |
Чипсет/южный мост | 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 , v3.0, базовый APM , PCIBIOS, маршрутизация прерываний PCI . ACPI , SMM , SMP . |
Интересные факты
С использованием bochs был произведен запуск Windows 98 на сотовом телефоне с ОС Windows Mobile и на смартфоне с ОС Android .
Существует вариант Bochs для Android версий 3.0 и выше; на котором существует техническая возможность запуска сложных ОС, например, Windows XP или Windows 7 , с крайне низкой скоростью эмуляции . Версия 2.5.1 была портирована в 2012, а 2.6.8 — в 2016 году. С августа 2016 платформа Android официально поддерживается проектом.
Примечания
- . Дата обращения: 14 декабря 2005. 28 февраля 2011 года.
- 30 мая 2014 года.
- Gael Duval. (23 марта 2000). Дата обращения: 21 сентября 2011. Архивировано из 5 августа 2012 года.
- . Дата обращения: 2 октября 2017. 14 февраля 2019 года.
- . Дата обращения: 2 октября 2017. 30 мая 2014 года.
- . Дата обращения: 2 октября 2017. 30 мая 2014 года.
- . Дата обращения: 20 июля 2012. 21 апреля 2011 года.
- . Дата обращения: 20 июля 2012. 6 августа 2012 года.
- . Bochs User Manual . Дата обращения: 21 сентября 2011. Архивировано из 5 августа 2012 года.
- . Дата обращения: 20 июля 2012. 17 июля 2012 года.
- от 20 августа 2012 на Wayback Machine «XDA developer mnomaanw has successfully installed Windows 95, Windows 98, Windows XP and Linux on HTC EVO 3D in a fairly easy process»
- . Дата обращения: 3 января 2016. 18 января 2016 года.
Литература
- Darek Mihocka, Stanislav Shwartsman.
Ссылки
- // LWN
- 2021-06-15
- 1