BOCHS - O emulador de x86

Este artigo fala sobre umas das várias belezas que vivem no Sourceforge.net, o Bochs, um incrível emulador de PC que nos permite executar sistemas operacionais dentro de sistemas operacionais.

[ Hits: 52.628 ]

Por: Jarno Trulli em 19/11/2005


Apresentações



Muitos de vós que lêem este artigo já ouviram falar de emuladores de hardware, desde emuladores de Palmtops até de plataformas de vídeo games famosos.

Vou falar um pouco sobre um dos melhores emuladores livres (e para ser mais exato, "libertos") de PC Intel x86 existentes, o Bochs.

O Bochs, uma máquina virtual escrita em C++, é altamente portável, ou seja, o seu código-fonte é compilável em praticamente qualquer plataforma (ele roda sistemas operacionais de plataforma x86 no Windows, no MacOS X e em várias versões de Unix). Isto é ao mesmo tempo o ponto forte e o ponto fraco do Bochs em relação a outras máquinas virtuais: todo o equipamento virtual (a BIOS, os cartões VGA, emulação de som) é feito em software, o que valoriza a portabilidade, mas detém a velocidade.

O Bochs (se pronuncia Box) ganhou este nome por causa de uma brincadeira com outros softwares. Explicando: por exemplo, existe a DosBox, a LinuxBox e outros Box por aí... e eles resolveram dar o nome Bochs, porque simula um software dentro de uma caixa (será que "caisha" seria uma boa tradução?).

Em tempo, cabe aqui um agradecimento à Mandrake (atual Mandriva) por ter ajudado a liberar os fontes deste software. Mais uma vitória do Software Livre!

Neste artigo daremos um pequeno tour por este brinquedinho interessante.

    Próxima página

Páginas do artigo
   1. Apresentações
   2. Rodando o seu sistema operacional: obtendo as fontes
   3. Rodando o seu sistema operacional: obtendo a imagem
   4. Rodando o seu sistema operacional: arquivo de configuração .bochsrc
   5. Rodando o seu sistema operacional: shell script para rodar o Bochs
   6. Conclusões
Outros artigos deste autor

Mais sobre recursividade em C/C++

Rage Against Binary Blob - sobre documentação aberta para hardware

GNU Emacs (Intro)

Leitura recomendada

Bandwidthd + Postgre

Estudo sobre os tipos de gerenciamento do SO Linux

Montando um sistema Helpdesk com servidor Linux e Java em um ambiente corporativo ou na Internet

Usando o Linux como um studio de gravação (parte 1)

Taskwarrior, o Guerreiro das Tarefas - Gerenciar sua Lista TODO no Terminal

  
Comentários
[1] Comentário enviado por removido em 19/11/2005 - 22:52h

Ótimo artigo sobre uma ótima ferramenta.

Pra quem insiste em dizer que o Software Livre é fraco, aí está uma prova do contrário. É gratificante ver uma ferramenta como essa ser lançada.

Continue o bom trabalho. ;-)

[]'s

[2] Comentário enviado por croscato em 20/11/2005 - 09:54h

Olha compilei o Bochs com uma configuração diferente e percebi um ganho de velocidade. A configuração foi a seguinte:

./configure --enable-config-interface --enable-plugins --enable-x86-64 --enable-ne2000 --enable-pci --enable-pcidev --enable-usb --enable-guest2host-tlb --enable-repeat-speedups --enable-icache --enable-fast-function-calls --enable-global-pages --enable-host-specific-asms --enable-ignore-bad-msr --enable-port-e9-hack --enable-all-optimizations --enable-instrumentation --enable-raw-serial --enable-vbe --enable-mmx --enable-3dnow --enable-sse=2 --enable-cdrom --enable-sb16=linux --enable-gameport --enable-xpm

Espero que esse comando ajuda a todos.

Até mais.

[3] Comentário enviado por Jarnotrulli em 21/11/2005 - 19:07h

Valeu aê galera!
Levou um tempo para eu recuperar este artigo mas valeu a pena...
Nada como um Google Hacking: olhar os caches recentes que o Google mantém no site: só precisei copiar e colar (e talvez mudar as pontuações para algo mais útil...).
Valeu a dica, croscato! Tô pensando em fazer um package para o Slackware, e estava pensando em como compilar para ficar "um pouco" mais rápido.
Talvez isso ajude...

[4] Comentário enviado por efologan em 23/11/2005 - 16:19h

beleza... ótimo artigo... so que aqui deu pau... to com xfree86 com todas as libs e ele me retorna a mensagem:

ERROR: X windows gui was selected, but X windows libraries were not found.

oque pode ser e como eu soluciono isso, pois como disse, todas as libs do meu x estao ok.. (fedora 1.0)
Valeu pelo art... abraços

[5] Comentário enviado por efologan em 23/11/2005 - 16:30h

Só pra constar, o pacote rpm funcionou legal... mas eu gostaria mesmo de usar a versão tar.gz pra poder usar as opções mostradas pelo grande parceiro croscato... portanto o pedido de ajuda anterior continua valendo...

[6] Comentário enviado por Jarnotrulli em 28/04/2006 - 01:39h

Tente ver onde estao als libs do X e passe --with_x_libs=(ondeEsta)

[7] Comentário enviado por paulodangelo em 06/05/2007 - 13:10h

Quando dou o ./configure ele diz que falta o /lib/cpp/ alguém pode me ajudar?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts