SIMH: Recriando um pouco da história
É sempre interessante conhecer um pouco da história da informática. Com o advento do software livre, isso se tornou possível. Aqui veremos como usar o SIMH para emular um PDP/11 e rodar o UNIX v5, a clássica versão que deu origem a tudo.
Parte 3: Explorando o novo sistema
Execute o arquivo "pdp11":
$ ./pdp11
PDP-11 simulator V3.6-0
Disabling XQ
@
No prompt "@" digite "unix". Em alguns segundos você terá o prompt "login". (Os UNIX antigos não tinham mensagens de boot). Entre como "root".
@ unix
login: root
#
Logo no começo você pode sentir algumas estranhezas:
Vamos compilar um programa C simples:
# cat > hello.c
main()
{
printf ("Hello World! ");
}
^D (aperte CTRL-D)
# cc hello.c
# ./a.out
Hello World!
Agora, está tudo feito. Explore à vontade.
Para sair, aperte CTRL-E e digite "quit".
Nesse artigo vimos como emular um computador antigo e recriar uma parte da história da informática. É possível simular vários outros computadores, que serão assunto de outros tutoriais.
Preservar a história é importante para que tenhamos uma base do que já se fez e do que é preciso fazer nos sistemas operacionais.
E com o software livre, tudo isso é possível e será possível no futuro!
$ ./pdp11
PDP-11 simulator V3.6-0
Disabling XQ
@
No prompt "@" digite "unix". Em alguns segundos você terá o prompt "login". (Os UNIX antigos não tinham mensagens de boot). Entre como "root".
@ unix
login: root
#
Logo no começo você pode sentir algumas estranhezas:
- O shell padrão é o 'sh', nada que se compare ao 'bash', por exemplo.
- O comando "cd" não existe, use "chdir".
- Setas e backspace não funcionam.
- Esqueça qualquer tipo de editor visual (vi, Emacs, mcedit...).
- O editor padrão é o 'ed', uma das coisas mais complicadas que já existiram. O melhor mesmo é usar o 'cat'.
- Esqueça qualquer tipo de biblioteca como readline, ncurses, e outras.
- Não há nenhum suporte a redes.
- Compiladores: C => cc, Fortran => fc, BASIC => bas. Na época, ainda não existia C++. Muitas funções da linguagem C (como a fgets() ) ainda não tinham sido implementadas.
- O código-fonte está em /usr/source. Existe bastante coisa interessante para se ver lá. O código é bastante ineficiente, usando muitos "goto" e praticamente não há comentários. Muita coisa ainda é escrita em assembler.
Vamos compilar um programa C simples:
# cat > hello.c
main()
{
printf ("Hello World! ");
}
^D (aperte CTRL-D)
# cc hello.c
# ./a.out
Hello World!
Agora, está tudo feito. Explore à vontade.
Para sair, aperte CTRL-E e digite "quit".
Nesse artigo vimos como emular um computador antigo e recriar uma parte da história da informática. É possível simular vários outros computadores, que serão assunto de outros tutoriais.
Preservar a história é importante para que tenhamos uma base do que já se fez e do que é preciso fazer nos sistemas operacionais.
E com o software livre, tudo isso é possível e será possível no futuro!
Parabéns pelo artigo!
Abraços a todos,
Lennon Jesus.