Você está na página 1de 12

VXt: UM AMBIENTE DIDTICO PARA ENSINO DE CONCEITOS BSICOS DE SISTEMAS OPERACIONAIS E ARQUITETURA DE COMPUTADORES

Mauro Marcelo Mattos, Dr. mattos@furb.rct-sc.br Antnio Carlos Tavares,Esp tavares@furb.br Filipe Renaldi filipe@inf.furb.br Jorge Sampaio Farias jfarias@unime.br

Resumo
O presente artigo descreve a verso 3.0 do projeto VXt - um ambiente didtico de apoio ao ensino de disciplinas de Arquitetura de Computadores e Sistemas Operacionais. O projeto vem sendo desenvolvido na FURB - Universidade Regional de Blumenau e caracteriza-se por implementar em software a arquitetura do processador Intel 8086. O ambiente permite vrios tipos de anlises de acordo com a necessidade e disponibilidade do aluno, atravs da estratificao em vrios nveis de abstrao, desde os componentes de hardware, passando pelo sistema operacional at a viso de usurio final.

Abstract
This work describes the third VXt project - an auxiliary tool in teaching Computer Architecture and Operating Systems classes. This project is being developed at FURB - University of Blumenau. It is a software implementation of a 8086 Intel processor. The tool enables the student to get several levels of abstraction, since hardware components, passing by operating systems until the final user view of the architecture. The framework enables several kinds of analysis depending on the needs and availability of the students. PALAVRAS-CHAVE: Arquitetura de Computadores, Sistemas Operacionais, Software Bsico, Simuladores, Ambientes Didticos.

1. Introduo
A aprendizagem um processo no qual experincias fomentam modificao do comportamento e aquisio de hbitos. Segundo Wechsler (1993), Piaget ao estudar a gnese do desenvolvimento da inteligncia, demonstrou a importncia da maturao do sistema nervoso, da ao sobre os objetos e dos fatores sociais como variveis influenciantes na compreenso do processo intelectual. Em seus estudos, demonstrou como os processos de assimilao e acomodao de novos conhecimentos se incorporam estrutura do pensamento.

Segundo Grinkraut (1996), os mtodos de transmisso de conhecimento cada vez mais vem sofrendo grandes modificaes em virtude da evoluo dos recursos audiovisuais. A disponibilidade cada vez maior destes recursos faz com que os alunos acabem perdendo o interesse pelas maantes aulas e exerccios tradicionais, e por outro lado, tambm os professores sentem muita dificuldade em prender a ateno dos primeiros. Com o processo crescente no uso de tecnologias aplicadas educao, importante ressaltar no s a contribuio dos recursos computacionais existentes, mas tambm, a necessidade de estudar-se a forma ideal para sua aplicao. Dentro deste contexto, a tecnologia de ambientes de comunicao mediados por computador podem vir a permitir a criao de grupos de trabalho com interesses em comum, que venham a desenvolver atividades de formao acadmica, sncrona ou assincronamente s atividades tradicionais de ensino desenvolvidas atualmente.

2. Contextualizao
O conceito de qualidade vem evoluindo desde a muito tempo quando comeou a tornar-se um assunto de importncia. Hoje, mais do que nunca, busca-se cada vez mais a excelncia dos produtos e servios produzidos. Mas e na Universidade? Como so conduzidos os procedimentos de aprendizagem? No basta a aquisio e disponibilizao de computadores em laboratrios. Da mesma forma que a rea administrativa da Universidade possui um CPD (Centro de Processamento de Dados), que tem por objetivo agilizar o processamento de informaes (e em ltima instncia facilitar a gerncia do negcio), a rea de ensino deve passar a utilizar o recurso de informtica como uma ferramenta auxiliar no processo de aprendizagem. Segundo Grinkraut (1996), o ambiente de aprendizado deve estimular o raciocnio (levando o aluno a pensar, no apenas memorizar), permitir ao aluno autonomia, considerando que este possa explorar o ambiente livremente, traando um percurso conforme seu interesse e desenvolvimento do assunto. Atravs de ferramentas de multimdia, tem-se construdo aplicaes educacionais onde conceitos discutidos e apresentados em aula, podem ser detalhados e apresentados de forma grfica. O uso deste recurso, quando convenientemente explorado, permite a construo de elementos extremamente ricos com relao a uma comunicao eficaz entre o aluno e o professor. Aps apresentado em aula, um determinado tpico pode ser revisto pelos alunos tantas vezes quantas forem necessrias para a efetiva compreenso. Apoiado pelos recursos computacionais atualmente disponveis surge o conceito de educao distncia.

2.1. Educao distncia


A modalidade de aprendizagem de cada indivduo uma combinao de como percebe, organiza e processa a informao. Embora se possa chamar de vrias formas os diversos estilos de aprendizagem, pode-se, de uma maneira simples, separar as duas principais categorias de aprendizagem (GUILLON e MIRSHAWKA,1994): (i) a modalidade, definida como a forma de compreender a informao mais facilmente, e (ii) a dominncia cerebral, definida como a forma de organizar e processar a informao. Instruo, no contexto da escola, um processo oferecido por instrutores humanos e envolve o professor e o aprendiz. Segundo Cronbach apud Wu (1995), os melhores instrutores so aqueles que podem fornecer adaptao intuitiva baseada na experincia e nas impresses de cada estudante. Neste

sentido, a possibilidade para realizar experincias tericas ou especialmente prticas com as mos, de uma forma no constrangida pela presena de inspetores ou instrutores, ou a disponibilidade de recursos, incluindo tempo, tem proporcionado um interesse crescente por ferramentas de apoio ao ensino baseadas em tecnologias de ensino distncia. Apesar do seu grande potencial, e de estar sendo anunciado como novidade, o conceito de educao distncia antigo e sempre esteve associado a formao profissional. Oriundo do ensino por correspondncia, passou pelo rdio e mais recentemente est na televiso. Atualmente o recurso de educao distncia faz uso de toda a tecnologia disponvel: computadores, redes e multimdia, e extrapolando a idia original, j comea a ser utilizado dentro das universidades. Naturalmente, o emprego deste conceito em ambiente acadmico implica em novas estratgias com respeito a combinao racional de recursos, meios, formas de trabalho acadmico e formas de direo e organizao do processo. No entanto, o que se observa atualmente, que tanto os softwares disponveis no mercado, como os programas de educao distncia, em sua maioria, constituem-se em uma verso informatizada dos livros e antigos procedimentos didticos presenciais. Desta forma, no permitem o grau de interao que, por um lado os recursos disponibilizam, e por outro, seria conveniente para complementar os requisitos de aprendizagem. Apesar de um sistema multimdia possibilitar a ilustrao de idias atravs da combinao de meios visuais, auditivos e textuais, permitindo ao professor criar novos modos de comunicao, a simples utilizao dos recursos de multimdia no garantem um maior grau de absoro do contedo por parte do aluno. Um outro fator muito importante a ser considerado neste contexto que, apesar dos recursos disponveis ainda no estarem sendo utilizados adequadamente sob o aspecto didtico-pedaggico, a tecnologia j est disponibilizando um outro recurso ainda mais avanado o conceito de virtual: as comunidades virtuais e os ambientes de realidade virtual, e dentro deste contexto, as classes virtuais. Portanto, o projeto de um sistema de aprendizagem que permita a formalizao do ensino de tal forma a possibilitar uma fcil manipulao de seus passos e procedimentos definidos, enquanto preserve a capacidade de manipulao, sem a criao de dependncias errneas um dos objetivos principais do projeto VXt.

2.2. O conceito de virtual


O conceito de aprendizado virtual ocorre atravs da aplicao de pedagogias de aprendizado a distncia e presencial, suportado pelas mesmas tecnologias de informaes e telecomunicaes que possibilitam outras operaes consideradas virtuais tais como: laboratrios virtuais e escritrios virtuais. J consenso no meio acadmico que, uma comunidade de aprendizado virtual constituda pelo que poderia ser considerado nos moldes tradicionais como estudantes, professores, especialistas, gerentes, executivos, auditores, consultores e, qualquer outra categoria de pessoas interessadas em ensino. Enquanto o aprendizado tradicional apresentado para habilidades especficas do indivduo, a maioria das competncias virtuais necessitam ser desenvolvidas em equipes, atravs de uma rede. Cada um torna-se um professor, e cada um torna-se um aprendiz. Todos compartilham conhecimento e aprendizado atravs do trabalho cooperativo e com a infra-estrutura comum a rede.

Cabe salientar ainda que os membros de uma comunidade virtual ainda retm suas identidades e papis reais em suas organizaes reais. O sistema de aprendizado deve no somente lig-los com suas equipes virtuais, mas lig-los de volta para usas especializaes envolvendo suas organizaes e papis reais. A escola, como um espao privilegiado para a apropriao e construo de conhecimento, tem como papel fundamental instrumentalizar seus estudantes e professores para pensar de forma criativa solues tanto para os antigos, como para os novos problemas emergentes desta sociedade em constante renovao. Todos tem os mesmos instrumentos para chegar ao conhecimento, mas no os utilizam com a mesma intensidade. Normalmente, os processos educacionais baseiam-se, quase que exclusivamente, no desenvolvimento da inteligncia lingstica e da lgico-matemtica, deixando de lado as outras formas de acesso ao conhecimento. justamente pela abordagem abstrata no ensino de algumas disciplinas-chave no curso de Computao que justifica-se a pesquisa e o desenvolvimento de ferramentas e/ou aplicaes tecnolgicas para auxiliar no processo de aprendizado. Os aspectos cognitivos relacionados a captao de contedos comprovam a eficcia de processos que relacionam a ferramenta computador em benefcio da produtividade intelectual.

2.2.1. O projeto VXt


O currculo do curso de Cincias da Computao da Universidade Regional de Blumenau estabelece como obrigatrias as disciplinas de Arquitetura de Computadores (2o Semestre) e Sistemas Operacionais (4o semestre). O estudo de Sistemas Operacionais pressupe o conhecimento de conceitos bsicos de Arquitetura de Computadores. Analisando-se o resultado dos trabalhos realizados na disciplina de Sistemas Operacionais, observou-se que havia uma deficincia no entendimento de como realmente as aes eram executadas por um processador, e quais as implicaes disto em termos de arquitetura de um sistema operacional. A ausncia de uma ferramenta didtica que permitisse exemplificar os conceitos de modo mais claro, estimulou o desenvolvimento do VXt. O projeto VXt pode ser caracterizado como a implementao em software do processador Intel 8086. Alguns dos aspectos mais importantes do projeto sero discutidos neste texto. No entanto, uma especificao mais detalhada pode ser obtida em Mattos e Tavares (1997), Mattos e Tavares (1999a) e Mattos e Tavares (1999b). Alm disso, analisando-se o perfil dos alunos, verificou-se que em sua maioria, so oriundos do 2o grau, e, portanto, possuem conhecimentos abstratos sobre reas cientficas (matemtica, fsica, biologia, etc.). Porm, quando se deparam com os conceitos apresentados nas disciplinas em questo, geralmente encontram dificuldades em abstrair detalhes de implementao e concentrar-se nos conceitos propriamente ditos. Um outro aspecto importante a destacar refere-se ao fato de que os alunos dedicamse em tempo parcial ao curso, ou seja, mesclam atividades profissionais com atividades acadmicas. A ausncia de uma ferramenta didtica que permita exemplificar mais detalhadamente alguns conceitos importantes no ensino das disciplinas anteriormente citadas, conduziu a especificao do VXt. Em funo disto, iniciou-se um projeto em sala de aula, com o intuito de construir-se uma ferramenta que permitisse suprir as dificuldades acima citadas atravs do emprego, na medida do possvel, dos conceitos

