Uma coisa que eu sempre quis fazer é desenvolver meu próprio sistema operacional (não necessariamente sofisticado como Linux ou Windows, mas melhor do que um simples carregador de inicialização que eu já fiz).
Estou com dificuldade para encontrar recursos / guias que levam você a escrever um SO simples "Hello World".
Eu sei que muitas pessoas provavelmente recomendam que eu olhe para Linux ou BSD; mas a base de código para sistemas como esse é (presumivelmente) tão grande que eu não sabia por onde começar.
Alguma sugestão?
Atualização: para facilitar as pessoas que acessam esta postagem pelo Google, aqui estão alguns recursos de desenvolvimento de SO:
Escrevendo seu próprio sistema operacional (obrigado Adam)
Linux do zero (obrigado John)
SharpOS (Sistema operacional C #) (Obrigado lomaxx)
OS Dev Wiki e fóruns (Obrigado Steve)
BonaFide (Obrigado Steve)
Bran (Obrigado Steve)
Role seu próprio sistema operacional de clones UNIX de brinquedo (Obrigado Steve)
Série de desenvolvimento de sistema operacional Broken Thorn
Outros recursos:
Encontrei um recurso interessante chamado MikeOS : "O MikeOS é uma ferramenta de aprendizado para demonstrar como sistemas operacionais simples funcionam. Ele usa o modo real de 16 bits para acesso ao BIOS, para que não precise de drivers complexos".
Atualizado 14/11/08
Encontrei alguns recursos no Freebyte's Guide to ... Sistemas operacionais gratuitos e não gratuitos vinculados a kits como a biblioteca OSKit e ExOS. Eles parecem super úteis para iniciar o desenvolvimento do sistema operacional.
Atualizado 2/23/09
Ric Tokyo recomendou nanoos nesta questão . Nanoos é um sistema operacional escrito em C ++.
Atualizado 9/9/09
Dinah forneceu algumas discussões úteis sobre o Stack Overflow de aspirantes a desenvolvedores de sistemas operacionais: Os obstáculos na criação de um sistema operacional personalizado discutem quais armadilhas você pode encontrar ao desenvolver um sistema operacional e o desenvolvimento de sistemas operacionais é uma discussão mais geral.
Atualizado 9/9/09
O LB forneceu um link para o Projeto Pintos , um sistema operacional educacional projetado para os alunos que aprendem o desenvolvimento do sistema operacional.
Atualizado em 27/07/09 (Continua forte!)
Encontrei um curso on - line de Berkley com 23 palestras.
O TomOS é um fork do MikeOS que inclui um pouco de gerenciador de memória e suporte a mouse. Como MikeOS, ele é projetado para ser um projeto educacional. Está escrito no montador NASM.
Atualizado 4/8/09
Encontrei os slides e outros materiais para acompanhar as palestras on-line de Berkeley listadas acima.
Atualizado 23/8/09
Todas as perguntas com tag osdev no stackoverflow
OS / 161 é um SO acadêmico escrito em c que é executado em um hardware simulado. Este sistema operacional é semelhante no Nachos. Obrigado Novelocrat!
A tangurena recomenda o http://en.wikipedia.org/wiki/MicroC/OS-II , um sistema operacional projetado para sistemas embarcados. Há um livro complementar também.
O desenvolvimento do kernel do Linux, por Robert Love, é sugerido por Anders. É uma "visão privilegiada de um especialista no kernel do Linux".
Atualizado 18/9/2009
Obrigado Tim S. Van Haren por nos falar sobre o Cosmos , um sistema operacional escrito inteiramente em c #.
tgiphil nos fala sobre a Estrutura da Aliança do Sistema Operacional Gerenciado (MOSA) , "um conjunto de ferramentas, especificações e código fonte para promover o desenvolvimento de sistemas operacionais gerenciados com base no Common Intermediate Language".
Atualização 24/9/2009
Steve encontrou alguns recursos para desenvolvimento no Windows usando o Visual Studio, confira a configuração do guia BrokenThorn com o VS 2005 ou a seção VS do OSDev .
Atualizado 5/9/2012
O kerneltrap.org não está mais disponível. O kernel do linux v0.01 está disponível em kernel.org
Atualizado em 21/12/2012 Um tutorial básico de desenvolvimento de sistema operacional projetado para ser o projeto de um semestre. Ele o orienta na criação de um sistema operacional com componentes básicos. Muito bom começo para iniciantes. Relacionados papel . Obrigado Srujan!
Atualizado 15/11/2013
Escrevendo um sistema operacional simples do zero . Obrigado James Moore!
Atualizado 12/8/2013
Como criar um sistema operacional de computador Obrigado ddtoni!
Atualizado 18/3/2014
ToAruOS um sistema operacional construído principalmente do zero, incluindo GUI
Atualizado 12 de setembro de 2016
Escrevendo seu próprio sistema operacional Toy
Atualizado 10 de dezembro de 2016
Escrevendo um sistema operacional simples - do zero (obrigado @Tyler C)