Previous Up

Next


Bochs

 

Opis

Bochs (wymawiamy jak angielskie słowo "box") to kompletny emulator komputera rodziny x86. Został napisany w przez Kevina Lawtona w 1994r. Od 2000 roku dostępny jest na licencji GNU LGPL, a od 2001 roku cały projekt przeniósł się z bochs.con na bochs.sourceforge.net.

 Program został napisany w języku C++, więc można go uruchamiać na wszystkich popularnych platformach takich jak: x86, Solaris (Sparc), GNU/Linux (PowerPC/Alpha), MacOS (PowerPC), IRIX (MIPS), BeOS (PowerPC), Digital UNIX (Alpha), i AIX (PowerPC). Jego działanie polega na emulowaniu poszczególnych instrukcji procesora, więc nie musimy się martwić na czym go uruchamiamy, zawsze mamy pewność identycznego działania[1] (to odróżnia go od innych programów wirtualizujących które muszą być uruchamiane na platformie x86).

 Można go skompilować jako procesor: 386, 486, Pentium, Pentium Pro lub AMD64 CPU, opcjonalnie z obsługą instrukcji  MMX, SSE, SSE2 i  3DNow. Dodatkowo zawiera sterowniki do wszystkich urządzeń peryferyjnych takich jak: klawiatura, mysz, karta graficzna, monitor, dysk czy karta sieciowa. Dzięki temu w Bochs można odpalić dowolny system operacyjny napisany na procesor rodziny x86 taki jak: Linux, DOS, Windows® 95 czy Windows® NT 4.

Wadą jest to, że taka dokładna emulacja pochłania dużo zasobów i uruchamiane programy działają bardzo wolno. Pomimo tego Bochs  nadal znajduje zastosowanie np.: umożliwia uruchomienie FreeDOSa na maszynie UltraSPARC. Dodatkową zaletą Bochsa jest możliwość modyfikacji przyjętego zbioru instrukcji. Ostatnia dostępną wersją jest 2.1.1.

Przeznaczenie

Jeśli potrzebuje uruchomić kilka aplikacji napisanych dla Windows na GNU/Linux lub na odwrót lub jeśli zależy Ci na jak najszybszej pracy danej aplikacji nie powinieneś zabierać się za ten emulator. Ale jeśli pracujesz na innej platformie niż x86, nie interesują Cię szybkie działanie aplikacji lub piszesz sterowniki dla konkretnego urządzenia to Bochs jest w sam raz dla Ciebie. Dzięki zrzutom stanu pamięci i łatwemu wyłączaniu poszczególnych instrukcji możesz szybciej testować swoje programy.

Źródła :

http://bochs.sourceforge.net

[1]  Bochs współpracuje z hostem w celu wykonywania operacji na wirtualnej maszynie. Może to powodować interakcje, które inaczej działają  w Windows'ie a inaczej w FreeBSD. Przez to nie do końca prawdziwe jest stwierdzenie, że działanie systemu operacyjnego nie zależy hosta, bo ten różnie rozwiązuje te same sprawy. I tak przesyłanie danych przy użyciu karty sieciowej może nie zadziałać na niektórych BeOS bo te inaczej obsługują kartę sieciową. 


Previous Up

Next