anteriormente abordados. Esta ferramenta deveria implementar um processador, a partir do qual fosse possvel demonstrarem-se conceitos bsicos das duas disciplinas em questo. Para a escolha do processador foram considerados os seguintes aspectos: a) Processador a ser implementado deveria ser de conhecimento dos alunos, tendo em vista evitar um esforo a mais para conhecer um novo conjunto de instrues; b) Processador alvo, deveria possuir todo um aparato de ferramentas de desenvolvimento tais como, compiladores, montadores, depuradores e ambientes de desenvolvimento adequados, para evitar o esforo desnecessrio na construo de tais ferramentas; c) Processador alvo deveria executar um sistema operacional que fosse de conhecimento do pblicoalvo, tendo em vista evitar o esforo desnecessrio (em funo dos objetivos do trabalho) no aprendizado da utilizao do mesmo; d) Deveria haver disponibilidade de literatura tendo em vista permitir a implementao do conjunto de instrues do processador. A partir destes requisitos, selecionou-se o processador Intel 8086, tendo em vista que: a) Ele atendia ao requisito (a) acima descrito na medida em que os alunos da disciplina de Arquitetura de Computadores geralmente desenvolvem pequenas aplicaes utilizando a linguagem assembly deste processador; b) Ele atendia ao requisito (b), na medida em que h toda uma estrutura que suporta o desenvolvimento de aplicaes para a plataforma Intel; c) Ele atendia ao requisito (c), na medida em que o sistema operacional MS-DOS, j de conhecimento dos alunos, no necessitando um esforo de treinamento adicional para esta plataforma; d) A biblioteca da Universidade dispunha (e dispe) de literatura suficiente para permitir aos alunos o desenvolvimento da referida aplicao.

3. A metodologia de desenvolvimento
Adotou-se uma metodologia de aprendizado ativa, atravs de sucessivos refinamentos, na qual os conceitos bsicos seriam implementados gradualmente, e a medida em que o projeto avanasse, maiores nveis de abstrao seriam obtidos, sem a perda do que j foi assimilado. Um requisito importante foi o de que a cada semestre, os novos alunos incorporados ao projeto teriam acesso a toda documentao (especificao + cdigo-fonte da aplicao) disponvel de tal forma a revisar o que j havia sido construdo e continuar o desenvolvimento do projeto. Paralelamente ao desenvolvimento do plano de ensino das respectivas disciplinas, os alunos foram sendo engajados ao projeto de implementao, de tal forma a desencadear um processo de reflexo e tomada de conscincia de seu prprio processo de aprendizagem. A partir da liberao da primeira verso em fins de 1997/1, deu-se o incio ao ciclo de testes (e correes) e incorporaes de novos mdulos tanto de software como de "hardware" (virtual). A ferramenta passou a ser usada pelas turmas de 2o semestre, atuando como auxiliar ao aprendizado dos conceitos de aritmtica binria, componentes de hardware e linguagem assembly. Erros encontrados durante o uso eram reportados para as turmas responsveis pela implementao para correo. Durante os 3 primeiros semestres, o processo no apresentou um rendimento muito rpido tendo em vista que as turmas ainda no estavam ambientadas com os conceitos e a filosofia de desenvolvimento

do projeto. A partir do momento em que as turmas de 2o semestre (que j haviam tido contato com a ferramenta) comearam a chegar ao 4o semestre, o processo de desenvolvimento passou a ser mais rpido. Cabe salientar que, toda a comunicao entre equipes e com os professores coordenadores ocorria (e ocorre) atravs de e-mail e, somente dvidas e orientaes gerais so discutidas em aulas especiais.

3.1.1. O desenvolvimento da primeira verso


Uma vez que o principal objetivo na etapa inicial do projeto era a obteno de uma primeira verso do processador, estabeleceu-se que a linguagem alvo para a implementao da aplicao poderia ser escolhida pelas equipes. A especificao do trabalho foi conduzida buscando o referencial terico existente na literatura referente a arquitetura do microcomputador PC XT, tais como proposto por Rector e Alexy(1980), Biggerstaff (1986), Willen e Krantz (1987), Choisser (1989), Eggebrecht (1995). Algumas equipes desenvolveram a aplicao utilizando a linguagem Pascal e o ambiente de desenvolvimento Turbo Pascal da Borland. Outras equipes desenvolveram a aplicao utilizando o ambiente de desenvolvimento Delphi (tambm da Borland). Aps uma avaliao das verses finais entregues pelas equipes, optou-se pela continuidade do projeto a partir da implementao em Pascal, tendo em vista que nem todos os alunos do semestre regular em que ocorre a disciplina de Sistemas Operacionais tem conhecimento de Delphi, mas, todos tem conhecimento de Pascal. A primeira verso possibilitava somente a carga e execuo de cdigo binrio (gerado a partir de um programa auxiliar) nativo em qualquer posio do espao de endereamento de 64Kb. Entretanto o cdigo necessita ser montado a mo, uma vez que no havia sido implementado um carregador de arquivos executveis. Uma vez carregado, era possvel a execuo passo-a-passo de cada instruo, a visualizao do contedo dos registradores, da pilha de execuo e da rea de dados. Na verdade, esta primeira verso, apresentava uma interface muito semelhante quela do programa Turbo Debugger da Borland. Como resultado da implementao da 1a verso do VXt, pode-se constatar vrios aspectos relacionados a questo de aprendizado, quais foram: metodologia de desenvolvimento : os alunos do semestre regular ainda no haviam tido contato com as tcnicas de desenvolvimento de aplicaes (leia-se metodologias de desenvolvimento de sistemas). Portanto, durante o perodo de desenvolvimento da aplicao, houve necessidade de reorganizao dos projetos tendo em vista os j conhecidos problemas amplamente discutidos pela rea de Engenharia de Software, quais sejam: documentao, modularizao, etc. Deve-se salientar que as aplicaes produziram cdigo fonte (entre 3000 e 6000 linhas) cujo tamanho e complexidade j atingiram um patamar que pode ser classificado como no trivial em termos de desenvolvimento e depurao (considerando-se o perfil das equipes envolvidas). Portanto, apesar de no possurem muita experincia em desenvolvimento, os alunos j tiveram contato com os problemas que sero desenvolvidos em semestres posteriores, nas disciplinas da rea de Eng. de Software. Esta experincia anterior contribuiu para uma melhor assimilao dos conceitos a serem desenvolvidos nesta disciplina. a ausncia de uma ferramenta de controle de verses e de desenvolvimento em equipes, tambm

gerou problemas durante o desenvolvimento da aplicao, fazendo com que os alunos verificassem na prtica os problemas associados ao desenvolvimento de aplicaes em workgroup; durante o desenvolvimento da aplicao foram fixados na prtica os conceitos bsicos de aritmtica binria (e hexadecimal), na medida em que todas as operaes realizadas pelo processador so efetivamente binrias; tambm foram utilizados recursos de Pascal que, poderiam ser considerados como avanados para os alunos do semestre regular, na medida em que houve a necessidade de utilizao de cdigo assembly in-line, o uso de definies absolute e a utilizao de units (conduzindo a modularizao do sistema) ; ficou evidente por parte dos alunos a necessidade de documentao do projeto e uso de padres de escrita de cdigo fonte (endentao, nomes de variveis, uso de variveis locais/globais, ...) , uma vez que o nmero de componentes das equipes era relativamente grande (5 integrantes) e haviam problemas quando os mdulos desenvolvidos por cada integrante tinham que ser agrupados para gerar a verso final.

3.1.2. O desenvolvimento das verses posteriores


Posteriormente a liberao da primeira verso, o projeto foi dividido em frentes de trabalho, as quais foram alocadas nas turmas de acordo com o grau de dificuldade e de condies de aprendizado exigidas. As turmas de 2o semestre (Arquitetura de Computadores) passaram a utilizar o VXt como ferramenta auxiliar ao estudo dos conceitos bsicos da mesma. J nas disciplinas de Sistemas Operacionais adotouse a estratgia de depurao e desenvolvimento gradual de novos mdulos. Assim, a cada incio de semestre letivo, as turmas recebem a verso desenvolvida no semestre anterior, e como atividade de ambientao, so incumbidas de executar aplicaes com a finalidade de depurao do cdigo implementado. Como atividade de contribuio, na fase final do semestre, as turmas so engajadas no desenvolvimento de novos mdulos tendo em vista agregar novas funcionalidades a verso em uso. Esta atividade alm de fixar os conceitos anteriormente desenvolvidos (arquitetura, aritmtica binria, etc.) tambm introduz um novo nvel de dificuldade na medida em que os alunos devero aprender a realizar atividades de manuteno em cdigo escrito por outras pessoas. Novamente a questo da Engenharia de Software volta a tona.

3.1.3. O processo de reengenharia


No obstante o carter de aprendizagem de como os componentes internos de um processador funcionam estarem sendo implementados, havia um aspecto frustrante: o VXt no podia executar completamente programas compilados com compiladores tradicionais tendo em vista que, no havia um sistema operacional instalado na mquina virtual. Assim, toda chamada de sistema (que no DOS ocorre atravs da instruo INT 21h) fazia com que o programa do aluno encerrasse sua execuo de forma anormal. No segundo semestre de 2003, iniciou-se um processo de reengenharia no projeto, de tal forma a substituir o cdigo que implementava as instrues por um equivalente desenvolvido no projeto X86 (Sourceforge,2003). Dessa forma, foi possvel conjugar os esforos no sentido de obter-se um simulador fiel, e de desenvolver-se uma ferramenta didtica. Alm disso, o projeto foi totalmente remodelado,

sendo atualmente estruturado conforme o diagrama de classes apresentado na figura 1.Assim sendo, o VXt passou a apresentar uma nova arquitetura, a qual ser descrita na prxima seo.

4. VXt verso 2004


A verso atual do VXt apresenta algumas caractersticas importantes em relao s verses anteriores, quais sejam: a) modelo cliente-servidor; b) isolamento entre a interface com o usurio e a implementao do processador; c) possibilidade de execuo de vrios exemplos em paralelo atravs do congelamento de contextos; d) possibilidade de armazenar e resgatar o contexto de execuo de um programa em outro momento; e) possibilidade de salvar o log de execuo do programa em arquivo para posterior anlise. A arquitetura baseada no modelo cliente-servidor permitiu que seja possvel ao professor disparar o servidor (que implementa o processador), e sua instncia da interface com o usurio. Permite tambm aos alunos dispararem suas instncias de interface com o usurio para assistirem a execuo passo a passo conduzida pelo professor. Esta arquitetura permite tambm, que, em determinado momento, trabalhos prticos sejam conduzidos dentro de pequenos grupos, onde o lder do grupo dispara o mdulo servidor, e seus colegas conectam-se a ele atravs do endereo IP do servidor. Este processo possibilita as seguintes variaes: a) o professor conduz a aula e os alunos acompanham a execuo; b) o professor dispara um trabalho em grupo e pode conectar-se na estao do lder para acompanhar o andamento do trabalho; c) cada aluno individualmente pode executar sua prpria cpia do servidor e da interface cliente em uma mquina local podendo executar exerccios individuais. Como resultado do processo de reengenharia, foi possvel dispararem-se novas frentes de desenvolvimento em paralelo graas a instalao de um servidor CVS. O CVS um sistema de controle de verses concorrente que possibilita o trabalho paralelo de vrias equipes. Assim, duas novas frentes esto sendo desenvolvidas neste momento, quais sejam: a) Desenvolvimento de um ncleo de sistema operacional didtico, o qual apresenta as seguintes caractersticas: 1. Implementar um ncleo de sistema operacional sobre o hardware virtual; i. Implementar o conceito de thread e processo; ii. Implementar o conceito de primitivas de sincronizao; iii. Implementar o conceito de primitivas de intercomunicao entre processos; 2. Sincronizar o cdigo fonte em assembly com a instruo sendo executada pelo hardware; 3. Permitir a inspeo do estado do ncleo ; 4. Permitir a inspeo do estado de um processo em particular. b) Desenvolvimento de dispositivos de hardware e de uma BIOS (Basic Input-Output System) para o sistema.

5. Caractersticas do VXt
O vxt em sua verso atual apresenta as seguintes caractersticas: A atual verso do VXt apresenta uma interface de baixo nvel tendo em vista que, um dos objetivos da proposta VXt o de permitir ao aluno manipular cdigo executvel gerado pelos compiladores

