Esta é a minha implementação dos laboratórios da classe de pós -graduação do sistema operacional do MIT 6.828. (O MIT oferece graciosamente o material do curso ao público).
O seguinte é citado no site.
O laboratório é dividido em 6 partes principais que se desenvolvem, culminando em um sistema operacional primitivo no qual você pode executar comandos simples através do seu próprio shell. Reservamo -nos a última palestra para você demonstrar seu sistema operacional para o restante da classe.
O sistema operacional que você construirá, chamado JOS, terá funções do tipo Unix (por exemplo, garfo, exec), mas é implementado em um estilo de exokernel (ou seja, as funções UNIX são implementadas principalmente como biblioteca em nível de usuário em vez de embutido para o kernel). As principais partes do sistema operacional JOS são:
- Inicialização
- Gerenciamento de memória
- Ambientes de usuário
- Multitarefa preventiva
- Sistema de arquivos, desova e shell
- Driver de rede
- Projeto aberto
Forneceremos código de esqueleto para peças de JOS, mas você terá que fazer todo o trabalho duro.
Consulte a página da Web do laboratório para obter a configuração completa.
Uma maneira simples de experimentar o projeto é usar uma imagem do Docker.
Docker Build -t Jos.
Pode ser usado com:
docker run -v $(pwd):/to_build -it jos
Isso abre um shell em um ambiente com o compilador certo e o Qemu.
make
make qemu-nox
TODO: Adicionar GDB e Qemu com X