Para este trabalho, deve-se realizar a implementação de um kernel capaz de controlar máquinas do padrão Intel de 32bits.
Para isso, deve-se seguir o tutorial de Brandon Friesen (osdever.org):
Recomendo que implementem no GNU/Linux e que efetuem os testes do kernel no VirtualBox.
Para utilizar o kernel no VirtualBox, deve-se utilizar uma imagem virtual de um disquete e instalar o GRUB no mesmo, pois ele que será o responsável por carregar o kernel.
Efetuem o download da imagem do diquete aqui.
Para utilizá-la com seu kernel, vocês devem efetuar os seguintes comandos:
- unzip imagem_disquete.zip #(somente uma vez, para descompactar)
- mkdir -p pasta
- sudo mount -o loop imagem_disquete.img pasta
- sudo cp seu_kernel_compilado pasta/kernel
- sudo umount pasta
Para executar e ver seu kernel funcionando, você precisa de instalar o VirtualBox ou o Qemu e depois:
- VirtualBox: Criar uma máquina virtual sem HD, adicionar uma unidade de disquete e selecionar o arquivo imagem_disquete.img
- Qemu: executar o comando: qemu -fda imagem_disquete.img
Dentro da imagem que estou disponibilizando está o kernel inicial implementado. Podem executá-lo que verão que ele não faz nada na tela, somente inicia o computador e entra em um loop infinito.
O trabalho deve ser enviado ao meu e-mail até o dia 30/04/2018. Deverá ser enviado:
- todo o código implementado e funcionando (se necessário, adicione instruções para que eu verifique o código).
- um relatório no formato ABNT, contendo:
- introdução ao trabalho;
- discussão sobre sua implementação;
- discussão dos tópicos que foram aprendidos;
- discussão das dificuldades do trabalho;
- relação entre o trabalho e a teoria estudada em aula;
- conclusão.
- após implementar o kernel, leia novamente o capítulo 1 do livro texto da disciplina.
abs