Código simples, independente e limpo, sistema operacional de 64 bits bem documentado e hobby para processadores Intel e AMD. Ele está escrito na Assembly (Sintaxe Intel) e C (padrão GNU99), no qual eu luto por adicionar comentários ao código -fonte o máximo possível, para que possa ser usado como referência para futuros desenvolvedores do sistema operacional.
Ele contém os seguintes componentes escritos do zero:
| Componente | Descrição | Código -fonte |
|---|---|---|
| Mbr | Fluxo de inicialização do primeiro estágio | código |
| Carregador | Segundo estágio de bootloader | código |
| Componente | Descrição | Código -fonte |
|---|---|---|
| Pml4 | Estrutura de paginação | código |
| Companheiro | Sistema de alocador de memória | código |
| Printk | utilitário de análise de formato de string do tipo printf | código |
| Motorista em série | Enviar msgs Printk via Rs232 para ajudar a depurar | código |
| Dump do núcleo | Dump CPU Registros para fins de depuração | código |
| Syscall/sysret | método escolhido para pular para o toque 3 e voltar | código |
| POÇO | Timer de intervalo programável | código |
| Foto | Controlador de interrupção programável | código |
| (x) Atraso | Com base em tacos, já que estou usando o poço | código |
| CMOS RTC | Relógio em tempo real | código |
| Agendador | Agendador simples de Round-Robin | código |
As funções estão sendo adicionadas sob demanda: código
Mais por vir! Estrela/Assista a este repositório para ficar atento!
Para criar este aplicativo, espera -se que você tenha make e docker instalado em sua máquina. Todas as outras dependências do edifício devem ser atendidas automaticamente pela imagem do Docker criada durante esta etapa.
Para construí -lo, você tem que correr:
make build
Para executar este aplicativo, espera-se que você tenha make e qemu-system-x86_64 instalado em sua máquina.
make test
Para ter certeza de que não vou perder o foco no que quero que este sistema operacional seja capaz de fazer, decidi escrever uma lista de recursos que quero implementar no curto a médio prazo.
Coisas que seriam fantásticas, mas não tenho certeza se tenho o que é preciso para fazer durante a minha vida.
Essas são todas as referências que me ajudaram muito durante o desenvolvimento de Almeidaos
Fóruns:
Livros:
Oses existentes:
Cursos: