Oficina
Virtual PC como ambiente de teste
Dom 27 Dez 2009 16:06 |
- Detalhes
- Categoria: Sistemas Operacionais
- Atualização: Domingo, 17 Janeiro 2010 20:32
- Autor: José Ferreira Silva
- Acessos: 6848
Um dia desses, eu comecei a arrumar o meu quarto de estudo e como todo nerd, encontrei alguns livros que eu não tinha lido totalmente, um deles foi o Sistemas Operacionais do Andrew S. Tanenbaum. Um livro padrão para a cadeira de sistemas operacionais em diversas universidades. Pois bem, comecei a folhear o livro e pensei comigo mesmo, "vou brincar um pouquinho".
Acessei o google e digitei "desenvolvimento de sistemas operacionais", pois bem, achei um monte de coisa, mas, nada muito agradável e nem útil para uma brincadeira de fim de semana. Ai, eu me lembrei de um site que eu tinha acessado logo no meu início do aprendizado de C, quando eu tinha comprado o livro e estava empolgado com a idéia de fazer sistemas operacionais, era um site chamado “osicilis”, ou alguma coisa assim.
Algumas pesquisas depois eu achei o aldeia numaboa e o tutorial de sistemas operacionais que usava assembly para dar boot na máquina e carregar um kernel inicial. Ai eu disse, "vamos começar a brincar por aqui".
Fui seguindo o tutorial, lendo, brincando um pouco, mas, ei, espere, eu não tenho drive de disquete no meu notebook!!! Como eu vou testar esse troço?!! Todo nerd prevenindo tem uma sucata guardada no quarto e eu tenho várias.
Mas, eu tinha que tirar um pedaço de cada máquina para poder deixar uma funcionando e no final eu ia apenas imprimir uma frase na tela, tanto trabalho físico para pouco resultado efetivo.
Então eu pensei: "por que não usar uma máquina virtual para simular um pc e um drive de disquete?"
Como uso Windows, baixei o Virtual PC da Microsoft e tratei de configurar uma VM (máquina virtual) para x86 que seria o laboratório de testes para o meu SO.
O Virtual PC permite que você use um drive de disquete real na VM, mas, esse era meu problema. Porém, ele também permite que você use uma imagem de disco no lugar do disquete real, aí estava minha solução.
Agora eu só tinha que conseguir um programa que gerasse uma imagem de disquete com 1,40mb de tamanho (o Virtual PC só aceita imagens de disquete com dois tamanhos predefinidos), procurei alguns, mas, ou eram pagos, ou gravavam direto no disquete, ou não funcionavam, ou geravam a imagem somente de um disco real
Resolvi parar de procurar e tentar escrever meu próprio gerador de imagens , na minha cabeça, uma imagem de disco nada mais é do que um arquivo em formato binário, com os mesmos bits do conteúdo do disco.
Então o que o meu programa faz é abrir arquivos em formato binário e gravar em um arquivo também binário que pode ser usado para simular um disquete.
Resumindo, eu posso tanto gerar uma imagem para ser gravada no disquete (o que os outros programas já fazem) ou gerar uma imagem para usar na VM simulando um drive de disquete para os que têm o mesmo problema que eu.
Abri o Visual Studio e comecei a escrever um programinha de testes, o programa pega os arquivos binários gerados pelo NASM e grava todos eles juntos em um arquivo só, eu só precisava completar o arquivo com "zeros" para que ficasse do tamanho do disquete e pudesse ser usado no Virtual PC. Eu errei um pouco e os primeiros arquivos de imagem saíram com 544mb
Pois bem, deu certo e eu pude brincar um bocado sem ter de reiniciar o PC uma única vez, esse pequeno artigo mostra como montar o mesmo ambiente para quem quer praticar os tutoriais de sistemas operacionais.
Eu vou disponibilizar os códigos da aplicação, o próprio aplicativo compilado para quem quiser usar e as instruções para compilar os códigos de assembly em binários e testar com a máquina virtual rodando sobre o Virtual PC.
Lá vamos nós.
A partir daqui quem vos fala é a vovó pegando carona no texto do Zé.
O que você acabou de ler é o início do tutorial escrito por José Ferreira Silva para apresentar seu ZeImageWriter. Tem gosto de quero mais, não tem não? Devorei o texto e aprendi uma porção de coisas novas. O Zé não só mandou um pacote completo feito no maior capricho, como ainda autorizou que fosse publicado aqui na Aldeia, o que faz dele o nosso mais novo colaborador. Quero agradecer de público sua iniciativa de compartilhar seus conhecimentos com todos os visitantes do site.
Aqui você pode fazer o dowload do pacote que contém o tutorial HowToUseZeImageWriter.pdf e os códigos fonte e executáveis necessários para aompanhar o texto e fazer suas próprias experiências com um SO.
O blog do Zé está em HTTP://jfserv.blogspot.com. Não deixe de visitá-lo!
Obrigada, Zé! Fico te devendo um :chop: