Este é o meu 5º período de cursos sobre o assunto dos "sistemas operacionais" do Departamento de Ciência da Computação e Tecnologias, Universidade Técnica do Estado de Bauman Moscou.
O principal objetivo é se familiarizar com o princípio da operação do kernel do sistema operacional em nível baixo. Como sequência, desenvolva bibliotecas C mínimas para tarefas de E/S (por exemplo, funções como PutChat, Printf, Gets, Scanf) e Gerenciamento de memória (Malloc, Grátis e assim por diante). Por fim, escreva um aplicativo demonstrando sua eficiência. O curso foi avaliado em Marcos 5/5.
Construção de projetos com a ferramenta Make. Makefile contém toda a lógica. Aqui estão as etapas principais:
Obtenha o arquivo de imagem (disk.img) da versão mais recente e, em seguida, escreva -o em um USB ou execute com o emulador x86. Para qemu, é o seguinte comando:
spam@eggs: ~ $ sudo qemu-system-i386 -hda disk.imgLinux . Atualmente desenvolvendo e testando no Ubuntu 18.04 LTS mínimo.
Primeiro, verifique se você tem todas as ferramentas listadas no bloco de dependências instaladas. Então faça o seguinte:
spam@eggs: ~ $ git clone https://github.com/nexterot/develop-os-free
spam@eggs: ~ $ cd develop-os-free
spam@eggs: ~ $ makeEm caso de erros, ou apenas para limpar o diretório:
spam@eggs: ~ $ make clean Além disso, o comando a seguir é um alias para make clean && make :
spam@eggs: ~ $ make rebuildPara testá -lo com o emulador Qemu, execute:
spam@eggs: ~ $ make run losetup: bin/disk.img: failed to set up loop device: Device or resource busy
Encontre dispositivos de loop ocupado:
spam@eggs: ~ $ losetup -aEm seguida, edite as próximas linhas no makefile, alterando '/dev/loop2' ou e '/dev/loop3' para qualquer dispositivo de loop gratuito:
loop_first = /dev/loop2
loop_second = /dev/loop3
Finalmente faça:
spam@eggs: ~ $ make rebuild
