2008-02-14

Qemu - II

Para começar a festa, precisamos de uma imagem onde instalar o GuestOS. Ao criar esta imagem (vazia) determinamos o respectivo tamanho e formato.

O formato de imagem determina como irá ser criado o ficheiro. Se escolhermos o formato raw ficamos com um ficheiro que ocupa o espaço definido, se escolhermos um dos formatos comprimidos, qcow e qcow2 o ficheiro de imagem é comprimido e cresce à medida das necessidades (até ao limite definido, claro) e se optarmos por outros formatos podemos criar imagens compatíveis com outros emuladores, como o bochs ou o vmware.

No meu caso comecei por criar uma imagem de 2 GiB para instalar o Linux. A criação do ficheiro de imagem é feita com o comando qemu-img :
qemu-img create -f raw lenny.img 2G
Agora é preciso arrancar com a máquina virtual de modo a poder instalar o Linux. Para este efeito socorri-me de uma imagem "business-card" do Debian Lenny que actuou como CD de aranque e do ficheiro de imagem criado anteriormente, configurado como disco rígido. Decidi experimentar então a instalação do Lenny com 256 MB de RAM, pelo que a linha de comandos do Qemu fica (tudo numa linha, claro):
qemu -L ./pc-bios -m 256 -hda lenny.img -cdrom debian-testing-i386-businesscard.iso -boot d


A partir daqui segue-se o processo de instalação "normal" de um sistema Debian...

2008-02-13

Qemu - I

Devido a diversas contigências pessoais e profissionais, tenho que usar frequentemente um computador com o Windows XP, onde não me convém instalar uma cópia de Linux em dual-boot. Assim, recorri ao Qemu para testar a viabilidade de uma solução de emulação/virtualização. Esta série de artigos reflete a minha experiência com esta configuração.

O Qemu é um emulador e virtualizador que permite emular várias arquitecturas (ARM, PowerPC, Sparc, x86) e, deste modo, permite executar um Sistema Operativo como uma aplicação de um outro Sistema Operativo.

Este emulador é constituído por duas partes: o emulador propriamente dito (o Qemu) e um driver de kernel (o kqemu) também conhecido pelo nome de "Acelerador de Qemu". O KQemu não está disponível para Windows, de modo que neste sistema operativo a virtualização não está disponível, apenas a emulação (qualquer dia explico a diferença).

O Qemu pode correr em processadores x86, x86_64 e PowerPC, permitindo a emulação de sistemas operativos criados para x86, x86_64, PowerPC, ARM, Sparc, Mips e m68k.

Alguns conceitos relevantes são:

- HostOS - é o sistema operativo no qual corre o processo do qemu. No meu caso é o Windows.
- GuestOS - sistema operativo que vai correr "sob" o qemu. No meu caso é o Linux.
- Imagem - ficheiro que contém a instalação do GuestOS

O Qemu cria uma máquina virtual com algum hardware comum, nomeadamente uma placa de rede que pode ser a NE2000, a Realtek 8139 e uma PC-NET. A minha escolha recaiu na Realtek 8139 sem motivo aparente :)

Lançadas as bases, resta seguir o processo, que não é tão difícil como isso. A "receita" é:

- Criar uma imagem.
- Instalar o GuestOS nessa imagem.
- Iniciar o GuestOS.

Até ao próximo artigo :)

2008-02-01

Lista Top500 - 11/2007

Como qualquer geek que se preze, gosto de ir visitando o site www.top500.org que mantém dados sobre os maiores supercomputadores do mundo. Esta lista já existe desde 1993 e é actualizada de 6 em 6 meses. A edição mais recente data de Novembro de 2007.

Ora, aqui há dias resolvi passar por lá e fazer uma comparação rápida entre a lista actual e a lista de há 10 anos atrás. Alguns dados interessantes:

Evolução dos 5 maiores vendedores
Vendedor19972007Var %
SistemasProcs.SistemasProcs.SistemasProcs.
Cray1131798314116463-87,6%547%
SGI10451862274800-78,8%1342%
Sun852835310308-96,5%264%
IBM766849232963520205,2%13968%
HP321500166293726418,7%19482%
Total4103435343714588176,6%4146%


