Skip to content


Trabalho prático – Implementação de um kernel

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):

Download do tutorial aqui

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:

  1. unzip imagem_disquete.zip #(somente uma vez, para descompactar)
  2. mkdir -p pasta
  3. sudo mount -o loop imagem_disquete.img pasta
  4. sudo cp seu_kernel_compilado pasta/kernel
  5. 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

Postado em Sistemas Operacionais.