- Um guia prático sobre como desenvolver diretamente um sistema operacional x86
- Escrito para fornecer detalhes técnicos sem revelar informação demais por meio de exemplos de código ou amostras
- Não explica a teoria de sistemas operacionais nem como um sistema operacional específico funciona
- Os capítulos iniciais são explicados de forma detalhada e concreta para ajudar o leitor a se acostumar rapidamente a escrever código
- Os capítulos finais descrevem de forma geral os conceitos e requisitos, incentivando o leitor a realizar a implementação e o design por conta própria
- Se for necessário estudar teoria de sistemas operacionais, recomenda-se Modern Operating Systems de Andrew Tanenbaum
Conteúdo principal dos capítulos
- Capítulos iniciais
- Capítulos 2–3: configuração do ambiente de desenvolvimento e boot do kernel do SO em uma máquina virtual → início da escrita de código em C
- Capítulo 4: saída na tela e saída pela porta serial
- Capítulo 5: segmentação
- Capítulo 6: interrupções e tratamento de entrada
- Etapas após o desenvolvimento de um kernel funcional
- Capítulo 7: preparação para suporte a aplicações em modo usuário
- Capítulos 8–9: configuração de memória virtual com paginação
- Capítulo 10: alocação de memória
- Capítulo 11: execução de aplicações de usuário
- Tópicos avançados
- Capítulo 12: sistema de arquivos
- Capítulo 13: chamadas de sistema
- Capítulo 14: multitarefa
Contexto do livro e processo de desenvolvimento
- Este livro e o kernel do SO foram desenvolvidos por meio de um curso avançado individual do Royal Institute of Technology, na Suécia
- Os autores já haviam cursado anteriormente uma disciplina de teoria de SO, mas tinham pouca experiência prática no desenvolvimento de kernels
- Eles criaram um novo curso e escreveram este livro para implementar a teoria na prática e aprofundar sua compreensão
- A arquitetura x86 foi, por muito tempo, a arquitetura de hardware mais amplamente usada, e há uma enorme quantidade de material de referência e emuladores disponíveis
- A documentação sobre os detalhes do hardware muitas vezes era complexa e difícil de entender
Forma de desenvolvimento
- Trabalho em tempo integral por cerca de 6 semanas
- Implementação em pequenas etapas e realização de testes manuais a cada etapa → mais facilidade para identificar a causa dos bugs
- A maior parte do código foi escrita com pair programming → expectativa de redução de bugs
Público-alvo
- Adequado para leitores com os seguintes conhecimentos prévios:
- familiaridade com UNIX/Linux e programação de sistemas
- familiaridade com a linguagem C
- entendimento de sistemas computacionais e notação hexadecimal, entre outros
- Iniciantes também podem usá-lo como ferramenta de estudo, mas o nível de dificuldade é alto
1 comentários
Comentários do Hacker News
Adoro
osdev. Não sei qual é o objetivo final, mas é muito legal poder criar o que você querMuita gente recomenda sua alternativa favorita, mas eu ainda sou um grande fã do Project Oberon
Este livro tem a falha clássica dos tutoriais de
osdevosdevosdevMeu livro favorito sobre SO é Operating Systems: Three Easy Pieces
Obrigado! Isso parece um ótimo material sobre o tema
Este comentário traz uma nostalgia dos anos 2000
O livro é bom. Vale a pena olhar as issues no GitHub
Eu queria que dois livros japoneses sobre desenvolvimento de sistemas operacionais fossem traduzidos para o inglês
Fico me perguntando onde está o manual do pequeno livro vermelho de SO
Já que estamos falando de desenvolvimento de SO, jogos tornam o aprendizado divertido