da mquina real, a implementao do hardware est buscando, na medida do possvel ( e limitado em determinadas situaes a qualidade e disponibilidade de informaes tcnicas precisas) , aproximarse com mxima fidelidade implementao do hardware real. Em funo disto, sua aplicabilidade torna-se eminentemente didtica, na medida em que possvel utiliz-lo para o ensino de conceitos bsicos de linguagem de programao assembly, conceitos de hardware e alguns conceitos bsicos de sistemas operacionais. Possui uma interface com o usurio (figura 2) bastante amigvel; Apresenta informaes sobre o passo de relocao de arquivos .EXE tanto ao nvel de header quanto ao nvel de tabela de relocao; Permite a manipulao de arquivos binrios puros, o que possibilita a construo de estruturas muito simples para teste de algum conceito/instruo sem a necessidade de elaborao de um programa completo; Permite a alterao da base numrica para representao das informaes na tela, sendo possvel optar-se por: decimal, hexadecimal e binrio; Apresenta um log da seqncia de execuo realizada, de tal forma que o aluno pode analisar o fluxo de execuo de um determinado programa ou rotina, mesmo aps o trmino da execuo; A medida em que instrues do tipo INT so detectadas, as mesmas so filtradas e apresentadas em uma janela especfica (figura 3), sendo possvel ao aluno analisar efetivamente o que ocorre. So apresentados: a descrio da funo, os parmetros de entrada e o valor de retorno da mesma. Permite a anlise por parte do aluno, do opcode da instruo sendo executada (figura 2); Apresenta dicas explicativas (hints) sobre os conceitos tericos que sustentam todo o funcionamento da CPU bem como das instrues de mquina; Identifica quais so os registradores de referncia; clicando-se na rea de cdigo destacam-se os registradores CS:IP, clicando-se na janela de rea de pilha, destacam-se os registradores SS:SP, e assim por diante, induzindo desta forma o aluno ao entendimento da funo dos registradores de segmento e deslocamento; A facilidade de help on-line (atualmente em construo), alm das informaes tradicionais de uso da ferramenta, deve incorporar um curso de assembly, de tal forma a fundamentar conceitualmente e atravs de exemplos o funcionamento detalhado dos diversos elementos eu compe o VXt.

6. Consideraes finais
Como citado anteriormente, alm da experincia em programao e desenvolvimento de um software aplicativo de mdia complexidade, o VXt como ferramenta didtica apresenta as seguintes vantagens em relao a adoo de outras ferramentas comerciais disponveis no mercado: Possui um carter eminentemente didtico, na medida em que procura apresentar informaes que em outros ambientes sequer so consideradas; Permite a utilizao de pequenos programas de teste que no necessitam ser compilados formalmente, ou seja, possvel montar literalmente "na mo" as instrues e test-las no VXt, sem passar por um passo formal de compilao, o que facilita sua aplicao em disciplinas introdutrias de cursos de computao; Permite a anlise das seqncias de chamadas de interrupes por software, permitindo uma anlise do funcionamento tanto do mecanismo de interrupes, quanto da aplicabilidade do mesmo em sistemas operacionais;

Possibilita ao aluno revisar os conceitos desenvolvidos em aula na velocidade adequada as caractersticas individuais de cada um; Permite uma anlise macroscpica atravs da execuo automatizada das instrues bem como uma anlise microscpica atravs da facilidade de execuo passo-a-passo, disponibilizando ao aluno dicas didticas sobre o contexto em estudo. Permite, atravs da anlise do cdigo-fonte, o entendimento de como os conceitos abstratos podem ser implementados em software e, atravs deste entendimento, levar o aluno a construir analogias com o hardware real a partir da experincia obtida.

7. Concluses
Os resultados obtidos atravs da avaliao da aplicao da ferramenta em sala-de-aula atingiu aos objetivos inicialmente propostos e permitiu o lanamento de um projeto multidisciplinar, que objetiva integrar disciplinas de Computao Grfica, Orientao por Objetos, Engenharia de Software, Estrutura de Dados, Organizao de Arquivos, de modo a permitir a criao de um laboratrio onde cada disciplina venha a desenvolver seus contedos e utilizar o VXt como exemplo prtico. Desse modo, torna-se mais fcil o entendimento dos conceitos porque os alunos aos poucos vo desenvolvendo uma base de referncia que os permite construir analogias com situaes experimentadas na prtica. Embora apresentando resultados que talvez possam parecer incipientes numa primeira anlise, pretendese que o VXt possa vir a executar todo o processo de carga (boot) do Sistema Operacional MS-DOS, permitindo aos alunos monitorarem todo um ciclo de vida de uma instncia de sistema operacional executando sobre este hardware virtual. Constantes avaliaes do projeto por parte dos alunos envolvidos tem apresentado resultados que estimulam a continuidade do projeto. Os alunos responsveis por uma verso, no semestre seguinte envolvem-se ou na implementao de novos componentes, ou com o uso da ferramenta. Esta continuidade nos trabalhos permitiu que se obtivesse um maior grau na qualidade do material produzido, uma vez que de conhecimento pblico que o mesmo ser reutilizado (seno por quem produziu, mas por outros que os seguiro). Isto contribui para desenvolver no aluno um senso maior de responsabilidade e um esprito empreendedor - o que vem ao encontro dos objetivos da Universidade no somente desenvolver os contedos tericos mas contribuir para a formao do indivduo. Cabe salientar que o cdigo desta aplicao est disponvel para download a partir do endereo http://www.inf.furb.rct-sc.br/~mattos. Qualquer dvida, crtica e/ou sugesto ser bem-vinda.

8. Bibliografia
BIGGERSTAFF, Ted J. Systems Software Tools. Prentice-Hall, Austin, 1986. CHOISSER,Foster. The XT-AT handbook. Annabooks, San Diego, 2 ed. 1989. EGGEBRECHT, Lewis C. Interfacing to the IBM Personal Computer. Sams, Indiana, 9 ed. 1995. GUILLON, A.B.B., MIRSHAWKA,V. Reeducao. Qualidade, produtividade e criatividade: caminho para a escola excelente do sculo XXI. Makron Books do Brasil. So Paulo, 1994. GRINKRAUT,M.L., Computador: uma ferramenta a mais a disposio do professor. Informativo Sociedade de Psicologia de So Paulo, So Paulo: Ano 1, Vol 1,n.1, setembro/1996. MATTOS, Mauro M. e TAVARES, Antonio C. VXT 1.0: Uma ferramenta didtica para apoio ao ensino de software e hardware. Anais XIV SEMINCO, Blumenau,1997.

MATTOS,Mauro .M., TAVARES, Antnio C. VXt: Experincia de desenvolvimento cooperativo de um ambiente didtico. VII CIESC - Congreso Iberoamericano de Educacion Superior en Computacion 30 aug/3 set 1999. Asuncin Paraguay. MATTOS, M.M., TAVARES, A.C. Desenvolvimento Cooperativo de um Ambiente de Apoio ao Ensino de Conceitos Bsicos de Hardware e Software VII WEI99-SBC99- Workshop de Ensino em Informtica19-21Jul 1999. Rio de Janeiro RJ. RECTOR, Russel; ALEXY, G. The 8086 Book. Osborne/McGraw-Hill, Berkeley, 1980 SOURCEFORGE. www.sourceforge.net. 2003.

WECHSLER, S. M. Criatividade: descobrindo e encorajando. Ed. Psy,Campinas, 1993.


WILLEN, David C.; KRANTZ, Jeffrey I. 8088 Assembler language programming: the IBM PC. Sams, Indianapolis, 2 ed. 1987. WU,Binghui H. A framework for intelligent tutoring systems. In The 7th World Conference on Artificial Intelligent in Education (AI-ED 95), page 599. AACE and GMU, Aug. 1995.

Figura 1 Estrutura das classes do VXt.

Destaque de opcode,mod,reg/rm Representao em diferentes bases Vrios contextos de execuo Modelo Cliente-Servidor Visualizao de rea de dados,cdigo e pilha Filtragem de interrupes Prottipo de dispositivo CGA

Figura 2 Modelo de interface do projeto VXt

Você também pode gostar