Minotauro
Introdução ao projeto
O Minotauro é um sistema operacional baseado na arquitetura RISC-V escrita na linguagem ferrugem. O objetivo é implementar um sistema operacional multi-núcleo compatível com Linux que suporta programação de processos, sistema de arquivos, rede e outras funções.
Construção do Meio Ambiente
- RUST: Nightly-2024-02-03
- Qemu: 7.0.0-9.0.0
- Chaina de ferramentas RISC-V: RISCV64-UKNOWN-Linux-Gnu
-
rustsbi-qemu.bin os arquivos de disco disk.img e os arquivos prebuilts carregador
Compilar e correr
- Preparação do meio ambiente:
make env - Compilar Binário do Estado de Usuário:
make user - Compilar Kernel State Binário:
make kernel - Tudo compilado:
make all - Execute o emulador:
cargo task run - Documentação de compilação:
typst compile docs/main.typ
Esquema de diretório
- kernel/src: código do kernel
- Arco: código relacionado à arquitetura
- Construído: integrar programas de usuário
- Debug: Módulo de depuração e log
- Driver: Driver do dispositivo
- FS: sistema de arquivos
- MM: Gerenciamento de memória
- rede: módulo de rede
- Processo: Gerenciamento de Processos
- Processador: Gerenciamento de vários núcleos
- Programação: Módulo de agendamento e relógio
- Sinal: módulo de processamento de sinal
- Sincronização: mecanismo de bloqueio e sincronização
- Syscall: Função de processamento de chamadas do sistema
- armadilha: interrupção e manuseio de exceção
- Main.RS: Programa Principal
- Usuário: Programa de Usuário
- Prébilts: arquivos pré -compilados
- Tarefas: compilar tarefas
- Doces: Documentação do Projeto