Archive for março, 2007

Cobol

março 27, 2007

Open-cobol é um compilador open source da linguagem Cobol. Cobol é uma linguagem desenvolvida para negócios (COmmon Business Oriented Language). Inicialmente está linguagem foi desenvolvida, em uma reunião do pentágono, para resolver problemas do governo e das forças armadas americanas, porém atualmente esta linguagem está presente na grande maioria das instituições financeiras do mundo. O Cobol também foi o responsável pela “correria” que aconteceu por volta do fim do século passado que ficou caracterizado como o “bug do milênio”.

O compilador Open-cobol traduz o código cobol em C e depois o compila com o GCC. O Debian já tem o pacote compilado para a instalação em : http://packages.debian.org/unstable/devel/open-cobol, no entanto você pode baixar os fontes para instalação aqui: http://www.opencobol.org/modules/mydownloads/.

Para realizar a instalação via aptitute, no meu caso eu tive que mudar no source.list de etch, para unstable:

deb http://ftp.br.debian.org/debian/ unstable main

Feito isso, atualize o sistema é instale o compilador:

aptitude install open-cobol

Com o compilador instalado , podemos fazer um teste:

* Simples Olá Mundo em Cobol
* André O Moura 03/2007
IDENTIFICATION DIVISION.
PROGRAM-ID. ola.
PROCEDURE DIVISION.
DISPLAY “Olá Mundo!”.
STOP RUN.

compilar:

cobc ola.cob

E executar:

./ola

Observe que no cobol o espaçamento é válido, ou seja, ele controla onde o código deve estar escrito. Isso se dá pelo fato de sua origem, o cobol foi escrito para formulários de códificação perfurados, cartões perfurados. Nestes formulários as primeiras 6 posições são reservadas para números de sequência. A sétima posição é destinado a continuação ou para inserção de comentários, sendo que todo comentário no cobol começa com *, o programa mesmo só vem a aparecer na coluna 8.

Ainda volto a falar sobre isso!

Recompilando o Minix

março 22, 2007

Ando mexendo bastante no Minix, ele é um sistema muito gostoso de se mexer, e não é muito complicado. Nesse texto vou falar como recompilar o Kernel do sistema de forma bem simples no Minix 3.

Para que possamos recompilar o sistema Minix precisamos realizar algumas modificações, nesse texto vamos realizar uma modificação que ficará bem visível após a inicialização.

Primeiro passeie um pouco no diretório fonte do Minix (/usr/include e /usr/src), afim de se familiarizar, todo o código é de fácil compreensão e comentado.

Alterando o Arquivo

/usr/src/drivers/tty/console.c

Esse é o arquivo de driver para console IBM. Aqui iremos modificar a cor do texto no console para laranja, substituindo a linha:

#define BLANK_COLOR 0x0700

para

#define BLANK_COLOR 0x0600

Compilando o novo sistema

Modificações realizadas, para compilar o sistema é bem simples, entre no diretório:

cd /usr/src/tools

Execute o comando

make hdboot

No término você já tem um sistema pronto faltando somente executa-lo, para isso reinicia o Minix pelo kernel que você acabou de compilar, e veja suas mudanças em ação. Se tudo tiver certo, você estará vendo os textos no console em laranja.

Caso tenha ocorrido algum erro, inicie o sistema com a imagem padrão, no caso do Qemu digite:

d0p0s0>image=/boot/image/3.1.2a
d0p0s0>boot

Assim seu sistema irá inicializar normalmente para que você possa corrigir o erro.

10 anos do kernel.org

março 18, 2007

Exatos 10 anos atrás, para ser mais preciso 13 de Março de 1997, foi anunciado ao mundo que estaria disponível os arquivos do kernel no endereço ftp.kernel.org.

Veja o anúncio original:

http://kernel.org/970313.08.txt

Se quiser baixar a primeira versão do Kernel Linux:

http://br.kernelnewbies.org/download.html

Minix no Linux com Qemu

março 12, 2007

Esse é um pequeno guia de como se instalar um sistema minix emulado no GNU/Linux. O texto é baseado em um sistema Debian, é sua única exigência é ter o software de emulação, QEMU instalado:

aptitude install qemu

Ou viste o site do qemu (http://www.qemu.org/download.html), e baixe os fontes para compilar em sua distribuição. O processo de instalação dos fontes encontra-se no arquivo INSTALL que acompanha o software.

Qemu é um emulador de máquinas de código aberto. Tem uma excelente performance, principalmente em sistemas com pouca memória como o meu, por ser pequeno é rápido.
Com esta ferramenta nas mãos, vamos montar nosso ambiente. Primeiro vamos criar a imagem virtual do sistema para o qemu:

qemu-img create minix.img 1G

1G é o espaço que reservaremos para o HD virtual. Antes de inicializarmos o qemu, precisa-se redimensionar o espaço de memória compartilhada do sistema:


umount /dev/shm/

E depois “remonte”

mount -t tmpfs -o size=144m none /dev/shm
Agora já temos nosso ambiente de emulação criado, vamos a instalação do sistema minix.

Você pode obter seu sitema minix aqui:

http://www.minix3.org/download/

Como vou gravar meu sistema em um CD, baixei a imagem compactada para IDE CD:

http://www.minix3.org/download/IDE-3.1.2a.iso.bz2

Para se ter um sistema minix rodando sem problemas, ele exige muito pouco de um hardware, apenas 16 MB de memória, 1 GB de espaço livre em disco, sendo que para uma instalação mínima basta metade disto.
Com o download completado extraia a imagem do sistema:

bunzip2 IDE-3.1.2a.iso.bz2

Grave a imagem em uma mídia:

cdrecord -v -fs=16M speed=52 dev=/dev/cdrom -data IDE-3.1.2a.iso

Altere o comando cdrecord de acordo com seu hardware, ou grave a imagem em seu programa preferido.

Iniciando a instalação

Iniciando o sistema pelo CD usando o qemu:

qemu -boot d -cdrom /dev/cdrom -hda minix.img -localtime

-boot d : informa ao qemu que o boot deve ser feito pelo cdrom
-cdrom : informa o local do dispositivo em seu sistema
-hda : informa qual é a imagem que assumirá o papel de HD, no nosso caso minix.img
-localtime : sincroniza a hora

O login do sistema é root, após autenticar-se você cairá em um prompt(#). Para iniciar a instalação no emulador, digite:

setup

Será exibida uma mensagem, simplesmente pressione ENTER e selecione o tipo de teclado. Em seguida informe qual é o chip set da sua placa de Ethernet, neste caso selecione a opção 4, a não ser que o driver para sua placa esteja disponível na lista. A próxima pergunta do sistema e se você deseja uma instalação mínima ou completa, novamente pressione ENTER que por padrão o sistema realiza a instalação completa.

O particionamento do disco pode ser feito automaticamente pelo sistema, o minix criará 3 partições: raiz, home e usr. Ao final o sistema irá formatar as partições, nesse ponto pode demorar um pouco.

O processo de instalação finaliza após o o sistema copiar todos os pacotes para o HD, feito isso execute o comando:

shutdown

Feche a janela do qemu, e inicie seu sistema pela imagem criada:

qemu -boot c -hda minix.img -localtime

Se você estiver acostumado com o Linux, não sentira muita dificuldade em administrar o sistema. O minix tem muita documentação que pode ser consultada pelo comando man.

Pode ser que sua placa de rede não esteja funcionado, se esse for o caso, acesse o minix e execute o comando:

shutdwon

No término desse comando aparecerá um prompt com a informação:

d0p0s0 >

Digite então nele

qemu_pci=1
save
boot

Assim sua rede estará funcionando normalmente.

Veja mais em:

http://www.minix3.org
http://www.minix3.org/doc/A-312.html
http://www.minixtips.com