Todo conteúdo aqui muito bom, e acho que vai gostar da Wiki de OS Dev. Não a use como um provedor de receita de bolo. Se tem uma coisa que não dá para fazer assim é sistema operacional. E mesmo que fizesse, pra que?
Ainda:
- https://www.reddit.com/r/osdev/
- http://www.cs.cornell.edu/courses/cs4410/2017sp/
- https://people.eecs.berkeley.edu/~kubitron/courses/cs162-F08/
- http://www.scs.stanford.edu/17wi-cs140/
- http://web.stanford.edu/~ouster/cgi-bin/cs140-spring14/lectures.php
- https://ocw.mit.edu/courses/6-828-operating-system-engineering-fall-2012/
- https://pages.cs.wisc.edu/~remzi/OSTEP/
- https://cs162.org/
- http://www.jamesmolloy.co.uk/tutorial_html/
- http://littleosbook.github.io/
- http://www.osdever.net/bkerndev/Docs/intro.htm
- http://www.brokenthorn.com/Resources/OSDevIndex.html
- https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System
- http://www.independent-software.com/operating-system-development.html/
- https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf
- https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720
- https://www.amazon.com/dp/0672327201
- https://web.archive.org/web/20120506110242/http://osix.net/modules/article/?id=359
- http://www.scs.stanford.edu/07au-cs140/pintos/pintos.html
- https://www.berlios.de/software/mikeos/
- https://tomos.sourceforge.net/
- https://github.com/klange/toaruos
- https://www.mosa-project.org/
- https://www.gocosmos.org/
- https://github.com/stephenfewer/NoNameOS
- https://stackoverflow.com/questions/tagged/osdev
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Acho que o principal conselho está na página "Beginner Mistakes":
No one who isn't already a seasoned developer with years of experience in several languages and environments should even be considering OS Dev yet. A decade of programming, including a few years of low-level coding in assembly language and/or a systems language such as C, is pretty much the minimum necessary to even understand the topic well enough to work in it.
Em tradução livre:
Qualquer um que não seja um desenvolvedor com anos de experiência em várias linguagens e ambientes não deve ser considerado um desenvolvedor de Sistemas Operacionais. Uma década de programação, incluindo alguns anos escrevendo código de baixo nível em Assembly e/ou uma linguagem de sistemas como C, é o mínimo necessário para começar a entender do assunto o suficiente para trabalhar nele.
Pois é, isso é o pré-requisito básico. Depois ainda tem essa "pequena" lista de coisas (sendo que cada item é um mundo à parte). Como pode ver, não é uma tarefa simples.
desenvolvimento de sistemas operacionais é realmente complexo, então quanto mais informações de referência melhor.
Alem disso posso citar: jubalh/awersome-os dreamos82/Osdev-Notes
Alem do livro do minix