Departamento de Ciência da Computação Universidade de Brasília Computação Básica - 2004.1 Roteiro de Laboratório #1 Usando o Computador Visível Professor Jorge Henrique Cabral Fernandes 0. Objetivo O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java. Prólogo Softwares Java são interpretados pela Máquina Virtual Java (JVM), que é construída pelo Sistema Operacional (máquina), a partir da interpretação do software chamado java.exe (escrito em C). O software chamado Loader.class é escrito em Java, e ao ser interpretado por uma JVM cria uma máquina Loader. Loader contém internamente uma máquina vco, que é um computador de von Neumann. Loader carrega na memória de vc0 programas escritos nas linguagens A0 e A1. Loader ainda comanda o vc0 para que interprete o programa carregado em memória. Ao interpretar um programa, o vc0 cria uma máquina, cujo funcionamento dependerá do programa carregado. Esta máquina interage com o usuário através de entrada e saída de dados A figura mostra um esquema geral de como um programa chamado echo.a0, escrito na linguagem A0 cria uma máquina chamada echo, que recebe uma entrada de dados do usuário e imprime como saída a mesma entrada. Para interpretar um programa em A0 ou A1 é necessário criar a máquina Loader, que por sua vez depende da existência da máquina JVM e do software Loader.class. Por fim, para usar a máquina JVM é preciso usar a máquina interpretador de
comandos do sistema operacional e o software java.exe. Os passos abaixo atestam a existência destes elementos. 1. Verificando a instalação do software Java.exe e o correto funcionamento da máquina JVM 1.1 - Faça o login na sua máquina, digitando o nome de usuário e senha adequados. Após o login o computador deve estar disponível para uso. 1.2 Criando um interpretador de comandos do sistema operacional - Use o sistema operacional para abrir uma janela de comandos que dá acesso aos comandos de linha do sistema operacional (no windows a seqüência de comandos é Iniciar -> Executar -> "CMD"). Neste momento o software cmd.exe é interpretado pelo sistema operacional, e uma janela de comandos é apresentada ao usuário. A máquina interpretadora de comandos (no windows criada pela interpretação do software cmd.exe) aceita e interpreta digitação de comandos do usuário e direciona o sistema operacional à execução de tarefas conforme os comandos digitados. A figura 2 ilustra a aparência típica de um interpretador de comandos (no windows), no qual a entrada de dados do usuário foi explorer. A Figura 3 mostra como o sistema operacional cria a máquina explorer, que também pode ser usada pelo usuário. 1.3 - Verifique a existência do software da JVM digitando o comando java e pressionando enter. Caso o software java.exe seja encontrado, sua interpretação cria uma máquina, a JVM, que apresenta uma saída de dados como abaixo. Caso contrário é necessário instalar a JVM no
computador. Solicite a ajuda do monitor para fazer esta instalação. A Figura 4 apresenta a saída de dados produzida pela JVM, quando usuário não informa nenhuma entrada de dados para a JVM. A saída de dados apresenta as várias opções de uso possível da JVM. Após a apresentação da saída de dados, a JVM é destruída e o interpretador de comandos volta a aceitar novos comandos do usuário. 2 Instalando o software Loader.class e verificando o correto funcionamento da máquina Loader 2.1 O software Loader, feito em Java, pode ser baixado a partir do endereço indicado (consulte o monitor). Copie o pacote de software no formato ZIP, descompacte todo o conteúdo no mesmo na sua área de trabalho, conforme instruções dos monitores (por exemplo c:\vc0-1). 2.2 direcione o interpretador de comandos do sistema operacional para a sua área de trabalho com o vc0, por exemplo, executando o comando cd C:\vc0-1 Consulte o monitor sobre o endereço correto de sua área de trabalho. 2.3 ajuste a variável de ambiente CLASSPATH, usada pela JVM para saber onde buscar os programas Java que serão interpretados, por exemplo, executando o comando set CLASSPATH="C:\vc0-1"; Siga as instruções dos monitores em caso de dúvida. 2.4 verifique se o software Loader consegue ser adequadamente interpretado pela JVM através da execução do comando java Loader. Verifique se uma saída como a abaixo foi produzida. Ela foi produzida pela máquina Loader, e indica quais as possíveis opções de uso do Loader.
A Figura abaixo ilustra a configuração de máquinas criadas durante a existência da máquina Loader.
3 Criando sua própria máquina com o Loader 3.1 abra um editor de texto e construa um arquivo, chamado, por exemplo, de echo.txt, que contém um programa em A0, que recebe uma entrada de dados do usuário e imprime como saída de dados o mesmo resultado. 3.2 Interprete seu programa usando o Loader, com o comando Java Loader e echo.txt. 3.3 - Digite uma entrada de dados no interpretador de comandos e verifique se a o mesmo dado é impresso na saída, conforme a figura abaixo. A execução do comando Java Loader e echo.txt cria a configuração de máquinas apresentada na Figura 1. 4 Programando em A0 e A1 4.1 - siga instruções sobre codificação e execução de outros programas nas linguagens A0 e A1.