De notar que além destes 5 existem outros vendendores na lista dos 500 maiores. Nestes 10 anos de intervalo, apareceu um outro fabricante que é actualmente o terceiro maior, a Dell, com 24 sistemas. Dos 5 maiores de 1997, apenas a Sun se viu arredada deste grupo, substituída pela Dell. Em 1997, havia ainda mais 90 sistemas distribuídos por meia dúzia de fabricantes enquanto que em 2007 sobram 63 sistemas divididos entre 19 fabricantes.
Interessante é o facto de todos estes fabricantes terem aumentado enormemente o número de processadores incluidos nos seus sistemas.

As 5 famílias de processadores mais comuns
Processador19972007Var %
SistemasProcs.SistemasProcs.SistemasProcs.
MIPS1045186--------
Intel - EM64T
----320550682----
Sparc90459911664-98,9%-63,8%
Power76684961634894-19,7%9170%
Alpha741753218192-98,6%-53,0%
Cray4574322034-95,5%210%
Total389349093851458817-1,0%4079%

Para além da família Intel EM64T, entraram também na lista do Top5, os processadores AMD x86-64, os Intel IA64 e mesmo os Intel IA32. Em dez anos apenas a família Power se manteve no Top5... De facto, dez anos representam uma vida em termos de arquitectura de computadores. Tal como no caso dos vendedores, mesmo arquitecturas que são praticamente residuais em termos de número de sistemas, aumentaram largamente o número de processadores, como é o caso da Cray e mesmo da Alpha que apenas num sistema consegue ter quase metade do número de processadores que detinha em 1997.

Resta agora ver a situação do software:


Falta ver agora do lado do software

A evolução do sistema operativo
Sistema operativo
19972007Var %
SistemasProcs.SistemasProcs.SistemasProcs.
Unix
496
63904
30
73532
-94,0%
15%
BSD
4
12
2
5696
-50,0%
47366%
Linux
--
--
426
970790
--
--
Vários
--
--
34
580693
--
--
Windows----612112----
MacOS--
--25272----
Total500
6391650016480950,0%24785%

Destes resultados se conclui que o "ecosistema" dos supercomputadores mudou radicalmente, tanto em hardware, como em software, já que há dez anos atrás o Unix era o dominador inconstestado e agora ocupa o terceiro lugar, bem atrás do Linux (que tomou o lugar cimeiro) e de sistemas que correm vários sistemas operativos em simultâneo. Interessante é o aparecimento neste sector de sistemas operativos ligados tradicionalmente a ambientes "desktop".

Outro dado interessante é a evolução do número médio de processadores por sistema, que em dez anos subiu dos 127 para 3296 :)

2008-01-31

Imagens do Ghost

Problema:
- Como passar uma imagem criada pelo Norton Ghost (versão desconhecida) para um disco IDE de 2.5" (vulgo disco de portátil) tendo apenas uma interface USB/IDE para ligar o disco, e o Ghostpe.exe que só corre em DOS para restaurar a imagem....

O espinhoso desta questão é que o DOS não suporta dispositivos USB, e o Ghost não funciona em mais lado nenhum...

Resolução:
Como em tantas outras situações, o Linux salvou o dia, e permitiu esta habilidade. O método é rebuscado e com certeza haverá outras maneiras de conseguir este objectivo, mas dados os constrangimentos existentes, fiz o seguinte:
- criar uma partição FAT16 com o arranque do DOS, o ghostpe e a imagem a restaurar num disco IDE (PATA) de 3.5" (chamemos-lhe Disco A).
- ligar um outro disco de 3.5" ao mesmo sistema (Disco B).
- arrancar do Disco A e restaurar a imagem com o ghostpe para o Disco B.
- arrancar a partir de um LiveCD (usei o INSERT mas qualquer um serve).
- ligar o disco de 2.5" (através da interface USB) e verificar que o Linux tem acesso a todos os discos.
- usar o dd para copiar o Disco B para o disco de 2.5", via USB
dd if=/dev/hdb1 of=/dev/sda1
e esperar que o processo termine.

Se tudo tiver corrido bem, temos a imagem restaurada como queremos...

2008-01-29

Escrever caracteres Unicode com o vi

O vi é um dos mais populares e flexíveis editores de texto, disponível não só para Unix/Linux mas também para MacOS, Windows e outros sistemas operativos.

Para introduzir caracteres Unicode durante a edição do texto, basta fazer:

Ctrl+V u xxxx

onde xxxx é o código decimal do caractere a introduzir.

Como a combinação Ctrl-V é usada no Windows para "Colar" o conteúdo da área de transferência, temos que usar a combinação Ctrl-Q.